From e3e6f1f29d8fd3c86add671ab6197ec650d594df Mon Sep 17 00:00:00 2001 From: Claude Workbench Date: Fri, 13 Feb 2026 18:18:20 +0800 Subject: [PATCH] first commit --- .idea/vcs.xml | 4 +- .../file-transfer-service/requirements.md | 86 + 1818ai.sql | 1139 ++ ADMIN_AI_POINTS_API_GUIDE.md | 587 - AI_API_KEY_INTEGRATION_GUIDE.md | 353 - AI_MODEL_API_GUIDE.md | 437 - COS_POST_FORM_UPLOAD_FIXED.md | 312 + COS_POST_UPLOAD_GUIDE.md | 130 + COS_PRESIGNED_URL_UPLOAD_GUIDE.md | 356 + COS_SIGNATURE_DEBUG.md | 296 + DEPLOYMENT_CHECKLIST.md | 445 - FIX_V5_provider_type.sql | 20 - FIX_ai_task_type.sql | 25 - FIX_task_type_data.sql | 67 - IMPLEMENTATION_SUMMARY.md | 406 - MULTI_VENDOR_ADAPTER_DESIGN.md | 242 - OPTIMIZATION_COMPLETE_v2.2.0.md | 498 - POINTS_AND_MODELS_SUMMARY.md | 556 - POINTS_RECHARGE_GUIDE.md | 698 - POINTS_SYSTEM_DESIGN.md | 299 - POLLING_INTERVAL_OPTIMIZATION.md | 295 - PromotionLevelManager.java | 318 - ...tionLevelManager_Optimization_Example.java | 1 - QUICK_FIX.md | 68 - QUICK_REFERENCE.md | 164 - QUICK_START_POINTS_RECHARGE.md | 284 - RELEASE_NOTES_v2.2.0.md | 473 - RUNNINGHUB_CONCURRENCY_ANALYSIS.md | 580 - RUNNINGHUB_FINAL_SUMMARY.md | 400 - RUNNINGHUB_IMPLEMENTATION_TODO.md | 295 - RUNNINGHUB_INTEGRATION_COMPLETE.md | 391 - RUNNINGHUB_QUEUE_OPTIMIZATION.md | 575 - RUNNINGHUB_USAGE_GUIDE.md | 435 - SMS_VERIFICATION_GUIDE.md | 902 - SYSTEM_UPGRADE_SUMMARY_20251020.md | 391 - V10__add_plaza_feature.sql | 166 - V11__add_sora2pro_models.sql | 95 - V2__add_ai_task_and_points_schema.sql | 117 - V3__add_is_deleted_to_new_tables.sql | 22 - V4__add_image_fields_to_ai_task.sql | 21 - V4__add_image_fields_to_ai_task_FIXED.sql | 94 - V5_MIGRATION_FIX_GUIDE.md | 367 - V5__add_provider_support.sql | 82 - V5__add_provider_support_CORRECTED.sql | 89 - V6__add_points_recharge_system.sql | 174 - V7__add_task_type_to_points_config.sql | 157 - V8__add_suchuang_models.sql | 106 - V9__add_suchuang_image_models.sql | 128 - WECHAT_PAY_INTEGRATION.md | 480 - WebSocket任务通知接收示例.md | 789 - debug_points_config.sql | 38 - docs/admin-tool-config-api.md | 501 + docs/plaza-work-report-feature-summary.md | 195 + docs/sora2pro-integration-summary.md | 4 +- docs/tool-service-api.md | 234 + fix_wechat_menu_data.sql | 142 - logs/1818-user-server-error.2026-01-08.log | 958 + logs/1818-user-server-error.2026-01-13.log | 11281 +++++++++++ logs/1818-user-server-error.2026-01-30.log | 7849 ++++++++ logs/1818-user-server-error.log | 5015 +++++ logs/1818-user-server.2026-01-08.log | 1121 ++ logs/1818-user-server.2026-01-13.log | 15403 ++++++++++++++++ logs/1818-user-server.2026-01-30.log | 10822 +++++++++++ logs/1818-user-server.log | 6769 +++++++ pom.xml | 44 + src/main/java/com/dora/Application.java | 43 +- src/main/java/com/dora/config/CosConfig.java | 65 + .../java/com/dora/config/CosCorsSetter.java | 67 + .../dora/config/JwtAuthenticationFilter.java | 7 +- .../java/com/dora/config/SecurityConfig.java | 2 + .../controller/AdminPlazaAuditController.java | 4 +- .../AdminPlazaWorkReportController.java | 115 + .../controller/AdminToolConfigController.java | 226 + .../com/dora/controller/AiTaskController.java | 30 +- .../com/dora/controller/AuthController.java | 10 +- .../com/dora/controller/PlazaController.java | 8 +- .../controller/PlazaWorkReportController.java | 75 + .../com/dora/controller/ToolController.java | 262 + .../dora/controller/WorkflowController.java | 40 +- src/main/java/com/dora/dto/AdminUserDto.java | 6 + src/main/java/com/dora/dto/AiTaskDto.java | 4 + src/main/java/com/dora/dto/CreateTaskDto.java | 1 + .../java/com/dora/dto/PlazaWorkReportDto.java | 250 + .../java/com/dora/dto/TaskSubmitRequest.java | 3 + src/main/java/com/dora/dto/ToolDto.java | 253 + .../dora/dto/provider/ProviderTaskResult.java | 3 + .../dto/suchuang/SuChuangDetailResponse.java | 9 + src/main/java/com/dora/entity/AiTask.java | 1 + .../java/com/dora/entity/PlazaWorkReport.java | 97 + .../com/dora/entity/PlazaWorkReportLimit.java | 59 + src/main/java/com/dora/entity/ToolConfig.java | 76 + .../com/dora/entity/ToolUsageDailyStats.java | 72 + .../java/com/dora/entity/ToolUsageLog.java | 86 + .../exception/GlobalExceptionHandler.java | 35 + .../java/com/dora/mapper/PlazaWorkMapper.java | 4 + .../mapper/PlazaWorkReportLimitMapper.java | 55 + .../dora/mapper/PlazaWorkReportMapper.java | 108 + .../com/dora/mapper/ToolConfigMapper.java | 98 + .../mapper/ToolUsageDailyStatsMapper.java | 122 + .../com/dora/mapper/ToolUsageLogMapper.java | 118 + src/main/java/com/dora/mapper/UserMapper.java | 16 +- .../scheduler/RunningHubPollingScheduler.java | 6 +- .../scheduler/SuChuangPollingScheduler.java | 18 +- .../scheduler/ToolUsageStatsScheduler.java | 52 + .../dora/service/AdminToolConfigService.java | 136 + .../com/dora/service/AsyncTaskExecutor.java | 18 +- .../dora/service/OssPostSignatureService.java | 245 +- .../java/com/dora/service/OssService.java | 41 +- .../dora/service/PlazaWorkReportService.java | 57 + .../service/ResultFileTransferService.java | 142 +- .../java/com/dora/service/ToolService.java | 57 + .../service/impl/AdminOssServiceImpl.java | 194 +- .../impl/AdminToolConfigServiceImpl.java | 295 + .../service/impl/AdminUserServiceImpl.java | 6 +- .../dora/service/impl/AiTaskServiceImpl.java | 5 + .../impl/PlazaWorkReportServiceImpl.java | 363 + .../impl/PointsRechargeServiceImpl.java | 2 +- .../dora/service/impl/ToolServiceImpl.java | 254 + .../dora/service/impl/UserServiceImpl.java | 50 +- .../provider/impl/SuChuangProviderImpl.java | 195 +- src/main/resources/application.yml | 48 +- src/main/resources/logback-spring.xml | 65 + src/main/resources/mapper/AiTaskMapper.xml | 2 + src/main/resources/mapper/UserMapper.xml | 35 +- src/main/resources/schema.sql | 1609 +- src/main/resources/sql/tool_tables.sql | 97 + src/main/resources/sql/tool_tables_alter.sql | 5 + .../resources/wechat_management_schema.sql | 135 - 广场作品TaskId查询功能说明.md | 722 - 广场作品排序推荐算法说明.md | 247 - 广场功能实施清单.md | 299 - 广场功能实现方案.md | 684 - 广场审核与排序优化完成总结.md | 417 - 广场审核功能说明.md | 389 - 注册积分奖励功能说明.md | 299 - 速创生图接口调用示例.md | 590 - 136 files changed, 68018 insertions(+), 17982 deletions(-) create mode 100644 .kiro/specs/file-transfer-service/requirements.md create mode 100644 1818ai.sql delete mode 100644 ADMIN_AI_POINTS_API_GUIDE.md delete mode 100644 AI_API_KEY_INTEGRATION_GUIDE.md delete mode 100644 AI_MODEL_API_GUIDE.md create mode 100644 COS_POST_FORM_UPLOAD_FIXED.md create mode 100644 COS_POST_UPLOAD_GUIDE.md create mode 100644 COS_PRESIGNED_URL_UPLOAD_GUIDE.md create mode 100644 COS_SIGNATURE_DEBUG.md delete mode 100644 DEPLOYMENT_CHECKLIST.md delete mode 100644 FIX_V5_provider_type.sql delete mode 100644 FIX_ai_task_type.sql delete mode 100644 FIX_task_type_data.sql delete mode 100644 IMPLEMENTATION_SUMMARY.md delete mode 100644 MULTI_VENDOR_ADAPTER_DESIGN.md delete mode 100644 OPTIMIZATION_COMPLETE_v2.2.0.md delete mode 100644 POINTS_AND_MODELS_SUMMARY.md delete mode 100644 POINTS_RECHARGE_GUIDE.md delete mode 100644 POINTS_SYSTEM_DESIGN.md delete mode 100644 POLLING_INTERVAL_OPTIMIZATION.md delete mode 100644 PromotionLevelManager.java delete mode 100644 PromotionLevelManager_Optimization_Example.java delete mode 100644 QUICK_FIX.md delete mode 100644 QUICK_REFERENCE.md delete mode 100644 QUICK_START_POINTS_RECHARGE.md delete mode 100644 RELEASE_NOTES_v2.2.0.md delete mode 100644 RUNNINGHUB_CONCURRENCY_ANALYSIS.md delete mode 100644 RUNNINGHUB_FINAL_SUMMARY.md delete mode 100644 RUNNINGHUB_IMPLEMENTATION_TODO.md delete mode 100644 RUNNINGHUB_INTEGRATION_COMPLETE.md delete mode 100644 RUNNINGHUB_QUEUE_OPTIMIZATION.md delete mode 100644 RUNNINGHUB_USAGE_GUIDE.md delete mode 100644 SMS_VERIFICATION_GUIDE.md delete mode 100644 SYSTEM_UPGRADE_SUMMARY_20251020.md delete mode 100644 V10__add_plaza_feature.sql delete mode 100644 V11__add_sora2pro_models.sql delete mode 100644 V2__add_ai_task_and_points_schema.sql delete mode 100644 V3__add_is_deleted_to_new_tables.sql delete mode 100644 V4__add_image_fields_to_ai_task.sql delete mode 100644 V4__add_image_fields_to_ai_task_FIXED.sql delete mode 100644 V5_MIGRATION_FIX_GUIDE.md delete mode 100644 V5__add_provider_support.sql delete mode 100644 V5__add_provider_support_CORRECTED.sql delete mode 100644 V6__add_points_recharge_system.sql delete mode 100644 V7__add_task_type_to_points_config.sql delete mode 100644 V8__add_suchuang_models.sql delete mode 100644 V9__add_suchuang_image_models.sql delete mode 100644 WECHAT_PAY_INTEGRATION.md delete mode 100644 WebSocket任务通知接收示例.md delete mode 100644 debug_points_config.sql create mode 100644 docs/admin-tool-config-api.md create mode 100644 docs/plaza-work-report-feature-summary.md create mode 100644 docs/tool-service-api.md delete mode 100644 fix_wechat_menu_data.sql create mode 100644 logs/1818-user-server-error.2026-01-08.log create mode 100644 logs/1818-user-server-error.2026-01-13.log create mode 100644 logs/1818-user-server-error.2026-01-30.log create mode 100644 logs/1818-user-server-error.log create mode 100644 logs/1818-user-server.2026-01-08.log create mode 100644 logs/1818-user-server.2026-01-13.log create mode 100644 logs/1818-user-server.2026-01-30.log create mode 100644 logs/1818-user-server.log create mode 100644 src/main/java/com/dora/config/CosConfig.java create mode 100644 src/main/java/com/dora/config/CosCorsSetter.java create mode 100644 src/main/java/com/dora/controller/AdminPlazaWorkReportController.java create mode 100644 src/main/java/com/dora/controller/AdminToolConfigController.java create mode 100644 src/main/java/com/dora/controller/PlazaWorkReportController.java create mode 100644 src/main/java/com/dora/controller/ToolController.java create mode 100644 src/main/java/com/dora/dto/PlazaWorkReportDto.java create mode 100644 src/main/java/com/dora/dto/ToolDto.java create mode 100644 src/main/java/com/dora/entity/PlazaWorkReport.java create mode 100644 src/main/java/com/dora/entity/PlazaWorkReportLimit.java create mode 100644 src/main/java/com/dora/entity/ToolConfig.java create mode 100644 src/main/java/com/dora/entity/ToolUsageDailyStats.java create mode 100644 src/main/java/com/dora/entity/ToolUsageLog.java create mode 100644 src/main/java/com/dora/mapper/PlazaWorkReportLimitMapper.java create mode 100644 src/main/java/com/dora/mapper/PlazaWorkReportMapper.java create mode 100644 src/main/java/com/dora/mapper/ToolConfigMapper.java create mode 100644 src/main/java/com/dora/mapper/ToolUsageDailyStatsMapper.java create mode 100644 src/main/java/com/dora/mapper/ToolUsageLogMapper.java create mode 100644 src/main/java/com/dora/scheduler/ToolUsageStatsScheduler.java create mode 100644 src/main/java/com/dora/service/AdminToolConfigService.java create mode 100644 src/main/java/com/dora/service/PlazaWorkReportService.java create mode 100644 src/main/java/com/dora/service/ToolService.java create mode 100644 src/main/java/com/dora/service/impl/AdminToolConfigServiceImpl.java create mode 100644 src/main/java/com/dora/service/impl/PlazaWorkReportServiceImpl.java create mode 100644 src/main/java/com/dora/service/impl/ToolServiceImpl.java create mode 100644 src/main/resources/logback-spring.xml create mode 100644 src/main/resources/sql/tool_tables.sql create mode 100644 src/main/resources/sql/tool_tables_alter.sql delete mode 100644 src/main/resources/wechat_management_schema.sql delete mode 100644 广场作品TaskId查询功能说明.md delete mode 100644 广场作品排序推荐算法说明.md delete mode 100644 广场功能实施清单.md delete mode 100644 广场功能实现方案.md delete mode 100644 广场审核与排序优化完成总结.md delete mode 100644 广场审核功能说明.md delete mode 100644 注册积分奖励功能说明.md delete mode 100644 速创生图接口调用示例.md diff --git a/.idea/vcs.xml b/.idea/vcs.xml index d843f34..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,4 +1,6 @@ - + + + \ No newline at end of file diff --git a/.kiro/specs/file-transfer-service/requirements.md b/.kiro/specs/file-transfer-service/requirements.md new file mode 100644 index 0000000..66d3a91 --- /dev/null +++ b/.kiro/specs/file-transfer-service/requirements.md @@ -0,0 +1,86 @@ +# Requirements Document + +## Introduction + +文件转存服务是一个允许用户通过API Key认证上传文件到腾讯云COS的功能。该服务支持图片文件上传,文件保留15天后自动删除,每次上传固定扣除30积分。服务使用独立的COS存储桶(上海地域),并提供文件记录管理和查询功能。 + +## Glossary + +- **File_Transfer_Service**: 文件转存服务,负责处理文件上传、存储、查询和自动清理的核心服务 +- **Transfer_File**: 转存文件实体,记录上传文件的元数据信息 +- **COS_Client**: 腾讯云对象存储客户端,用于与COS存储桶交互 +- **API_Key_Auth**: API密钥认证机制,用于验证用户身份 +- **Points_Service**: 积分服务,用于扣除用户积分 +- **File_Cleanup_Scheduler**: 文件清理调度器,负责定时删除过期文件 + +## Requirements + +### Requirement 1: 文件上传 + +**User Story:** As a user, I want to upload image files to COS through API Key authentication, so that I can store files temporarily for external access. + +#### Acceptance Criteria + +1. WHEN a user provides a valid API Key and uploads an image file, THE File_Transfer_Service SHALL authenticate the user and accept the file +2. WHEN a user uploads a file, THE File_Transfer_Service SHALL validate that the file type is an image (jpg, jpeg, png, gif, webp, bmp) +3. WHEN a user uploads an image file exceeding 20MB, THE File_Transfer_Service SHALL reject the upload and return an error message +4. WHEN a valid image file is uploaded, THE File_Transfer_Service SHALL store the file in COS bucket "apidatafile-1302947942" in region "ap-shanghai" +5. WHEN a file is successfully uploaded, THE File_Transfer_Service SHALL generate a unique file key with format "transfer/{userId}/{timestamp}_{uuid}.{extension}" +6. WHEN a file is successfully uploaded, THE File_Transfer_Service SHALL return the file access URL to the user + +### Requirement 2: 积分扣除 + +**User Story:** As a system administrator, I want to charge users 30 points per file upload, so that the service usage is properly metered. + +#### Acceptance Criteria + +1. WHEN a user initiates a file upload, THE Points_Service SHALL verify the user has at least 30 points before processing +2. IF a user has insufficient points, THEN THE File_Transfer_Service SHALL reject the upload and return an insufficient points error +3. WHEN a file is successfully uploaded to COS, THE Points_Service SHALL deduct 30 points from the user's balance +4. WHEN points are deducted, THE Points_Service SHALL create a consumption log with type "file_transfer" and description containing the file name + +### Requirement 3: 文件记录管理 + +**User Story:** As a user, I want my uploaded files to be recorded in the database, so that I can track and query my file history. + +#### Acceptance Criteria + +1. WHEN a file is successfully uploaded, THE File_Transfer_Service SHALL create a Transfer_File record in the database +2. THE Transfer_File record SHALL contain: id, user_id, file_key, original_filename, file_size, content_type, cos_url, expire_time, status, create_time, update_time +3. THE Transfer_File record SHALL set expire_time to 15 days from upload time +4. THE Transfer_File record SHALL set initial status to "active" + +### Requirement 4: 文件查询 + +**User Story:** As a user, I want to query my uploaded files, so that I can view my file history and access URLs. + +#### Acceptance Criteria + +1. WHEN a user requests their file list with valid API Key, THE File_Transfer_Service SHALL return paginated list of their Transfer_File records +2. WHEN querying files, THE File_Transfer_Service SHALL support filtering by status (active, expired, deleted) +3. WHEN returning file list, THE File_Transfer_Service SHALL include file_key, original_filename, file_size, content_type, cos_url, expire_time, status, create_time +4. WHEN a file has expired, THE File_Transfer_Service SHALL mark its status as "expired" in query results + +### Requirement 5: 文件自动清理 + +**User Story:** As a system administrator, I want expired files to be automatically deleted from COS, so that storage costs are minimized and data retention policies are enforced. + +#### Acceptance Criteria + +1. THE File_Cleanup_Scheduler SHALL run periodically (every hour) to check for expired files +2. WHEN a Transfer_File record has expire_time before current time and status is "active", THE File_Cleanup_Scheduler SHALL delete the file from COS +3. WHEN a file is successfully deleted from COS, THE File_Cleanup_Scheduler SHALL update the Transfer_File status to "deleted" +4. IF file deletion from COS fails, THEN THE File_Cleanup_Scheduler SHALL log the error and retry in the next scheduled run +5. THE File_Cleanup_Scheduler SHALL process files in batches to avoid overwhelming the COS API + +### Requirement 6: 错误处理 + +**User Story:** As a user, I want clear error messages when file upload fails, so that I can understand and resolve issues. + +#### Acceptance Criteria + +1. IF API Key authentication fails, THEN THE File_Transfer_Service SHALL return HTTP 401 with message "Invalid or inactive API Key" +2. IF file type is not supported, THEN THE File_Transfer_Service SHALL return HTTP 400 with message "Unsupported file type. Allowed types: jpg, jpeg, png, gif, webp, bmp" +3. IF file size exceeds 20MB, THEN THE File_Transfer_Service SHALL return HTTP 400 with message "File size exceeds maximum limit of 20MB" +4. IF points are insufficient, THEN THE File_Transfer_Service SHALL return HTTP 400 with message "Insufficient points. Required: 30 points" +5. IF COS upload fails, THEN THE File_Transfer_Service SHALL return HTTP 500 with message "File upload failed, please try again" diff --git a/1818ai.sql b/1818ai.sql new file mode 100644 index 0000000..058807d --- /dev/null +++ b/1818ai.sql @@ -0,0 +1,1139 @@ +/* + Navicat Premium Dump SQL + + Source Server : 116.62.4.26 + Source Server Type : MySQL + Source Server Version : 50740 (5.7.40-log) + Source Host : 116.62.4.26:3306 + Source Schema : 1818ai + + Target Server Type : MySQL + Target Server Version : 50740 (5.7.40-log) + File Encoding : 65001 + + Date: 06/12/2025 15:20:26 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for admin_user +-- ---------------------------- +DROP TABLE IF EXISTS `admin_user`; +CREATE TABLE `admin_user` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '管理员用户名', + `password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '哈希后的密码', + `role` tinyint(4) NOT NULL COMMENT '角色(0工作人员/1管理员)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `username`(`username`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ai_task +-- ---------------------------- +DROP TABLE IF EXISTS `ai_task`; +CREATE TABLE `ai_task` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `task_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务编号 (系统生成的唯一ID)', + `user_id` bigint(20) NOT NULL COMMENT '关联的用户ID', + `model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求的模型名称 (如: sora_image)', + `task_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务类型 (image/video)', + `provider_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AI服务提供商类型', + `provider_task_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务商返回的任务ID', + `provider_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '服务商原始响应(JSON)', + `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户提交的提示词', + `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参考图片URL(用于图生视频)', + `image_base64` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参考图片Base64编码(用于图生视频)', + `input_images` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输入图片列表(JSON格式,用于图生视频)', + `aspect_ratio` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片比例(如: 2:3, 3:2, 1:1,仅图片生成使用)', + `duration` int(11) NULL DEFAULT NULL COMMENT '视频时长(秒,仅视频生成使用)', + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'created' COMMENT '任务状态 (created, queued, processing, completed, failed, cancelled)', + `progress` int(11) NULL DEFAULT 0 COMMENT '生成进度百分比 (0-100)', + `progress_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '当前进度文本描述', + `points_frozen` int(11) NOT NULL COMMENT '本次任务冻结的积分', + `points_consumed` int(11) NULL DEFAULT 0 COMMENT '任务成功后实际消耗的积分', + `result_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成结果的URL', + `error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '任务失败时的错误信息', + `queue_time` datetime NULL DEFAULT NULL COMMENT '进入队列的时间', + `start_time` datetime NULL DEFAULT NULL COMMENT '开始处理的时间', + `complete_time` datetime NULL DEFAULT NULL COMMENT '任务完成或失败的时间', + `expire_time` datetime NULL DEFAULT NULL COMMENT '结果URL的过期时间 (根据第三方API策略设定)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + `provider_pid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务商返回的PID,用于速创Sora2的续作ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `task_no`(`task_no`) USING BTREE, + UNIQUE INDEX `uk_task_no`(`task_no`) USING BTREE, + INDEX `idx_user_status`(`user_id`, `status`) USING BTREE, + INDEX `idx_status_time`(`status`, `create_time`) USING BTREE, + INDEX `idx_provider_task_id`(`provider_task_id`) USING BTREE, + INDEX `idx_provider_type_status`(`provider_type`, `status`) USING BTREE, + INDEX `idx_task_type`(`task_type`) USING BTREE, + CONSTRAINT `ai_task_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1876 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'AI生成任务表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for api_key +-- ---------------------------- +DROP TABLE IF EXISTS `api_key`; +CREATE TABLE `api_key` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `key_value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'API密钥值', + `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `last_used_at` datetime NULL DEFAULT NULL COMMENT '最后使用时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `key_value`(`key_value`) USING BTREE, + UNIQUE INDEX `uk_api_key_user`(`user_id`) USING BTREE, + INDEX `idx_api_key_value`(`key_value`) USING BTREE, + INDEX `idx_api_key_active`(`is_active`) USING BTREE, + CONSTRAINT `api_key_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for banner +-- ---------------------------- +DROP TABLE IF EXISTS `banner`; +CREATE TABLE `banner` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `image` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '图片URL', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `button_text` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '按钮文字', + `link_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'internal' COMMENT '链接类型 (internal: 内部路由跳转, external: 外部链接跳转)', + `link` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '跳转链接', + `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序字段', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0禁用/1启用)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_banner_enabled`(`is_enabled`) USING BTREE, + INDEX `idx_banner_sort`(`sort_order`) USING BTREE, + INDEX `idx_banner_create_time`(`create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for category +-- ---------------------------- +DROP TABLE IF EXISTS `category`; +CREATE TABLE `category` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类目名称', + `type` tinyint(4) NOT NULL COMMENT '类目类型(1课程分类/2工作流分类)', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类目描述', + `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序字段', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0禁用/1启用)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_category_name_type`(`name`, `type`) USING BTREE, + INDEX `idx_category_type`(`type`) USING BTREE, + INDEX `idx_category_enabled`(`is_enabled`) USING BTREE, + INDEX `idx_category_sort`(`sort_order`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '类目表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for content_revenue +-- ---------------------------- +DROP TABLE IF EXISTS `content_revenue`; +CREATE TABLE `content_revenue` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '内容创作者ID', + `content_type` tinyint(4) NOT NULL COMMENT '内容类型 (1工作流/2视频)', + `content_id` bigint(20) NOT NULL COMMENT '内容ID', + `revenue_source` tinyint(4) NOT NULL COMMENT '收益来源 (1购买/2复制/3观看)', + `source_value` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '来源基础价值', + `quantity` int(11) NOT NULL DEFAULT 0 COMMENT '数量', + `commission_rate` decimal(5, 4) NOT NULL DEFAULT 0.0000 COMMENT '分成比例', + `revenue_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '创作者实际收益金额', + `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '收益状态 (0待结算/1已结算)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收益产生时间', + `settled_at` datetime NULL DEFAULT NULL COMMENT '结算时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE, + INDEX `idx_content`(`content_type`, `content_id`) USING BTREE, + INDEX `idx_create_time`(`create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for content_revenue_stage +-- ---------------------------- +DROP TABLE IF EXISTS `content_revenue_stage`; +CREATE TABLE `content_revenue_stage` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `content_type` tinyint(4) NOT NULL COMMENT '内容类型 (1工作流/2视频)', + `content_id` bigint(20) NOT NULL COMMENT '内容ID', + `user_id` bigint(20) NOT NULL COMMENT '创作者ID', + `stage_level` int(11) NOT NULL COMMENT '阶段等级 (1,2,3...)', + `stage_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '阶段名称', + `target_count` int(11) NOT NULL COMMENT '目标数量 (复制次数/观看次数)', + `reward_amount` decimal(10, 2) NOT NULL COMMENT '奖励金额', + `current_count` int(11) NOT NULL DEFAULT 0 COMMENT '当前数量', + `is_achieved` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已达到 (0未达到/1已达到)', + `achieved_at` datetime NULL DEFAULT NULL COMMENT '达到时间', + `is_withdrawn` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已提现 (0未提现/1已提现)', + `withdrawn_at` datetime NULL DEFAULT NULL COMMENT '提现时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_content_stage`(`content_type`, `content_id`, `stage_level`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE, + INDEX `idx_content`(`content_type`, `content_id`) USING BTREE, + INDEX `idx_achieved`(`is_achieved`) USING BTREE, + INDEX `idx_withdrawn`(`is_withdrawn`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for course +-- ---------------------------- +DROP TABLE IF EXISTS `course`; +CREATE TABLE `course` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '课程标题', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '课程的富文本描述', + `cover_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图URL', + `detail_gallery` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '详情图集(JSON格式存储多张图片URL)', + `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '价格', + `level` tinyint(4) NOT NULL DEFAULT 0 COMMENT '访问课程所需的最低用户级别', + `audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1通过/2拒绝)', + `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '课程分类', + `category_id` bigint(20) NULL DEFAULT NULL COMMENT '关联类目ID', + `reject_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', + `review_time` datetime NULL DEFAULT NULL COMMENT '审核时间', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `is_free` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否免费(0收费/1免费)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_course_category_id`(`category_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 37 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for course_chapter +-- ---------------------------- +DROP TABLE IF EXISTS `course_chapter`; +CREATE TABLE `course_chapter` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `course_id` bigint(20) NOT NULL COMMENT '所属课程ID', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '章节标题', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '章节描述', + `order_num` int(11) NOT NULL DEFAULT 0 COMMENT '章节排序编号', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for course_favorite +-- ---------------------------- +DROP TABLE IF EXISTS `course_favorite`; +CREATE TABLE `course_favorite` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '收藏用户ID', + `course_id` bigint(20) NOT NULL COMMENT '被收藏的课程ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_user_course_favorite`(`user_id`, `course_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for course_like +-- ---------------------------- +DROP TABLE IF EXISTS `course_like`; +CREATE TABLE `course_like` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '点赞用户ID', + `course_id` bigint(20) NOT NULL COMMENT '被点赞的课程ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_user_course_like`(`user_id`, `course_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for course_video +-- ---------------------------- +DROP TABLE IF EXISTS `course_video`; +CREATE TABLE `course_video` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `chapter_id` bigint(20) NOT NULL COMMENT '所属章节ID', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视频标题', + `video_id` bigint(20) NULL DEFAULT NULL COMMENT '阿里云视频点播ID', + `duration_sec` int(11) NULL DEFAULT 0 COMMENT '视频时长(秒)', + `order_num` int(11) NOT NULL DEFAULT 0 COMMENT '视频在章节内的排序编号', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for fan_promotion_commission +-- ---------------------------- +DROP TABLE IF EXISTS `fan_promotion_commission`; +CREATE TABLE `fan_promotion_commission` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `promoter_id` bigint(20) NOT NULL COMMENT '推广人ID', + `fan_id` bigint(20) NOT NULL COMMENT '粉丝用户ID', + `order_id` bigint(20) NOT NULL COMMENT '关联的订单ID', + `order_amount` decimal(10, 2) NOT NULL COMMENT '粉丝订单金额', + `commission_rate` decimal(5, 4) NOT NULL COMMENT '提成比例', + `commission_level` tinyint(4) NOT NULL COMMENT '提成发生时推广人的等级', + `commission_amount` decimal(10, 2) NOT NULL COMMENT '推广人实际提成金额', + `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '提成状态 (0待结算/1已结算)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '提成产生时间', + `settled_at` datetime NULL DEFAULT NULL COMMENT '结算时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_promoter_fan`(`promoter_id`, `fan_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for gift_code +-- ---------------------------- +DROP TABLE IF EXISTS `gift_code`; +CREATE TABLE `gift_code` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '礼品码,唯一', + `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '礼品码名称', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '礼品码描述', + `type` tinyint(4) NOT NULL COMMENT '礼品码类型 (1-积分卡/2-会员卡)', + `points` int(11) NULL DEFAULT NULL COMMENT '积分数量(积分卡类型)', + `points_expire_days` int(11) NULL DEFAULT NULL COMMENT '积分有效期天数(积分卡类型)', + `target_role` tinyint(4) NULL DEFAULT NULL COMMENT '目标角色等级(会员卡类型)', + `duration_days` int(11) NULL DEFAULT NULL COMMENT '会员有效期天数(会员卡类型)', + `total_count` int(11) NOT NULL DEFAULT 1 COMMENT '总可用次数', + `used_count` int(11) NOT NULL DEFAULT 0 COMMENT '已使用次数', + `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `expire_time` datetime NULL DEFAULT NULL COMMENT '礼品码过期时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `code`(`code`) USING BTREE, + INDEX `idx_gift_code_code`(`code`) USING BTREE, + INDEX `idx_gift_code_type`(`type`) USING BTREE, + INDEX `idx_gift_code_active`(`is_active`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for gift_code_usage +-- ---------------------------- +DROP TABLE IF EXISTS `gift_code_usage`; +CREATE TABLE `gift_code_usage` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `gift_code_id` bigint(20) NOT NULL COMMENT '礼品码ID', + `user_id` bigint(20) NOT NULL COMMENT '使用用户ID', + `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '使用的礼品码', + `type` tinyint(4) NOT NULL COMMENT '礼品码类型 (1-积分卡/2-会员卡)', + `points` int(11) NULL DEFAULT NULL COMMENT '积分数量', + `points_expire_days` int(11) NULL DEFAULT NULL COMMENT '积分有效期天数', + `target_role` tinyint(4) NULL DEFAULT NULL COMMENT '目标角色等级', + `duration_days` int(11) NULL DEFAULT NULL COMMENT '会员有效期天数', + `old_role` tinyint(4) NULL DEFAULT NULL COMMENT '用户原角色', + `new_role` tinyint(4) NULL DEFAULT NULL COMMENT '用户新角色', + `old_points` int(11) NULL DEFAULT NULL COMMENT '用户原积分', + `new_points` int(11) NULL DEFAULT NULL COMMENT '用户新积分', + `old_points_expires_at` datetime NULL DEFAULT NULL COMMENT '用户原积分过期时间', + `new_points_expires_at` datetime NULL DEFAULT NULL COMMENT '用户新积分过期时间', + `old_expires_at` datetime NULL DEFAULT NULL COMMENT '用户原会员到期时间', + `new_expires_at` datetime NULL DEFAULT NULL COMMENT '用户新会员到期时间', + `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '使用状态 (1-成功/0-失败)', + `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '使用时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_gift_code_usage_user`(`user_id`) USING BTREE, + INDEX `idx_gift_code_usage_code`(`gift_code_id`) USING BTREE, + INDEX `idx_gift_code_usage_time`(`create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 83 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for membership_plan +-- ---------------------------- +DROP TABLE IF EXISTS `membership_plan`; +CREATE TABLE `membership_plan` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '套餐名称', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '套餐的详细描述', + `price` decimal(10, 2) NOT NULL COMMENT '价格', + `duration_days` int(11) NOT NULL COMMENT '有效期天数', + `target_role` tinyint(4) NOT NULL COMMENT '购买后达到的角色等级', + `discount_percentage` decimal(5, 2) NULL DEFAULT 0.00 COMMENT '优惠百分比率(0-100,如10.50表示10.5%的优惠)', + `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否上架', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for order +-- ---------------------------- +DROP TABLE IF EXISTS `order`; +CREATE TABLE `order` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '系统生成的唯一订单号', + `order_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '订单类型(1-会员订单/2-积分订单)', + `user_id` bigint(20) NOT NULL COMMENT '购买用户ID', + `plan_id` bigint(20) NULL DEFAULT NULL COMMENT '购买的套餐ID', + `points_package_id` bigint(20) NULL DEFAULT NULL COMMENT '积分套餐ID(积分订单)', + `points_amount` int(11) NULL DEFAULT NULL COMMENT '积分数量(积分订单)', + `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '套餐原价', + `amount` decimal(10, 2) NOT NULL COMMENT '订单最终金额(实际支付金额)', + `actual_duration_days` int(11) NULL DEFAULT NULL COMMENT '实际获得的会员天数', + `discount_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠类型 (NONE/CONTINUOUS_MONTHLY/CONTINUOUS_YEARLY/FIRST_PURCHASE/SPECIAL_OFFER)', + `discount_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠金额', + `discount_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠描述', + `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '订单状态 (0待支付/1已完成/2已取消/3支付失败)', + `payment_method` tinyint(4) NULL DEFAULT NULL COMMENT '支付方式 (1支付宝/2微信支付)', + `paid_at` datetime NULL DEFAULT NULL COMMENT '支付成功时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `order_no`(`order_no`) USING BTREE, + INDEX `idx_order_discount_type`(`discount_type`) USING BTREE, + INDEX `idx_order_user_id_status`(`user_id`, `status`) USING BTREE, + INDEX `idx_order_type`(`order_type`) USING BTREE, + INDEX `idx_order_points_package`(`points_package_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for payment_transaction +-- ---------------------------- +DROP TABLE IF EXISTS `payment_transaction`; +CREATE TABLE `payment_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关联的系统订单号', + `transaction_no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方支付平台返回的流水号', + `payment_gateway` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关', + `amount` decimal(10, 2) NOT NULL COMMENT '支付金额', + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方支付平台返回的状态', + `raw_data` json NULL COMMENT '第三方支付平台通知的完整原始数据', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for plaza_work +-- ---------------------------- +DROP TABLE IF EXISTS `plaza_work`; +CREATE TABLE `plaza_work` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `work_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '作品编号(唯一标识)', + `user_id` bigint(20) NOT NULL COMMENT '发布者用户ID', + `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关联的任务编号', + `task_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务类型:text_to_image/image_to_image/text_to_video/image_to_video等', + `model_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '使用的模型名称', + `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生成提示词', + `result_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '作品结果URL(图片或视频)', + `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '参考图URL(图生图/图生视频任务使用)', + `aspect_ratio` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '宽高比:1:1/2:3/3:2/9:16/16:9等', + `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '作品标题(可选)', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '作品描述(可选)', + `tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签(JSON数组字符串)', + `view_count` int(11) NULL DEFAULT 0 COMMENT '浏览次数', + `like_count` int(11) NULL DEFAULT 0 COMMENT '点赞数', + `share_count` int(11) NULL DEFAULT 0 COMMENT '分享数', + `comment_count` int(11) NULL DEFAULT 0 COMMENT '评论数(预留)', + `is_public` tinyint(1) NULL DEFAULT 1 COMMENT '是否公开:0-仅自己可见,1-公开', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'published' COMMENT '状态:draft-草稿,published-已发布,hidden-已隐藏', + `audit_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending' COMMENT '审核状态:pending-待审核, approved-已通过, rejected-已拒绝', + `audit_admin_id` bigint(20) NULL DEFAULT NULL COMMENT '审核管理员ID', + `audit_time` datetime NULL DEFAULT NULL COMMENT '审核时间', + `audit_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '审核备注(拒绝原因等)', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0-未删除,1-已删除', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_work_no`(`work_no`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE, + INDEX `idx_task_no`(`task_no`) USING BTREE, + INDEX `idx_task_type`(`task_type`) USING BTREE, + INDEX `idx_create_time`(`create_time`) USING BTREE, + INDEX `idx_like_count`(`like_count`) USING BTREE, + INDEX `idx_status_public`(`status`, `is_public`, `is_deleted`) USING BTREE, + INDEX `idx_type_like_time`(`task_type`, `like_count`, `create_time`) USING BTREE, + INDEX `idx_status_public_time`(`status`, `is_public`, `create_time`) USING BTREE, + INDEX `idx_audit_status`(`audit_status`) USING BTREE, + INDEX `idx_audit_time`(`audit_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 63 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for plaza_work_audit_log +-- ---------------------------- +DROP TABLE IF EXISTS `plaza_work_audit_log`; +CREATE TABLE `plaza_work_audit_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `work_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作品编号', + `work_id` bigint(20) NOT NULL COMMENT '作品ID', + `audit_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '审核结果:approved-通过, rejected-拒绝', + `audit_admin_id` bigint(20) NOT NULL COMMENT '审核管理员ID', + `audit_admin_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核管理员名称', + `audit_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '审核备注', + `audit_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_work_no`(`work_no`) USING BTREE, + INDEX `idx_work_id`(`work_id`) USING BTREE, + INDEX `idx_audit_admin_id`(`audit_admin_id`) USING BTREE, + INDEX `idx_audit_time`(`audit_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 68 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '广场作品审核记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for plaza_work_like +-- ---------------------------- +DROP TABLE IF EXISTS `plaza_work_like`; +CREATE TABLE `plaza_work_like` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `work_id` bigint(20) NOT NULL COMMENT '作品ID', + `user_id` bigint(20) NOT NULL COMMENT '点赞用户ID', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_work_user`(`work_id`, `user_id`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE, + INDEX `idx_create_time`(`create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 80 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品点赞表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for plaza_work_report +-- ---------------------------- +DROP TABLE IF EXISTS `plaza_work_report`; +CREATE TABLE `plaza_work_report` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `report_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '投诉编号(唯一标识)', + `work_id` bigint(20) NOT NULL COMMENT '被投诉的作品ID', + `work_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '被投诉的作品编号', + `reporter_id` bigint(20) NOT NULL COMMENT '投诉人用户ID', + `report_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '投诉类型:political-政治敏感,pornographic-色情低俗,violent-暴力血腥,dangerous-危险行为,uncomfortable-引人不适,other-其他', + `report_reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '投诉原因描述(可选)', + `report_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'pending' COMMENT '投诉状态:pending-待审核,approved-投诉成立,rejected-投诉不成立', + `audit_admin_id` bigint(20) NULL DEFAULT NULL COMMENT '审核管理员ID', + `audit_admin_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核管理员名称', + `audit_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '审核备注(处理说明)', + `audit_time` datetime NULL DEFAULT NULL COMMENT '审核时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '投诉时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0-未删除,1-已删除', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_report_no`(`report_no`) USING BTREE, + INDEX `idx_work_id`(`work_id`) USING BTREE, + INDEX `idx_work_no`(`work_no`) USING BTREE, + INDEX `idx_reporter_id`(`reporter_id`) USING BTREE, + INDEX `idx_report_type`(`report_type`) USING BTREE, + INDEX `idx_report_status`(`report_status`) USING BTREE, + INDEX `idx_audit_admin_id`(`audit_admin_id`) USING BTREE, + INDEX `idx_create_time`(`create_time`) USING BTREE, + INDEX `idx_work_reporter`(`work_id`, `reporter_id`, `is_deleted`) USING BTREE, + INDEX `idx_status_time`(`report_status`, `create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品投诉表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for plaza_work_report_limit +-- ---------------------------- +DROP TABLE IF EXISTS `plaza_work_report_limit`; +CREATE TABLE `plaza_work_report_limit` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `report_count` int(11) NULL DEFAULT 0 COMMENT '今日投诉次数', + `last_report_time` datetime NULL DEFAULT NULL COMMENT '最后投诉时间', + `reset_date` date NOT NULL COMMENT '重置日期(用于每日重置计数)', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_user_id`(`user_id`) USING BTREE, + INDEX `idx_reset_date`(`reset_date`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品投诉限制表(防止恶意投诉)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for plaza_work_view +-- ---------------------------- +DROP TABLE IF EXISTS `plaza_work_view`; +CREATE TABLE `plaza_work_view` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `work_id` bigint(20) NOT NULL COMMENT '作品ID', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '浏览用户ID(可为空,支持匿名浏览)', + `ip_address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'IP地址', + `user_agent` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户代理', + `view_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '浏览时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_work_id`(`work_id`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE, + INDEX `idx_view_time`(`view_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品浏览记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for points_config +-- ---------------------------- +DROP TABLE IF EXISTS `points_config`; +CREATE TABLE `points_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模型名称 (如: sora_image)', + `model_category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'text' COMMENT '模型类别:text(文本), image(图片), video(视频), audio(音频)', + `points_cost` int(11) NOT NULL COMMENT '调用一次消耗的积分', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型描述', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用 (0:禁用, 1:启用)', + `provider_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'openai' COMMENT 'AI服务提供商类型:openai, ', + `provider_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '服务商特定配置(JSON格式)', + `task_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类型:text_to_image(文生图)/image_to_image(图生图)/text_to_video(文生视频)/image_to_video(图生视频)/llm(大语言模型)/text_to_audio(文生音频)/image_to_text(图生文)/other(其他)', + `sort_order` int(11) NULL DEFAULT 0 COMMENT '排序顺序(用于前端展示)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `model_name`(`model_name`) USING BTREE, + INDEX `idx_points_config_task_type`(`task_type`) USING BTREE, + INDEX `idx_points_config_provider_task`(`provider_type`, `task_type`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 116 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积分消费配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for points_consumption_log +-- ---------------------------- +DROP TABLE IF EXISTS `points_consumption_log`; +CREATE TABLE `points_consumption_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '关联的用户ID', + `task_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联的AI任务编号', + `change_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '变动类型 (recharge:充值, consume:消费, refund:退款, expire:过期, admin_adjust:管理员调整)', + `change_amount` int(11) NOT NULL COMMENT '变动积分数量 (正数表示增加,负数表示减少)', + `balance_before` int(11) NOT NULL COMMENT '变动前积分余额', + `balance_after` int(11) NOT NULL COMMENT '变动后积分余额', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '变动描述', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_user_id_type`(`user_id`, `change_type`) USING BTREE, + CONSTRAINT `points_consumption_log_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 2534 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积分消费记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for points_package +-- ---------------------------- +DROP TABLE IF EXISTS `points_package`; +CREATE TABLE `points_package` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '套餐名称', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '套餐描述', + `points` int(11) NOT NULL COMMENT '基础积分数量', + `bonus_points` int(11) NOT NULL DEFAULT 0 COMMENT '赠送积分数量', + `total_points` int(11) NOT NULL COMMENT '总积分(基础+赠送)', + `price` decimal(10, 2) NOT NULL COMMENT '价格(元)', + `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '原价(用于显示优惠)', + `points_expire_days` int(11) NOT NULL DEFAULT 365 COMMENT '积分有效期(天)', + `discount_label` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠标签(如:首充特惠、限时优惠)', + `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序(数字越小越靠前)', + `is_hot` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否热门推荐', + `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否上架', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_points_package_active`(`is_active`) USING BTREE, + INDEX `idx_points_package_sort`(`sort_order`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积分套餐表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for promotion_level_config +-- ---------------------------- +DROP TABLE IF EXISTS `promotion_level_config`; +CREATE TABLE `promotion_level_config` ( + `id` tinyint(4) NOT NULL AUTO_INCREMENT COMMENT '等级ID', + `level_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '等级名称', + `min_paid_fans` int(11) NOT NULL COMMENT '达到该等级所需的最低付费粉丝数量', + `commission_rate` decimal(5, 4) NOT NULL COMMENT '该等级对应的基础提成比例', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for promotion_poster +-- ---------------------------- +DROP TABLE IF EXISTS `promotion_poster`; +CREATE TABLE `promotion_poster` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '海报标题', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '海报描述', + `image_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '海报图片URL', + `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序字段', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0禁用/1启用)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_promotion_poster_enabled`(`is_enabled`) USING BTREE, + INDEX `idx_promotion_poster_sort`(`sort_order`) USING BTREE, + INDEX `idx_promotion_poster_create_time`(`create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for revenue_config +-- ---------------------------- +DROP TABLE IF EXISTS `revenue_config`; +CREATE TABLE `revenue_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `config_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置键', + `config_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置类型(video/workflow/promotion)', + `target_count` int(11) NULL DEFAULT NULL COMMENT '目标次数(视频播放次数/工作流复制次数)', + `reward_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '奖励金额', + `level` int(11) NULL DEFAULT NULL COMMENT '推广等级', + `level_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推广等级名称', + `min_fans` int(11) NULL DEFAULT NULL COMMENT '最小粉丝数', + `commission_rate` decimal(5, 4) NULL DEFAULT NULL COMMENT '提成比例', + `config_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '配置值', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置说明', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_revenue_config_type`(`config_type`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for system_config +-- ---------------------------- +DROP TABLE IF EXISTS `system_config`; +CREATE TABLE `system_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `config_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置键 (如: ai.queue.max_concurrent)', + `config_value` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置值', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置说明', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `config_key`(`config_key`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for system_message +-- ---------------------------- +DROP TABLE IF EXISTS `system_message`; +CREATE TABLE `system_message` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '接收用户ID', + `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息标题', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容', + `is_read` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已读', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号,唯一(微信登录用户可为空)', + `wechat_openid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openid,用于微信登录', + `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名,唯一', + `real_username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实用户名', + `id_number` varchar(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号码', + `password_jwt` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JWT加密密码(微信登录用户可为空)', + `role` tinyint(4) NOT NULL DEFAULT 1 COMMENT '角色(0游客/1普通/2VIP/3SVIP)', + `membership_expires_at` datetime NULL DEFAULT NULL COMMENT '会员到期时间', + `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像URL', + `is_verified` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否实名认证 (0-未认证, 1-已认证)', + `invite_code` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推广码', + `inviter_id` bigint(20) NULL DEFAULT NULL COMMENT '邀请人ID', + `promotion_level` tinyint(4) NOT NULL DEFAULT 0 COMMENT '推广等级', + `points` int(11) NOT NULL DEFAULT 0 COMMENT '积分余额', + `points_expires_at` datetime NULL DEFAULT NULL COMMENT '积分过期时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `username`(`username`) USING BTREE, + UNIQUE INDEX `phone`(`phone`) USING BTREE, + UNIQUE INDEX `invite_code`(`invite_code`) USING BTREE, + UNIQUE INDEX `uk_user_wechat_openid`(`wechat_openid`) USING BTREE, + INDEX `idx_user_wechat_openid`(`wechat_openid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 17650006271322432 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for user_balance +-- ---------------------------- +DROP TABLE IF EXISTS `user_balance`; +CREATE TABLE `user_balance` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `balance` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '当前余额', + `total_income` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '累计总收入', + `total_withdrawn` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '累计提现总额', + `frozen_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '冻结金额(提现中)', + `last_updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_user_balance`(`user_id`) USING BTREE, + INDEX `idx_user_balance_user_id`(`user_id`) USING BTREE, + INDEX `idx_user_balance_balance`(`balance`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 78 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for user_balance_log +-- ---------------------------- +DROP TABLE IF EXISTS `user_balance_log`; +CREATE TABLE `user_balance_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `change_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '变动类型(income/withdraw/freeze/unfreeze)', + `change_amount` decimal(10, 2) NOT NULL COMMENT '变动金额(正数为增加,负数为减少)', + `balance_before` decimal(10, 2) NOT NULL COMMENT '变动前余额', + `balance_after` decimal(10, 2) NOT NULL COMMENT '变动后余额', + `source_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源类型(promotion/workflow/video/withdraw)', + `source_id` bigint(20) NULL DEFAULT NULL COMMENT '来源ID(订单ID、提现ID等)', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '变动描述', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_user_balance_log_user_id`(`user_id`) USING BTREE, + INDEX `idx_user_balance_log_change_type`(`change_type`) USING BTREE, + INDEX `idx_user_balance_log_create_time`(`create_time`) USING BTREE, + INDEX `idx_user_balance_log_source`(`source_type`, `source_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 78 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for user_video_progress +-- ---------------------------- +DROP TABLE IF EXISTS `user_video_progress`; +CREATE TABLE `user_video_progress` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL, + `course_id` bigint(20) NOT NULL, + `chapter_id` bigint(20) NOT NULL, + `video_id` bigint(20) NOT NULL, + `progress_sec` int(11) NOT NULL DEFAULT 0 COMMENT '已观看秒数', + `progress_pct` float NOT NULL DEFAULT 0 COMMENT '进度百分比', + `last_watch_at` datetime NULL DEFAULT NULL COMMENT '最后观看时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for video +-- ---------------------------- +DROP TABLE IF EXISTS `video`; +CREATE TABLE `video` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视频标题', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '视频描述', + `owner_id` bigint(20) NOT NULL COMMENT '创建者ID', + `cover_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图片URL', + `vod_video_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阿里云VOD视频ID', + `duration` int(11) NULL DEFAULT NULL COMMENT '视频时长(秒)', + `view_count` int(11) NOT NULL DEFAULT 0 COMMENT '观看次数', + `like_count` int(11) NOT NULL DEFAULT 0 COMMENT '点赞数量', + `is_public` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否公开', + `audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1通过/2拒绝)', + `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频分类', + `reject_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', + `review_time` datetime NULL DEFAULT NULL COMMENT '审核时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_owner_id`(`owner_id`) USING BTREE, + INDEX `idx_category`(`category`) USING BTREE, + INDEX `idx_audit_status`(`audit_status`) USING BTREE, + INDEX `idx_vod_video_id`(`vod_video_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 144 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for video_view_stat +-- ---------------------------- +DROP TABLE IF EXISTS `video_view_stat`; +CREATE TABLE `video_view_stat` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `video_id` bigint(20) NOT NULL COMMENT '视频ID', + `owner_id` bigint(20) NOT NULL COMMENT '视频创建者ID', + `view_user_id` bigint(20) NOT NULL COMMENT '观看用户ID', + `view_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '观看时间', + `view_duration` int(11) NULL DEFAULT 0 COMMENT '观看时长(秒)', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_video_owner`(`owner_id`) USING BTREE, + INDEX `idx_video_id`(`video_id`) USING BTREE, + INDEX `idx_view_time`(`view_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 156 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wechat_keyword_reply +-- ---------------------------- +DROP TABLE IF EXISTS `wechat_keyword_reply`; +CREATE TABLE `wechat_keyword_reply` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '关键词回复ID', + `keyword` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关键词', + `match_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'exact' COMMENT '匹配类型:exact-精确匹配,fuzzy-模糊匹配,regex-正则匹配', + `template_id` bigint(20) NOT NULL COMMENT '关联的消息模板ID', + `is_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0-禁用,1-启用', + `priority` int(11) NULL DEFAULT 0 COMMENT '优先级,数字越大优先级越高', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_keyword`(`keyword`) USING BTREE, + INDEX `idx_match_type`(`match_type`) USING BTREE, + INDEX `idx_template_id`(`template_id`) USING BTREE, + INDEX `idx_enabled`(`is_enabled`) USING BTREE, + INDEX `idx_priority`(`priority`) USING BTREE, + CONSTRAINT `wechat_keyword_reply_ibfk_1` FOREIGN KEY (`template_id`) REFERENCES `wechat_message_template` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信关键词回复配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wechat_menu +-- ---------------------------- +DROP TABLE IF EXISTS `wechat_menu`; +CREATE TABLE `wechat_menu` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单', + `menu_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称,最多16个字符', + `menu_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单类型:click/view/miniprogram/scancode_push/scancode_waitmsg/pic_sysphoto/pic_photo_or_album/pic_weixin/location_select', + `menu_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单KEY值,click类型必须', + `menu_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网页链接,view类型必须', + `media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '媒体文件ID', + `appid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '小程序appid,miniprogram类型必须', + `pagepath` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '小程序页面路径,miniprogram类型必须', + `sort_order` int(11) NULL DEFAULT 0 COMMENT '排序顺序', + `is_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0-禁用,1-启用', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '菜单描述', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_parent_id`(`parent_id`) USING BTREE, + INDEX `idx_sort_order`(`sort_order`) USING BTREE, + INDEX `idx_menu_key`(`menu_key`) USING BTREE, + INDEX `idx_enabled`(`is_enabled`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信菜单配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wechat_menu_publish_history +-- ---------------------------- +DROP TABLE IF EXISTS `wechat_menu_publish_history`; +CREATE TABLE `wechat_menu_publish_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '发布历史ID', + `menu_config` json NOT NULL COMMENT '菜单配置JSON', + `publish_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发布状态:success/failed', + `error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误信息', + `publish_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间', + `operator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_publish_status`(`publish_status`) USING BTREE, + INDEX `idx_publish_time`(`publish_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信菜单发布历史表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wechat_message_template +-- ---------------------------- +DROP TABLE IF EXISTS `wechat_message_template`; +CREATE TABLE `wechat_message_template` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '模板ID', + `template_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板标识键', + `template_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板名称', + `template_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板类型:text/news/image/voice/video/music', + `trigger_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发类型:subscribe/unsubscribe/scan/click/view/keyword', + `trigger_value` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '触发值(如菜单key、关键词等)', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文本内容', + `media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '媒体文件ID', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题(图文消息用)', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '描述(图文消息用)', + `pic_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片链接', + `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '跳转链接', + `music_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '音乐链接', + `hq_music_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '高质量音乐链接', + `thumb_media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缩略图媒体ID', + `is_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0-禁用,1-启用', + `priority` int(11) NULL DEFAULT 0 COMMENT '优先级,数字越大优先级越高', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `template_key`(`template_key`) USING BTREE, + INDEX `idx_template_key`(`template_key`) USING BTREE, + INDEX `idx_trigger_type`(`trigger_type`) USING BTREE, + INDEX `idx_trigger_value`(`trigger_value`) USING BTREE, + INDEX `idx_enabled`(`is_enabled`) USING BTREE, + INDEX `idx_priority`(`priority`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wechat_news_article +-- ---------------------------- +DROP TABLE IF EXISTS `wechat_news_article`; +CREATE TABLE `wechat_news_article` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '文章ID', + `template_id` bigint(20) NOT NULL COMMENT '关联的消息模板ID', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章标题', + `author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '作者', + `digest` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '摘要', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文章内容', + `content_source_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原文链接', + `thumb_media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缩略图媒体ID', + `show_cover_pic` tinyint(4) NULL DEFAULT 0 COMMENT '是否显示封面:0-不显示,1-显示', + `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '点击跳转链接', + `thumb_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缩略图URL', + `need_open_comment` tinyint(4) NULL DEFAULT 0 COMMENT '是否打开评论:0-不打开,1-打开', + `only_fans_can_comment` tinyint(4) NULL DEFAULT 0 COMMENT '是否粉丝才可评论:0-所有人,1-仅粉丝', + `sort_order` int(11) NULL DEFAULT 0 COMMENT '排序顺序', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_template_id`(`template_id`) USING BTREE, + INDEX `idx_sort_order`(`sort_order`) USING BTREE, + CONSTRAINT `wechat_news_article_ibfk_1` FOREIGN KEY (`template_id`) REFERENCES `wechat_message_template` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信图文消息文章表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wechat_qr_code +-- ---------------------------- +DROP TABLE IF EXISTS `wechat_qr_code`; +CREATE TABLE `wechat_qr_code` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `qr_code_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '二维码图片URL', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '二维码描述', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_wechat_qr_create_time`(`create_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for withdraw_request +-- ---------------------------- +DROP TABLE IF EXISTS `withdraw_request`; +CREATE TABLE `withdraw_request` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `amount` decimal(10, 2) NOT NULL COMMENT '提现金额', + `withdraw_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '提现类型(promotion/workflow/video)', + `content_id` bigint(20) NULL DEFAULT NULL COMMENT '作品ID(工作流或视频提现时)', + `account_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户类型(alipay/wechat/bank)', + `account` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户(支付宝账号/微信ID/银行卡号)', + `account_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人姓名', + `bank_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开户行名称(银行卡提现时必填)', + `bank_branch` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支行名称(银行卡提现时可选)', + `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(0待审核/1通过/2拒绝)', + `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', + `reviewer_id` bigint(20) NULL DEFAULT NULL COMMENT '审核人ID', + `transaction_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方交易流水号', + `fee_amount` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '手续费金额', + `actual_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '实际到账金额', + `processed_at` datetime NULL DEFAULT NULL COMMENT '处理完成时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间', + `reviewed_at` datetime NULL DEFAULT NULL COMMENT '审核时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_withdraw_user_id`(`user_id`) USING BTREE, + INDEX `idx_withdraw_status`(`status`) USING BTREE, + INDEX `idx_withdraw_create_time`(`create_time`) USING BTREE, + INDEX `idx_withdraw_type`(`withdraw_type`) USING BTREE, + INDEX `idx_withdraw_content_id`(`content_id`) USING BTREE, + INDEX `idx_withdraw_reviewer`(`reviewer_id`) USING BTREE, + INDEX `idx_withdraw_transaction_no`(`transaction_no`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for workflow +-- ---------------------------- +DROP TABLE IF EXISTS `workflow`; +CREATE TABLE `workflow` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '工作流名称', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '工作流的详细描述', + `owner_id` bigint(20) NOT NULL COMMENT '创建者ID', + `cover_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图片URL', + `detail_gallery` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '详情图集(JSON格式存储多张图片URL)', + `video_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联预览视频ID(阿里云VOD视频ID)', + `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '存储工作流核心逻辑的JSON字符串', + `data_file_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作流依赖文件地址(文件上传时的URL)', + `like_count` int(11) NOT NULL DEFAULT 0 COMMENT '点赞数量', + `is_public` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否公开', + `full_access_role` tinyint(4) NOT NULL DEFAULT 1 COMMENT '查看完整data所需最低角色', + `copy_access_role` tinyint(4) NOT NULL DEFAULT 1 COMMENT '复制所需最低角色', + `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '价格', + `audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1通过/2拒绝)', + `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作流分类', + `category_id` bigint(20) NULL DEFAULT NULL COMMENT '关联类目ID', + `rating` int(11) NULL DEFAULT NULL COMMENT '评分(1-5)', + `reject_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', + `review_time` datetime NULL DEFAULT NULL COMMENT '审核时间', + `is_free` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否免费(0收费/1免费)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_workflow_category_id`(`category_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 105 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for workflow_copy_stat +-- ---------------------------- +DROP TABLE IF EXISTS `workflow_copy_stat`; +CREATE TABLE `workflow_copy_stat` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `workflow_id` bigint(20) NOT NULL COMMENT '工作流ID', + `owner_id` bigint(20) NOT NULL COMMENT '工作流创建者ID', + `copy_user_id` bigint(20) NOT NULL COMMENT '复制用户ID', + `copy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '复制时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_workflow_owner`(`owner_id`) USING BTREE, + INDEX `idx_workflow_id`(`workflow_id`) USING BTREE, + INDEX `idx_copy_time`(`copy_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1620 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for workflow_like +-- ---------------------------- +DROP TABLE IF EXISTS `workflow_like`; +CREATE TABLE `workflow_like` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '点赞用户ID', + `workflow_id` bigint(20) NOT NULL COMMENT '被点赞的工作流ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', + `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_user_workflow`(`user_id`, `workflow_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- View structure for v_plaza_latest_works +-- ---------------------------- +DROP VIEW IF EXISTS `v_plaza_latest_works`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_plaza_latest_works` AS select `pw`.`id` AS `id`,`pw`.`work_no` AS `work_no`,`pw`.`user_id` AS `user_id`,`pw`.`task_no` AS `task_no`,`pw`.`task_type` AS `task_type`,`pw`.`model_name` AS `model_name`,`pw`.`prompt` AS `prompt`,`pw`.`result_url` AS `result_url`,`pw`.`image_url` AS `image_url`,`pw`.`aspect_ratio` AS `aspect_ratio`,`pw`.`title` AS `title`,`pw`.`description` AS `description`,`pw`.`tags` AS `tags`,`pw`.`view_count` AS `view_count`,`pw`.`like_count` AS `like_count`,`pw`.`share_count` AS `share_count`,`pw`.`comment_count` AS `comment_count`,`pw`.`is_public` AS `is_public`,`pw`.`status` AS `status`,`pw`.`audit_status` AS `audit_status`,`pw`.`audit_admin_id` AS `audit_admin_id`,`pw`.`audit_time` AS `audit_time`,`pw`.`audit_remark` AS `audit_remark`,`pw`.`create_time` AS `create_time`,`pw`.`update_time` AS `update_time`,`pw`.`is_deleted` AS `is_deleted` from `plaza_work` `pw` where ((`pw`.`status` = 'published') and (`pw`.`audit_status` = 'approved') and (`pw`.`is_deleted` = 0)) order by `pw`.`create_time` desc; + +-- ---------------------------- +-- View structure for v_plaza_pending_works +-- ---------------------------- +DROP VIEW IF EXISTS `v_plaza_pending_works`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_plaza_pending_works` AS select `pw`.`id` AS `id`,`pw`.`work_no` AS `work_no`,`pw`.`user_id` AS `user_id`,`pw`.`task_no` AS `task_no`,`pw`.`task_type` AS `task_type`,`pw`.`model_name` AS `model_name`,`pw`.`prompt` AS `prompt`,`pw`.`result_url` AS `result_url`,`pw`.`image_url` AS `image_url`,`pw`.`aspect_ratio` AS `aspect_ratio`,`pw`.`title` AS `title`,`pw`.`description` AS `description`,`pw`.`tags` AS `tags`,`pw`.`view_count` AS `view_count`,`pw`.`like_count` AS `like_count`,`pw`.`share_count` AS `share_count`,`pw`.`comment_count` AS `comment_count`,`pw`.`is_public` AS `is_public`,`pw`.`status` AS `status`,`pw`.`audit_status` AS `audit_status`,`pw`.`audit_admin_id` AS `audit_admin_id`,`pw`.`audit_time` AS `audit_time`,`pw`.`audit_remark` AS `audit_remark`,`pw`.`create_time` AS `create_time`,`pw`.`update_time` AS `update_time`,`pw`.`is_deleted` AS `is_deleted`,`u`.`username` AS `author_name`,`u`.`phone` AS `author_phone` from (`plaza_work` `pw` left join `user` `u` on((`pw`.`user_id` = `u`.`id`))) where ((`pw`.`audit_status` = 'pending') and (`pw`.`is_deleted` = 0)) order by `pw`.`create_time`; + +-- ---------------------------- +-- View structure for v_points_recharge_stats +-- ---------------------------- +DROP VIEW IF EXISTS `v_points_recharge_stats`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_points_recharge_stats` AS select cast(`o`.`create_time` as date) AS `recharge_date`,count(`o`.`id`) AS `order_count`,sum(`o`.`amount`) AS `total_amount`,sum(`o`.`points_amount`) AS `total_points`,avg(`o`.`amount`) AS `avg_amount` from `order` `o` where ((`o`.`order_type` = 2) and (`o`.`status` = 1) and (`o`.`is_deleted` = 0)) group by cast(`o`.`create_time` as date) order by `recharge_date` desc; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/ADMIN_AI_POINTS_API_GUIDE.md b/ADMIN_AI_POINTS_API_GUIDE.md deleted file mode 100644 index 2ee2f6b..0000000 --- a/ADMIN_AI_POINTS_API_GUIDE.md +++ /dev/null @@ -1,587 +0,0 @@ -# 管理端 - AI积分与模型配置 API 接口文档 - -## 📋 目录 - -1. [概述](#概述) -2. [认证说明](#认证说明) -3. [积分配置管理](#积分配置管理) -4. [系统配置管理](#系统配置管理) -5. [AI任务监控](#ai任务监控) -6. [业务流程说明](#业务流程说明) -7. [常见问题](#常见问题) - ---- - -## 概述 - -本文档描述了管理员如何通过后台接口管理AI模型的积分价格、系统参数配置以及监控所有用户的AI任务。 - -### 基础信息 - -- **Base URL**: `https://your-domain.com` -- **接口前缀**: `/admin` -- **认证方式**: JWT Token (需要 ADMIN 角色) -- **数据格式**: JSON - -### 积分与人民币兑换标准 - -根据系统设计,积分兑换标准如下: - -``` -1 元人民币 = 100 积分 -``` - -**定价策略:** 在第三方API成本的基础上加价 50% - ---- - -## 认证说明 - -### 获取管理员Token - -**接口**: `POST /admin/auth/login` - -**请求示例**: -```json -{ - "username": "admin", - "password": "your_password" -} -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "登录成功", - "data": { - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", - "userId": 1, - "username": "admin", - "role": 1 - } -} -``` - -### 后续请求认证 - -所有管理端API请求都需要在HTTP Header中携带Token: - -``` -Authorization: Bearer -``` - ---- - -## 积分配置管理 - -管理员可以动态调整每个AI模型的积分消费价格。 - -### 1. 获取所有积分配置 - -**接口**: `GET /admin/configs/points` - -**描述**: 获取所有AI模型的积分配置列表 - -**请求示例**: -```bash -curl -X GET "https://your-domain.com/admin/configs/points" \ - -H "Authorization: Bearer " -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "查询成功", - "data": [ - { - "id": 1, - "modelName": "sora_image", - "pointsCost": 11, - "description": "Sora高质量图片生成", - "isEnabled": 1, - "createTime": "2025-10-19T10:00:00", - "updateTime": "2025-10-19T10:00:00" - }, - { - "id": 2, - "modelName": "sora_video2", - "pointsCost": 160, - "description": "Sora视频生成 (竖屏10秒)", - "isEnabled": 1, - "createTime": "2025-10-19T10:00:00", - "updateTime": "2025-10-19T10:00:00" - } - ] -} -``` - -### 2. 创建新的积分配置 - -**接口**: `POST /admin/configs/points` - -**描述**: 为新的AI模型添加积分配置 - -**请求示例**: -```json -{ - "modelName": "dalle-3", - "pointsCost": 50, - "description": "DALL-E 3图片生成", - "isEnabled": 1 -} -``` - -**字段说明**: -- `modelName` (必填): 模型唯一标识,需与第三方API的模型名称一致 -- `pointsCost` (必填): 调用一次该模型需要消耗的积分数 -- `description` (可选): 模型的描述信息 -- `isEnabled` (必填): 是否启用 (1=启用, 0=禁用) - -**响应示例**: -```json -{ - "code": 200, - "message": "配置创建成功", - "data": { - "id": 8, - "modelName": "dalle-3", - "pointsCost": 50, - "description": "DALL-E 3图片生成", - "isEnabled": 1 - } -} -``` - -### 3. 更新积分配置 - -**接口**: `PUT /admin/configs/points/{id}` - -**描述**: 修改现有模型的积分价格或其他配置 - -**请求示例**: -```bash -curl -X PUT "https://your-domain.com/admin/configs/points/1" \ - -H "Authorization: Bearer " \ - -H "Content-Type: application/json" \ - -d '{ - "pointsCost": 15, - "description": "Sora高质量图片生成(已调价)", - "isEnabled": 1 - }' -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "配置更新成功", - "data": { - "id": 1, - "modelName": "sora_image", - "pointsCost": 15, - "description": "Sora高质量图片生成(已调价)", - "isEnabled": 1 - } -} -``` - -### 4. 删除积分配置 - -**接口**: `DELETE /admin/configs/points/{id}` - -**描述**: 删除指定的积分配置(逻辑删除) - -**请求示例**: -```bash -curl -X DELETE "https://your-domain.com/admin/configs/points/8" \ - -H "Authorization: Bearer " -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "配置删除成功" -} -``` - ---- - -## 系统配置管理 - -管理员可以调整AI队列、任务超时等系统级参数。 - -### 1. 获取所有系统配置 - -**接口**: `GET /admin/configs/system` - -**描述**: 获取所有系统配置项 - -**请求示例**: -```bash -curl -X GET "https://your-domain.com/admin/configs/system" \ - -H "Authorization: Bearer " -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "查询成功", - "data": [ - { - "id": 1, - "configKey": "ai.queue.max_concurrent", - "configValue": "50", - "description": "每个AI模型的最大并发处理数", - "createTime": "2025-10-19T10:00:00", - "updateTime": "2025-10-19T10:00:00" - }, - { - "id": 2, - "configKey": "ai.queue.max_user_concurrent", - "configValue": "3", - "description": "单个用户的最大并发任务数", - "createTime": "2025-10-19T10:00:00", - "updateTime": "2025-10-19T10:00:00" - }, - { - "id": 3, - "configKey": "ai.task.timeout_minutes", - "configValue": "10", - "description": "任务处理超时时间(分钟)", - "createTime": "2025-10-19T10:00:00", - "updateTime": "2025-10-19T10:00:00" - } - ] -} -``` - -### 2. 创建系统配置 - -**接口**: `POST /admin/configs/system` - -**请求示例**: -```json -{ - "configKey": "ai.queue.scan_interval", - "configValue": "3000", - "description": "队列扫描间隔(毫秒)" -} -``` - -### 3. 更新系统配置 - -**接口**: `PUT /admin/configs/system/{id}` - -**描述**: 修改系统配置值 - -**请求示例**: -```json -{ - "configValue": "100", - "description": "每个AI模型的最大并发处理数(已调整)" -} -``` - -**⚠️ 重要提示**: -- 修改 `ai.queue.max_concurrent` 等配置后,系统会**立即生效**(通过缓存刷新机制) -- 但 `application.yml` 中的配置(如 `ai.queue.scan-interval`)需要**重启服务**才能生效 - -### 4. 删除系统配置 - -**接口**: `DELETE /admin/configs/system/{id}` - ---- - -## AI任务监控 - -管理员可以查看和管理所有用户的AI生成任务。 - -### 1. 获取任务列表(分页) - -**接口**: `GET /admin/ai/tasks/list` - -**描述**: 分页查询所有AI任务,支持多条件筛选 - -**查询参数**: -- `page` (可选): 页码,默认 1 -- `size` (可选): 每页数量,默认 10 -- `userId` (可选): 按用户ID筛选 -- `status` (可选): 按状态筛选 (created, queued, processing, completed, failed, cancelled) -- `modelName` (可选): 按模型名称筛选 -- `taskNo` (可选): 按任务编号模糊搜索 - -**请求示例**: -```bash -curl -X GET "https://your-domain.com/admin/ai/tasks/list?page=1&size=20&status=completed" \ - -H "Authorization: Bearer " -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "查询成功", - "data": { - "total": 156, - "pages": 8, - "pageNum": 1, - "pageSize": 20, - "list": [ - { - "taskNo": "TASK20251019143022ABC123", - "userId": 1001, - "modelName": "sora_image", - "taskType": "image", - "prompt": "一只可爱的猫咪在花园里玩耍", - "status": "completed", - "progress": 100, - "progressMessage": "任务已成功完成。", - "pointsFrozen": 11, - "pointsConsumed": 11, - "resultUrl": "https://cdn.example.com/generated/abc123.jpg", - "queueTime": "2025-10-19T14:30:25", - "startTime": "2025-10-19T14:30:30", - "completeTime": "2025-10-19T14:31:15", - "createTime": "2025-10-19T14:30:22", - "updateTime": "2025-10-19T14:31:15" - } - ] - } -} -``` - -### 2. 获取单个任务详情 - -**接口**: `GET /admin/ai/tasks/{taskNo}` - -**描述**: 查询指定任务的详细信息 - -**请求示例**: -```bash -curl -X GET "https://your-domain.com/admin/ai/tasks/TASK20251019143022ABC123" \ - -H "Authorization: Bearer " -``` - -### 3. 强制取消任务 - -**接口**: `POST /admin/ai/tasks/{taskNo}/cancel` - -**描述**: 手动取消一个处于排队中(queued)的任务,并退还用户积分 - -**请求示例**: -```bash -curl -X POST "https://your-domain.com/admin/ai/tasks/TASK20251019143022ABC123/cancel" \ - -H "Authorization: Bearer " -``` - -**响应示例**: -```json -{ - "code": 200, - "message": "任务 TASK20251019143022ABC123 已成功取消。" -} -``` - -**⚠️ 注意**: -- 只有状态为 `queued` 的任务可以被取消 -- 已经在 `processing` 状态的任务无法取消 -- 取消后,冻结的积分会全额退还给用户 - ---- - -## 业务流程说明 - -### 1. 积分定价流程 - -以 Sora Image 为例,完整的定价计算过程: - -``` -第三方API成本: $0.01/张 -↓ -人民币成本: 0.01 × 7.3 (汇率) = 0.073 元 -↓ -加价50%: 0.073 × 1.5 = 0.1095 元 -↓ -向上取整: 0.11 元 -↓ -转换为积分: 0.11 × 100 = 11 积分 -``` - -**当前系统中的定价标准**: - -| 模型名称 | 第三方成本 | 我方定价 | 积分价格 | -|---------|----------|---------|---------| -| sora_image | $0.01 | ¥0.11 | 11积分 | -| gpt-4o-image | $0.01 | ¥0.11 | 11积分 | -| sora_video2 | $0.15 | ¥1.60 | 160积分 | -| sora_video2-landscape | $0.15 | ¥1.60 | 160积分 | -| sora_video2-15s | $0.25 | ¥2.60 | 260积分 | -| sora_video2-landscape-15s | $0.25 | ¥2.60 | 260积分 | -| sora-2-pro-all | $0.40 | ¥4.20 | 420积分 | - -### 2. 用户调用AI模型的完整流程 - -``` -1. 用户提交任务 - ↓ -2. 系统检查用户积分是否充足 - ↓ -3. 冻结所需积分 (points_frozen) - ↓ -4. 创建任务记录 (status: created) - ↓ -5. 将任务放入Redis队列 (status: queued) - ↓ -6. 调度器检测到可用槽位 - ↓ -7. 从队列取出任务,开始处理 (status: processing) - ↓ -8. 异步调用第三方API - ↓ -9a. 成功: 标记任务为completed,记录result_url,消耗积分 -9b. 失败: 标记任务为failed,全额退还积分 - ↓ -10. 通过WebSocket实时推送进度给用户 -``` - -### 3. 任务超时保护机制 - -系统有完善的超时保护机制,防止任务卡死: - -- **超时检查间隔**: 每60秒检查一次(可在 `application.yml` 中配置 `ai.task.timeout-scan-interval`) -- **超时判定标准**: 任务在 `processing` 状态下超过10分钟(可在数据库 `system_config` 表中修改 `ai.task.timeout_minutes`) -- **超时处理**: 自动标记为 `failed`,全额退还积分 - -### 4. 并发控制说明 - -**模型级并发控制**: -- 每个AI模型独立计数 -- 默认最大并发数: 50(在 `application.yml` 中配置为 `ai.queue.max-concurrent: 50`) -- 当前正在处理的任务数达到上限时,新任务会在队列中等待 - -**用户级并发控制** (可选,已在 `system_config` 中预留配置): -- 单个用户最多同时处理3个任务(`ai.queue.max_user_concurrent`) -- 防止单个用户占用过多资源 - ---- - -## 常见问题 - -### Q1: 如何修改某个模型的积分价格? - -**A**: 使用 `PUT /admin/configs/points/{id}` 接口更新 `pointsCost` 字段。修改后立即生效,影响所有后续创建的任务。 - -### Q2: 积分配置修改后,正在处理的任务会受影响吗? - -**A**: 不会。每个任务在创建时就已经记录了 `points_frozen`(冻结的积分数),这个值不会因为后续的价格调整而改变。 - -### Q3: 如何临时禁用某个AI模型? - -**A**: 将该模型的 `isEnabled` 字段设置为 `0`。禁用后,用户提交该模型的任务时会收到错误提示,但不影响已经在队列中或正在处理的任务。 - -### Q4: 如何提高系统的处理能力? - -**A**: 有两种方式: -1. **修改 `application.yml`**: 增加 `ai.queue.max-concurrent` 的值(需要重启服务) -2. **修改数据库**: 更新 `system_config` 表中 `ai.queue.max_concurrent` 的配置值(立即生效,无需重启) - -**推荐使用方式2**,因为它更加灵活,可以根据服务器负载动态调整。 - -### Q5: 用户的积分是如何退款的? - -**A**: 系统在以下情况会自动退还积分: -- 任务失败(`status: failed`) -- 任务超时 -- 管理员手动取消任务 -- API调用异常 - -退款会记录在 `points_consumption_log` 表中,`change_type` 为 `refund`。 - -### Q6: WebSocket推送是如何工作的? - -**A**: -1. 用户连接到 WebSocket 端点: `wss://your-domain.com/ws` -2. 用户订阅自己的进度频道: `/user/queue/tasks-progress` -3. 任务状态变化时(创建、开始处理、完成、失败),系统自动推送JSON格式的进度数据 -4. 前端接收数据并更新UI(如进度条、状态文本) - -### Q7: 如何查看系统当前的运行状态? - -**A**: 可以通过以下方式监控: -1. 使用 `GET /admin/ai/tasks/list?status=processing` 查看当前正在处理的任务数量 -2. 使用 `GET /admin/ai/tasks/list?status=queued` 查看队列中等待的任务数量 -3. 检查 Redis 中的队列长度(技术手段) - -### Q8: 如何备份和恢复积分配置? - -**A**: -- **备份**: 导出 `points_config` 和 `system_config` 表的数据 -- **恢复**: 使用 SQL 的 `INSERT ... ON DUPLICATE KEY UPDATE` 语句批量导入 - -系统在 `V2__add_ai_task_and_points_schema.sql` 中已经提供了初始化数据的示例。 - ---- - -## 附录:数据库表结构 - -### points_config 表 - -| 字段 | 类型 | 说明 | -|-----|------|------| -| id | bigint | 主键 | -| model_name | varchar(64) | 模型名称(唯一) | -| points_cost | int | 积分消耗 | -| description | varchar(255) | 模型描述 | -| is_enabled | tinyint(1) | 是否启用 | -| create_time | datetime | 创建时间 | -| update_time | datetime | 更新时间 | -| is_deleted | tinyint(1) | 逻辑删除标识 | - -### system_config 表 - -| 字段 | 类型 | 说明 | -|-----|------|------| -| id | bigint | 主键 | -| config_key | varchar(64) | 配置键(唯一) | -| config_value | varchar(512) | 配置值 | -| description | varchar(255) | 配置说明 | -| create_time | datetime | 创建时间 | -| update_time | datetime | 更新时间 | - -### ai_task 表 - -| 字段 | 类型 | 说明 | -|-----|------|------| -| id | bigint | 主键 | -| task_no | varchar(64) | 任务编号(唯一) | -| user_id | bigint | 用户ID | -| model_name | varchar(64) | 模型名称 | -| task_type | varchar(32) | 任务类型 | -| prompt | text | 提示词 | -| status | varchar(32) | 任务状态 | -| progress | int | 进度百分比 | -| progress_message | varchar(255) | 进度描述 | -| points_frozen | int | 冻结积分 | -| points_consumed | int | 实际消耗积分 | -| result_url | varchar(512) | 结果URL | -| error_message | text | 错误信息 | -| queue_time | datetime | 入队时间 | -| start_time | datetime | 开始处理时间 | -| complete_time | datetime | 完成时间 | -| create_time | datetime | 创建时间 | -| update_time | datetime | 更新时间 | -| is_deleted | tinyint(1) | 逻辑删除标识 | - ---- - -## 技术支持 - -如有任何问题,请联系技术团队。 - -**文档版本**: v1.0 -**最后更新**: 2025-10-19 - diff --git a/AI_API_KEY_INTEGRATION_GUIDE.md b/AI_API_KEY_INTEGRATION_GUIDE.md deleted file mode 100644 index 2839041..0000000 --- a/AI_API_KEY_INTEGRATION_GUIDE.md +++ /dev/null @@ -1,353 +0,0 @@ -# AI任务API集成指南 - -## 📋 概述 - -本系统现已支持通过**API Key**调用AI生成服务,无需JWT Token认证。所有用户(会员和非会员)都可以: - -1. ✅ 生成个人专属的API Key -2. ✅ 使用API Key + 积分调用AI服务 -3. ✅ 支持文生图、文生视频、图生视频三种模式 - ---- - -## 🔑 获取API Key - -### 方式一:通过Web界面生成(需要登录) - -```http -POST /user/v1/api-key/generate -Authorization: Bearer {JWT_TOKEN} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "keyValue": "ak_1234567890abcdef1234567890abcdef", - "isActive": true, - "createTime": "2025-10-20T10:00:00", - "userRole": 0 - } -} -``` - -### 方式二:查看现有API Key - -```http -GET /user/v1/api-key/info -Authorization: Bearer {JWT_TOKEN} -``` - ---- - -## 🚀 使用API Key调用AI服务 - -### 认证方式 - -所有AI任务接口都支持以下两种认证方式: - -| 方式 | 适用场景 | Header格式 | -|------|----------|-----------| -| **JWT Token** | Web端用户 | `Authorization: Bearer {jwt_token}` | -| **API Key** | 开发者/第三方集成 | `Authorization: Bearer {api_key}` | - -> 💡 **提示**:系统会自动识别Token类型(JWT或API Key),无需额外配置。 - ---- - -## 📝 API接口说明 - -### 1. 提交AI任务 - -#### 文生图(Text to Image) - -```http -POST /user/ai/tasks/submit -Authorization: Bearer ak_your_api_key_here -Content-Type: application/json - -{ - "modelName": "sora_image", - "prompt": "一只可爱的猫咪在花园里玩耍" -} -``` - -#### 文生视频(Text to Video) - -```http -POST /user/ai/tasks/submit -Authorization: Bearer ak_your_api_key_here -Content-Type: application/json - -{ - "modelName": "sora_video2", - "prompt": "一只猫咪在夕阳下奔跑,镜头缓缓推进" -} -``` - -#### 图生视频(Image to Video) - -**方式1:使用图片URL** -```http -POST /user/ai/tasks/submit -Authorization: Bearer ak_your_api_key_here -Content-Type: application/json - -{ - "modelName": "sora_video2", - "prompt": "让这个场景动起来,添加生动的细节", - "imageUrl": "https://example.com/image.jpg" -} -``` - -**方式2:使用Base64编码** -```http -POST /user/ai/tasks/submit -Authorization: Bearer ak_your_api_key_here -Content-Type: application/json - -{ - "modelName": "sora_video2", - "prompt": "让这个场景动起来,添加生动的细节", - "imageBase64": "data:image/jpeg;base64,/9j/4AAQSkZJRg..." -} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "任务提交成功", - "data": { - "taskNo": "TASK20251020143022ABC123", - "status": "queued", - "queuePosition": 3, - "estimatedWaitTime": 90, - "message": "任务创建成功,请通过任务编号查询进度" - } -} -``` - -### 2. 查询任务详情 - -```http -GET /user/ai/tasks/{taskNo} -Authorization: Bearer ak_your_api_key_here -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "taskNo": "TASK20251020143022ABC123", - "modelName": "sora_image", - "status": "completed", - "progress": 100, - "promptSnippet": "一只可爱的猫咪在花园里玩耍", - "resultUrl": "https://example.com/result.jpg", - "createTime": "2025-10-20T14:30:22", - "completeTime": "2025-10-20T14:31:00" - } -} -``` - -### 3. 查询任务列表 - -```http -GET /user/ai/tasks/list?page=1&size=10&status=completed -Authorization: Bearer ak_your_api_key_here -``` - ---- - -## 💰 积分消费规则 - -| 模型名称 | 描述 | 积分消耗 | 对应价格 | -|---------|------|---------|---------| -| `sora_image` | Sora高质量图片生成 | 11积分 | ¥0.015 | -| `gpt-4o-image` | GPT-4o图片生成 | 11积分 | ¥0.015 | -| `sora_video2` | Sora视频生成(竖屏10秒) | 160积分 | ¥0.225 | -| `sora_video2-landscape` | Sora视频生成(横屏10秒) | 160积分 | ¥0.225 | -| `sora_video2-15s` | Sora视频生成(竖屏15秒) | 260积分 | ¥0.375 | -| `sora_video2-landscape-15s` | Sora视频生成(横屏15秒) | 260积分 | ¥0.375 | -| `sora-2-pro-all` | Sora Pro高清视频 | 420积分 | ¥0.60 | - -> 💡 **说明**:1人民币 = 1000积分,系统在第三方API价格基础上加价50% - ---- - -## ⚠️ 错误码说明 - -| 状态码 | 说明 | 解决方案 | -|--------|------|----------| -| `200` | 成功 | - | -| `400` | 参数错误 | 检查请求参数是否正确 | -| `401` | 未认证 | 检查API Key是否有效 | -| `402` | 积分不足 | 充值积分后重试 | -| `404` | 任务不存在 | 检查任务编号是否正确 | -| `500` | 服务器错误 | 联系技术支持 | - ---- - -## 🔒 安全建议 - -1. **保护API Key**:不要在客户端代码或公开仓库中硬编码API Key -2. **使用环境变量**:将API Key存储在环境变量中 -3. **定期刷新**:定期刷新API Key以提高安全性 -4. **监控使用**:定期检查API Key的使用情况 - ---- - -## 💻 代码示例 - -### Python示例 - -```python -import requests - -API_KEY = "ak_your_api_key_here" -BASE_URL = "https://your-domain.com" - -def submit_task(model_name, prompt, image_url=None): - """提交AI任务""" - headers = { - "Authorization": f"Bearer {API_KEY}", - "Content-Type": "application/json" - } - - payload = { - "modelName": model_name, - "prompt": prompt - } - - if image_url: - payload["imageUrl"] = image_url - - response = requests.post( - f"{BASE_URL}/user/ai/tasks/submit", - headers=headers, - json=payload - ) - - return response.json() - -def get_task_status(task_no): - """查询任务状态""" - headers = { - "Authorization": f"Bearer {API_KEY}" - } - - response = requests.get( - f"{BASE_URL}/user/ai/tasks/{task_no}", - headers=headers - ) - - return response.json() - -# 使用示例 -result = submit_task("sora_image", "一只可爱的猫咪") -print(f"任务编号: {result['data']['taskNo']}") - -status = get_task_status(result['data']['taskNo']) -print(f"任务状态: {status['data']['status']}") -``` - -### Node.js示例 - -```javascript -const axios = require('axios'); - -const API_KEY = 'ak_your_api_key_here'; -const BASE_URL = 'https://your-domain.com'; - -async function submitTask(modelName, prompt, imageUrl = null) { - const headers = { - 'Authorization': `Bearer ${API_KEY}`, - 'Content-Type': 'application/json' - }; - - const payload = { - modelName, - prompt - }; - - if (imageUrl) { - payload.imageUrl = imageUrl; - } - - const response = await axios.post( - `${BASE_URL}/user/ai/tasks/submit`, - payload, - { headers } - ); - - return response.data; -} - -async function getTaskStatus(taskNo) { - const headers = { - 'Authorization': `Bearer ${API_KEY}` - }; - - const response = await axios.get( - `${BASE_URL}/user/ai/tasks/${taskNo}`, - { headers } - ); - - return response.data; -} - -// 使用示例 -(async () => { - const result = await submitTask('sora_image', '一只可爱的猫咪'); - console.log(`任务编号: ${result.data.taskNo}`); - - const status = await getTaskStatus(result.data.taskNo); - console.log(`任务状态: ${status.data.status}`); -})(); -``` - -### cURL示例 - -```bash -# 提交任务 -curl -X POST "https://your-domain.com/user/ai/tasks/submit" \ - -H "Authorization: Bearer ak_your_api_key_here" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "sora_image", - "prompt": "一只可爱的猫咪在花园里玩耍" - }' - -# 查询任务状态 -curl -X GET "https://your-domain.com/user/ai/tasks/TASK20251020143022ABC123" \ - -H "Authorization: Bearer ak_your_api_key_here" -``` - ---- - -## 🎯 最佳实践 - -1. **轮询查询**:任务提交后,建议每5-10秒轮询一次任务状态 -2. **超时处理**:设置合理的超时时间(建议5-10分钟) -3. **错误重试**:遇到网络错误时实现指数退避重试 -4. **并发控制**:单用户最多同时运行3个任务 -5. **结果缓存**:completed状态的任务结果可以缓存,避免重复查询 - ---- - -## 📞 技术支持 - -如有问题,请联系: -- 📧 Email: support@1818ai.com -- 💬 技术文档: https://docs.1818ai.com -- 🐛 问题反馈: https://github.com/1818ai/issues - ---- - -**最后更新时间:2025-10-20** - diff --git a/AI_MODEL_API_GUIDE.md b/AI_MODEL_API_GUIDE.md deleted file mode 100644 index e4e57a6..0000000 --- a/AI_MODEL_API_GUIDE.md +++ /dev/null @@ -1,437 +0,0 @@ -# AI模型查询接口使用指南 - -## 概述 - -系统提供了完整的用户端AI模型查询接口,支持多种查询和分组方式。所有接口均为公开访问,无需认证。 - -## 接口列表 - -### 1. 获取模型列表(支持筛选) - -**接口地址**: `GET /user/ai/models` - -**描述**: 获取所有可用的AI模型列表,支持按任务类型和厂商筛选 - -**请求参数**: -- `taskType` (可选): 任务类型 - - `image` - 图片生成 - - `video` - 视频生成 - - `audio` - 音频生成 - - `text` - 文本生成 -- `provider` (可选): 服务提供商 - - `openai` - OpenAI - - `runninghub` - RunningHub -- `enabledOnly` (可选): 是否只返回已启用的模型,默认 `true` - -**响应示例**: -```json -{ - "code": 200, - "message": "success", - "data": [ - { - "id": 1, - "modelName": "sora_image", - "displayName": "Sora高质量图片生成", - "description": "Sora高质量图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "image", - "isEnabled": true, - "extendedConfig": {} - }, - { - "id": 2, - "modelName": "sora_video2", - "displayName": "Sora视频生成 (竖屏10秒)", - "description": "Sora视频生成 (竖屏10秒)", - "pointsCost": 160, - "providerType": "runninghub", - "taskType": "video", - "isEnabled": true, - "extendedConfig": { - "webappId": "1973555977595301890", - "defaultDuration": 10 - } - } - ] -} -``` - -**使用示例**: -```javascript -// 获取所有已启用的模型 -GET /user/ai/models - -// 获取所有图片生成模型 -GET /user/ai/models?taskType=image - -// 获取OpenAI的所有模型 -GET /user/ai/models?provider=openai - -// 获取RunningHub的视频生成模型 -GET /user/ai/models?taskType=video&provider=runninghub - -// 获取所有模型(包括未启用的) -GET /user/ai/models?enabledOnly=false -``` - ---- - -### 2. 按类型分组获取模型 - -**接口地址**: `GET /user/ai/models/group-by-type` - -**描述**: 获取按任务类型分组的AI模型列表 - -**请求参数**: -- `provider` (可选): 服务提供商筛选 -- `enabledOnly` (可选): 是否只返回已启用的模型,默认 `true` - -**响应示例**: -```json -{ - "code": 200, - "message": "success", - "data": [ - { - "taskType": "image", - "taskTypeName": "图片生成", - "count": 2, - "models": [ - { - "id": 1, - "modelName": "sora_image", - "displayName": "Sora高质量图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "image", - "isEnabled": true - }, - { - "id": 2, - "modelName": "gpt-4o-image", - "displayName": "GPT-4o图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "image", - "isEnabled": true - } - ] - }, - { - "taskType": "video", - "taskTypeName": "视频生成", - "count": 4, - "models": [ - { - "id": 3, - "modelName": "sora_video2", - "displayName": "Sora视频生成 (竖屏10秒)", - "pointsCost": 160, - "providerType": "runninghub", - "taskType": "video", - "isEnabled": true - } - // ... 更多视频模型 - ] - } - ] -} -``` - -**使用示例**: -```javascript -// 获取所有按类型分组的模型 -GET /user/ai/models/group-by-type - -// 获取OpenAI的按类型分组的模型 -GET /user/ai/models/group-by-type?provider=openai - -// 获取所有模型按类型分组(包括未启用的) -GET /user/ai/models/group-by-type?enabledOnly=false -``` - ---- - -### 3. 按厂商分组获取模型 - -**接口地址**: `GET /user/ai/models/group-by-provider` - -**描述**: 获取按服务提供商分组的AI模型列表 - -**请求参数**: -- `taskType` (可选): 任务类型筛选 -- `enabledOnly` (可选): 是否只返回已启用的模型,默认 `true` - -**响应示例**: -```json -{ - "code": 200, - "message": "success", - "data": [ - { - "providerType": "openai", - "providerName": "OpenAI", - "count": 2, - "models": [ - { - "id": 1, - "modelName": "sora_image", - "displayName": "Sora高质量图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "image", - "isEnabled": true - }, - { - "id": 2, - "modelName": "gpt-4o-image", - "displayName": "GPT-4o图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "image", - "isEnabled": true - } - ] - }, - { - "providerType": "runninghub", - "providerName": "RunningHub", - "count": 5, - "models": [ - { - "id": 3, - "modelName": "sora_video2", - "displayName": "Sora视频生成 (竖屏10秒)", - "pointsCost": 160, - "providerType": "runninghub", - "taskType": "video", - "isEnabled": true - } - // ... 更多RunningHub模型 - ] - } - ] -} -``` - -**使用示例**: -```javascript -// 获取所有按厂商分组的模型 -GET /user/ai/models/group-by-provider - -// 获取视频生成的按厂商分组 -GET /user/ai/models/group-by-provider?taskType=video - -// 获取图片生成的按厂商分组 -GET /user/ai/models/group-by-provider?taskType=image -``` - ---- - -### 4. 获取模型统计信息 - -**接口地址**: `GET /user/ai/models/stats` - -**描述**: 获取系统中AI模型的统计信息 - -**响应示例**: -```json -{ - "code": 200, - "message": "success", - "data": { - "totalModels": 10, - "enabledModels": 8, - "countByType": { - "image": 2, - "video": 5, - "audio": 1 - }, - "countByProvider": { - "openai": 3, - "runninghub": 5 - } - } -} -``` - ---- - -## 前端集成示例 - -### Vue 3 + TypeScript 示例 - -```typescript -// api/aiModel.ts -import axios from 'axios'; - -interface ModelInfo { - id: number; - modelName: string; - displayName: string; - description: string; - pointsCost: number; - providerType: string; - taskType: string; - isEnabled: boolean; - extendedConfig?: Record; -} - -interface ModelsByType { - taskType: string; - taskTypeName: string; - count: number; - models: ModelInfo[]; -} - -export const aiModelApi = { - // 获取所有模型 - getAllModels(params?: { - taskType?: string; - provider?: string; - enabledOnly?: boolean; - }) { - return axios.get<{ data: ModelInfo[] }>('/user/ai/models', { params }); - }, - - // 按类型分组获取 - getModelsByType(params?: { - provider?: string; - enabledOnly?: boolean; - }) { - return axios.get<{ data: ModelsByType[] }>('/user/ai/models/group-by-type', { params }); - }, - - // 按厂商分组获取 - getModelsByProvider(params?: { - taskType?: string; - enabledOnly?: boolean; - }) { - return axios.get<{ data: any[] }>('/user/ai/models/group-by-provider', { params }); - }, - - // 获取统计信息 - getModelStats() { - return axios.get('/user/ai/models/stats'); - } -}; -``` - -### 使用示例(Vue组件) - -```vue - - - -``` - ---- - -## 常见使用场景 - -### 场景1: 模型选择器(ALL模式) -展示所有可用模型供用户选择: -```javascript -GET /user/ai/models?enabledOnly=true -``` - -### 场景2: 按类型筛选(文生图) -用户想要生成图片,只显示图片生成模型: -```javascript -GET /user/ai/models?taskType=image -``` - -### 场景3: 按厂商分类展示 -展示不同AI服务商的模型,方便用户对比: -```javascript -GET /user/ai/models/group-by-provider -``` - -### 场景4: 特定厂商的特定类型 -显示RunningHub的视频生成模型: -```javascript -GET /user/ai/models?taskType=video&provider=runninghub -``` - -### 场景5: 模型统计Dashboard -显示系统模型概览: -```javascript -GET /user/ai/models/stats -``` - ---- - -## 数据模型说明 - -### 任务类型 (taskType) -- `image` - 图片生成(文生图、图生图等) -- `video` - 视频生成(文生视频、图生视频等) -- `audio` - 音频生成 -- `text` - 文本生成 -- `other` - 其他类型 - -### 服务提供商 (providerType) -- `openai` - OpenAI -- `runninghub` - RunningHub -- `anthropic` - Anthropic -- `google` - Google -- 其他自定义提供商 - -### 扩展配置 (extendedConfig) -JSON格式的模型特定配置,例如: -```json -{ - "webappId": "1973555977595301890", - "defaultDuration": 10, - "supportedSizes": ["portrait", "landscape"], - "maxDuration": 15 -} -``` - ---- - -## 注意事项 - -1. **公开访问**: 所有模型查询接口均为公开访问,无需登录 -2. **默认过滤**: 默认只返回已启用的模型(`enabledOnly=true`) -3. **智能推断**: 系统会根据模型名称自动推断任务类型 -4. **灵活组合**: 可以组合多个参数进行精确筛选 -5. **分组查询**: 提供按类型和按厂商两种分组方式,方便前端展示 - diff --git a/COS_POST_FORM_UPLOAD_FIXED.md b/COS_POST_FORM_UPLOAD_FIXED.md new file mode 100644 index 0000000..482256b --- /dev/null +++ b/COS_POST_FORM_UPLOAD_FIXED.md @@ -0,0 +1,312 @@ +# COS POST 表单上传 - 完整修复版 + +## ✅ 问题已修复 + +已修复 COS POST 表单上传的签名问题: +- ✅ 添加了 `q-key-time` 字段 +- ✅ 添加了 `q-sign-time` 字段 +- ✅ Policy 中包含必需的签名条件 +- ✅ 使用正确的 COS 签名算法 + +--- + +## 📋 前端正确的上传代码 + +### Vue 3 + Element Plus 完整示例 + +```vue + + + +``` + +--- + +### 原生 JavaScript 示例 + +```javascript +async function uploadFileToCOS(file, userId) { + try { + // 1. 获取 POST 签名 + const signResponse = await fetch('/user/oss/post-signature', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': 'Bearer ' + localStorage.getItem('token') + }, + body: JSON.stringify({ + fileName: file.name, + userId: userId + }) + }); + + const signResult = await signResponse.json(); + if (signResult.code !== 200) { + throw new Error(signResult.message); + } + + const data = signResult.data; + + // 2. 构造表单数据(COS 标准字段) + const formData = new FormData(); + const fileKey = data.dir + Date.now() + '_' + file.name; + + formData.append('key', fileKey); // 文件路径 + formData.append('policy', data.policy); // Policy + formData.append('q-sign-algorithm', data['q-sign-algorithm']); // 签名算法 + formData.append('q-ak', data['q-ak']); // SecretId + formData.append('q-key-time', data['q-key-time']); // KeyTime(必需) + formData.append('q-signature', data['q-signature']); // 签名 + formData.append('file', file); // 文件(必须最后) + + // 3. 上传到 COS + const uploadResponse = await fetch(data.host, { + method: 'POST', + body: formData + }); + + if (!uploadResponse.ok) { + const errorText = await uploadResponse.text(); + console.error('COS 返回错误:', errorText); + throw new Error('上传失败: ' + uploadResponse.status); + } + + // 4. 上传成功 + const fileUrl = data.host + '/' + fileKey; + console.log('上传成功,文件地址:', fileUrl); + return fileUrl; + + } catch (error) { + console.error('上传失败:', error); + throw error; + } +} + +// 使用示例 +document.getElementById('fileInput').addEventListener('change', async (e) => { + const file = e.target.files[0]; + if (file) { + try { + const fileUrl = await uploadFileToCOS(file, '123'); + alert('上传成功: ' + fileUrl); + } catch (error) { + alert('上传失败: ' + error.message); + } + } +}); +``` + +--- + +## 📡 后端返回的签名数据 + +```json +{ + "code": 200, + "message": "POST签名生成成功", + "data": { + "policy": "eyJleHBpcmF0aW9uIjoi...", + "q-sign-algorithm": "sha1", + "q-ak": "AKIDVY1HLBnDZhbHkz0mLhgT3TgePXHNErLC", + "q-key-time": "1733472660;1733476260", + "q-sign-time": "1733472660;1733476260", + "q-signature": "7758dc9a832e9d301dca704cacbf9d9f8172abcd", + "host": "https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com", + "dir": "user_img/", + "fileName": "avatar.jpg", + "fileType": "image", + "maxFileSize": 10485760, + "maxFileSizeMB": 10 + } +} +``` + +--- + +## 🔑 必需的表单字段 + +前端提交表单时**必须包含**以下字段: + +| 字段名 | 说明 | 示例值 | +|--------|------|--------| +| `key` | 文件路径 | `user_img/1733472660_avatar.jpg` | +| `policy` | Base64 编码的 Policy | `eyJleHBpcmF0aW9uIjoi...` | +| `q-sign-algorithm` | 签名算法 | `sha1` | +| `q-ak` | SecretId | `AKIDVY1HLBnDZhbHkz0mLhgT3TgePXHNErLC` | +| `q-key-time` | 密钥有效时间 | `1733472660;1733476260` | +| `q-signature` | 签名 | `7758dc9a832e9d301dca704cacbf9d9f8172abcd` | +| `file` | 文件内容 | (二进制数据,必须最后) | + +--- + +## ⚠️ 常见错误和解决方案 + +### 1. SignatureDoesNotMatch - q-key-time is required + +**错误信息:** +```xml + + SignatureDoesNotMatch + form field q-key-time is required,but not found or empty. + +``` + +**原因:** 表单中缺少 `q-key-time` 字段 + +**解决:** 确保表单包含: +```javascript +formData.append('q-key-time', data['q-key-time']); +``` + +--- + +### 2. InvalidPolicyDocument - q-sign-time is required + +**错误信息:** +```xml + + InvalidPolicyDocument + policy condition q-sign-time is required,but not found. + +``` + +**原因:** Policy 中缺少 `q-sign-time` 条件 + +**解决:** 后端已修复,重新编译部署即可 + +--- + +### 3. SignatureDoesNotMatch - 签名不匹配 + +**原因:** 签名计算错误或字段值不匹配 + +**解决:** +1. 确保 `q-key-time` 和 `q-sign-time` 的值相同 +2. 确保 `key` 字段以 `dir` 开头 +3. 确保所有字段值与后端返回的完全一致 + +--- + +### 4. CORS 错误 + +**解决:** 在腾讯云 COS 控制台配置 CORS: +- 来源:`*` 或具体域名 +- 方法:`GET, POST, PUT, HEAD` +- Allow-Headers:`*` + +--- + +## 🧪 测试上传 + +### 使用 curl 测试 + +```bash +# 1. 获取签名 +curl -X POST http://localhost:8083/user/oss/post-signature \ + -H "Content-Type: application/json" \ + -d '{"userId":"123","fileName":"test.jpg"}' + +# 2. 使用返回的签名上传(替换实际值) +curl -X POST "https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com/" \ + -F "key=user_img/test.jpg" \ + -F "policy=<返回的policy>" \ + -F "q-sign-algorithm=sha1" \ + -F "q-ak=<返回的q-ak>" \ + -F "q-key-time=<返回的q-key-time>" \ + -F "q-signature=<返回的q-signature>" \ + -F "file=@/path/to/test.jpg" +``` + +--- + +## 📚 参考文档 + +- [腾讯云 COS POST Object 官方文档](https://cloud.tencent.com/document/product/436/14690) +- [COS 请求签名算法](https://cloud.tencent.com/document/product/436/7778) + +--- + +## ✅ 总结 + +修复后的签名已经完全符合 COS 规范: +- ✅ 包含所有必需字段 +- ✅ 签名算法正确 +- ✅ Policy 格式正确 +- ✅ 前端代码简单明了 + +**重新编译部署后即可正常使用!** diff --git a/COS_POST_UPLOAD_GUIDE.md b/COS_POST_UPLOAD_GUIDE.md new file mode 100644 index 0000000..1521292 --- /dev/null +++ b/COS_POST_UPLOAD_GUIDE.md @@ -0,0 +1,130 @@ +# COS POST 表单上传指南 + +## 问题说明 + +如果出现 403 错误,通常是因为前端提交的表单字段名不符合 COS 要求。 + +--- + +## ✅ 正确的前端上传代码 + +### 方式1:使用 COS 标准字段(推荐) + +```javascript +// 1. 获取签名 +const response = await fetch('/user/oss/post-signature', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + userId: '123', + fileName: 'avatar.jpg' + }) +}); + +const signData = await response.json(); +const data = signData.data; + +// 2. 构造表单数据(COS 标准字段) +const formData = new FormData(); +formData.append('key', data.dir + 'your-file-name.jpg'); // 文件路径 +formData.append('policy', data.policy); // Policy +formData.append('q-sign-algorithm', 'sha1'); // 签名算法 +formData.append('q-ak', data['q-ak']); // SecretId +formData.append('q-signature', data['q-signature']); // 签名 +formData.append('file', file); // 文件(必须最后) + +// 3. 上传到 COS +const uploadResponse = await fetch(data.host, { + method: 'POST', + body: formData +}); + +if (uploadResponse.ok) { + const fileUrl = data.host + '/' + data.dir + 'your-file-name.jpg'; + console.log('上传成功:', fileUrl); +} +``` + +--- + +### 方式2:兼容 OSS 的字段名 + +```javascript +// 如果前端代码还在用 OSS 的字段名,可以这样: +const formData = new FormData(); +formData.append('key', data.dir + 'your-file-name.jpg'); +formData.append('policy', data.policy); +formData.append('OSSAccessKeyId', data.accessKeyId); // 兼容 OSS +formData.append('signature', data.signature); // 兼容 OSS +formData.append('file', file); + +// 但这种方式可能不被 COS 接受,建议使用方式1 +``` + +--- + +## 📋 后端返回的字段说明 + +| 字段名 | 用途 | 说明 | +|--------|------|------| +| `policy` | Policy Base64 | 必须 | +| `q-sign-algorithm` | 签名算法 | 固定为 "sha1" | +| `q-ak` | SecretId | COS 密钥 ID | +| `q-signature` | 签名 | HMAC-SHA1 签名 | +| `host` | 上传地址 | COS 存储桶域名 | +| `dir` | 文件目录 | 文件存储路径前缀 | + +--- + +## ⚠️ 常见错误 + +### 1. 403 Forbidden - 签名错误 +**原因:** 表单字段名不对或缺少必要字段 + +**解决:** 确保使用 COS 标准字段名: +- ✅ `q-ak`(不是 `accessKeyId` 或 `OSSAccessKeyId`) +- ✅ `q-signature`(不是 `signature`) +- ✅ `q-sign-algorithm` + +### 2. 403 Forbidden - Key 不匹配 +**原因:** `key` 字段的值不符合 Policy 中的前缀限制 + +**解决:** 确保 `key` 以 `data.dir` 开头: +```javascript +formData.append('key', data.dir + fileName); // ✅ 正确 +formData.append('key', fileName); // ❌ 错误 +``` + +### 3. CORS 错误 +**原因:** COS 存储桶未配置跨域规则 + +**解决:** 在腾讯云 COS 控制台配置 CORS(见主文档) + +--- + +## 🧪 测试上传 + +使用以下 curl 命令测试: + +```bash +# 1. 获取签名 +curl -X POST http://localhost:8083/user/oss/post-signature \ + -H "Content-Type: application/json" \ + -d '{"userId":"123","fileName":"test.jpg"}' + +# 2. 使用返回的签名上传文件 +curl -X POST "https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com/" \ + -F "key=user_img/test.jpg" \ + -F "policy=<返回的policy>" \ + -F "q-sign-algorithm=sha1" \ + -F "q-ak=<返回的q-ak>" \ + -F "q-signature=<返回的q-signature>" \ + -F "file=@/path/to/test.jpg" +``` + +--- + +## 📚 参考文档 + +- [腾讯云 COS POST 表单上传](https://cloud.tencent.com/document/product/436/14690) +- [COS 签名算法](https://cloud.tencent.com/document/product/436/7778) diff --git a/COS_PRESIGNED_URL_UPLOAD_GUIDE.md b/COS_PRESIGNED_URL_UPLOAD_GUIDE.md new file mode 100644 index 0000000..b2f5e3f --- /dev/null +++ b/COS_PRESIGNED_URL_UPLOAD_GUIDE.md @@ -0,0 +1,356 @@ +# COS 预签名 URL 直传指南(推荐方式) + +## 🎯 为什么使用预签名 URL? + +相比 POST 表单上传,预签名 URL 直传更简单: +- ✅ **无需复杂的表单字段** - 只需要一个 URL +- ✅ **前端代码更简洁** - 直接 PUT 文件即可 +- ✅ **自动处理 CORS** - 预签名 URL 包含签名,不受 CORS 限制 +- ✅ **更安全** - URL 有过期时间,临时授权 + +--- + +## 📋 完整的前端上传代码 + +### Vue 3 + Element Plus 示例 + +```vue + + + +``` + +--- + +### 原生 JavaScript 示例 + +```javascript +async function uploadFile(file, userId) { + try { + // 1. 获取预签名 URL + const signResponse = await fetch('/user/oss/presigned-url', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': 'Bearer ' + localStorage.getItem('token') + }, + body: JSON.stringify({ + fileName: file.name, + userId: userId + }) + }); + + const signResult = await signResponse.json(); + if (signResult.code !== 200) { + throw new Error(signResult.message); + } + + const { uploadUrl, fileUrl } = signResult.data; + + // 2. 直接 PUT 文件到预签名 URL + const uploadResponse = await fetch(uploadUrl, { + method: 'PUT', + body: file, + headers: { + 'Content-Type': file.type + } + }); + + if (!uploadResponse.ok) { + throw new Error('上传失败'); + } + + // 3. 上传成功,返回文件访问地址 + console.log('上传成功,文件地址:', fileUrl); + return fileUrl; + + } catch (error) { + console.error('上传失败:', error); + throw error; + } +} + +// 使用示例 +document.getElementById('fileInput').addEventListener('change', async (e) => { + const file = e.target.files[0]; + if (file) { + try { + const fileUrl = await uploadFile(file, '123'); + alert('上传成功: ' + fileUrl); + } catch (error) { + alert('上传失败: ' + error.message); + } + } +}); +``` + +--- + +### React 示例 + +```jsx +import { useState } from 'react'; +import { message } from 'antd'; + +function FileUpload() { + const [uploading, setUploading] = useState(false); + + const handleUpload = async (file) => { + setUploading(true); + try { + // 1. 获取预签名 URL + const signResponse = await fetch('/user/oss/presigned-url', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${localStorage.getItem('token')}` + }, + body: JSON.stringify({ + fileName: file.name, + userId: '123' + }) + }); + + const signResult = await signResponse.json(); + if (signResult.code !== 200) { + throw new Error(signResult.message); + } + + const { uploadUrl, fileUrl } = signResult.data; + + // 2. PUT 文件到预签名 URL + const uploadResponse = await fetch(uploadUrl, { + method: 'PUT', + body: file, + headers: { + 'Content-Type': file.type + } + }); + + if (!uploadResponse.ok) { + throw new Error('上传失败'); + } + + message.success('上传成功'); + console.log('文件地址:', fileUrl); + return fileUrl; + + } catch (error) { + console.error('上传失败:', error); + message.error('上传失败: ' + error.message); + } finally { + setUploading(false); + } + }; + + return ( + handleUpload(e.target.files[0])} + disabled={uploading} + /> + ); +} +``` + +--- + +## 📡 API 接口说明 + +### 接口地址 +``` +POST /user/oss/presigned-url +GET /user/oss/presigned-url +``` + +### 请求参数(POST 方式) + +```json +{ + "fileName": "avatar.jpg", + "userId": "123" +} +``` + +### 响应数据 + +```json +{ + "code": 200, + "message": "预签名URL生成成功", + "data": { + "uploadUrl": "https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com/user_img/xxx.jpg?sign=...", + "fileUrl": "https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com/user_img/xxx.jpg", + "fileName": "avatar.jpg", + "expiresIn": 3600 + } +} +``` + +### 字段说明 + +| 字段 | 说明 | +|------|------| +| `uploadUrl` | 预签名上传 URL(包含签名,有效期1小时) | +| `fileUrl` | 文件访问地址(永久有效) | +| `fileName` | 文件名 | +| `expiresIn` | 签名有效期(秒) | + +--- + +## 🔧 上传流程 + +``` +┌─────────┐ 1. 请求预签名URL ┌─────────┐ +│ │ ────────────────────────> │ │ +│ 前端 │ │ 后端 │ +│ │ <──────────────────────── │ │ +└─────────┘ 2. 返回预签名URL └─────────┘ + │ + │ 3. PUT 文件到预签名URL + ↓ +┌─────────┐ +│ COS │ +│ 存储桶 │ +└─────────┘ +``` + +--- + +## ✅ 优势对比 + +| 特性 | 预签名 URL 直传 | POST 表单上传 | +|------|----------------|--------------| +| **前端代码** | ✅ 简单(一个 PUT 请求) | ❌ 复杂(多个表单字段) | +| **CORS 配置** | ✅ 不需要(签名在 URL 中) | ❌ 需要配置 | +| **字段匹配** | ✅ 无需关心字段名 | ❌ 必须匹配 COS 字段名 | +| **错误排查** | ✅ 简单 | ❌ 复杂(403 签名错误) | +| **安全性** | ✅ URL 有过期时间 | ✅ Policy 有过期时间 | + +--- + +## ⚠️ 注意事项 + +1. **预签名 URL 有效期** + - 默认 1 小时(3600 秒) + - 过期后需要重新获取 + +2. **Content-Type** + - PUT 请求时建议设置正确的 Content-Type + - 例如:`image/jpeg`, `image/png` + +3. **文件大小限制** + - 默认最大 100MB + - 可在后端配置中调整 + +4. **文件命名** + - 后端会自动生成唯一文件名(UUID) + - 避免文件名冲突 + +--- + +## 🧪 测试命令 + +```bash +# 1. 获取预签名 URL +curl -X POST http://localhost:8083/user/oss/presigned-url \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer YOUR_TOKEN" \ + -d '{"fileName":"test.jpg","userId":"123"}' + +# 2. 使用预签名 URL 上传文件 +curl -X PUT "<返回的uploadUrl>" \ + -H "Content-Type: image/jpeg" \ + --data-binary "@/path/to/test.jpg" + +# 3. 访问文件 +curl "<返回的fileUrl>" +``` + +--- + +## 🎉 总结 + +使用预签名 URL 直传是最简单、最可靠的方式: +- ✅ 前端只需两步:获取 URL → PUT 文件 +- ✅ 无需配置 CORS +- ✅ 无需关心复杂的表单字段 +- ✅ 错误排查简单 + +**强烈推荐使用这种方式!** diff --git a/COS_SIGNATURE_DEBUG.md b/COS_SIGNATURE_DEBUG.md new file mode 100644 index 0000000..2eff1e6 --- /dev/null +++ b/COS_SIGNATURE_DEBUG.md @@ -0,0 +1,296 @@ +# COS POST 签名算法详解与调试 + +## 🔍 签名计算步骤(已修正) + +根据腾讯云官方文档,COS POST Object 的签名计算步骤如下: + +### 步骤 1:生成 KeyTime + +``` +KeyTime = StartTimestamp;EndTimestamp +``` + +**示例:** +``` +1567064374;1567071574 +``` + +--- + +### 步骤 2:构造 Policy(JSON 格式) + +```json +{ + "expiration": "2019-08-29T09:39:34.471Z", + "conditions": [ + { "bucket": "examplebucket-1250000000" }, + [ "content-length-range", 1, 10485760 ], + [ "starts-with", "$key", "user_img" ], + { "q-sign-algorithm": "sha1" }, + { "q-ak": "************************************" }, + { "q-sign-time": "1567064374;1567071574" } + ] +} +``` + +--- + +### 步骤 3:生成 SignKey + +``` +SignKey = HMAC-SHA1(SecretKey, KeyTime) +``` + +**注意:** 结果是**十六进制小写字符串** + +**示例:** +``` +SignKey = HMAC-SHA1("your-secret-key", "1567064374;1567071574") + = "39acc8c9f34ba5b19bce4e965b370cd3f62d2fba" +``` + +--- + +### 步骤 4:生成 StringToSign + +**关键:** StringToSign 是 **Policy JSON 原文**的 SHA1 哈希值 + +``` +StringToSign = SHA1(Policy JSON 原文) +``` + +**注意:** +- ✅ 使用 **Policy 的 JSON 原文**(未 Base64 编码) +- ✅ 结果是**十六进制小写字符串** + +**示例:** +``` +Policy JSON: {"expiration":"2019-08-29T09:39:34.471Z","conditions":[...]} +StringToSign = SHA1(Policy JSON) + = "d5d903b8360468bc81c1311f134989bc8c8b5b89" +``` + +--- + +### 步骤 5:生成 Signature + +``` +Signature = HMAC-SHA1(SignKey, StringToSign) +``` + +**注意:** 结果是**十六进制小写字符串** + +**示例:** +``` +Signature = HMAC-SHA1("39acc8c9f34ba5b19bce4e965b370cd3f62d2fba", "d5d903b8360468bc81c1311f134989bc8c8b5b89") + = "7758dc9a832e9d301dca704cacbf9d9f8172abcd" +``` + +--- + +## ✅ 正确的代码实现 + +```java +// 1. 生成 KeyTime +long currentSeconds = System.currentTimeMillis() / 1000; +long expireSeconds = currentSeconds + 3600; +String keyTime = currentSeconds + ";" + expireSeconds; + +// 2. 构造 Policy +Map policy = new HashMap<>(); +policy.put("expiration", generateExpiration(3600L)); +List conditions = new ArrayList<>(); +conditions.add(Map.of("bucket", "your-bucket")); +conditions.add(Arrays.asList("content-length-range", 1, 10485760)); +conditions.add(Arrays.asList("starts-with", "$key", "user_img")); +conditions.add(Map.of("q-sign-algorithm", "sha1")); +conditions.add(Map.of("q-ak", secretId)); +conditions.add(Map.of("q-sign-time", keyTime)); +policy.put("conditions", conditions); + +String jsonPolicy = mapper.writeValueAsString(policy); + +// 3. 生成 SignKey +String signKey = hmacSha1(secretKey, keyTime); + +// 4. 生成 StringToSign(Policy JSON 原文的 SHA1) +String stringToSign = sha1(jsonPolicy); + +// 5. 生成 Signature +String signature = hmacSha1(signKey, stringToSign); + +// 6. Base64 编码 Policy(用于表单提交) +String encodedPolicy = Base64.encodeBase64String(jsonPolicy.getBytes(StandardCharsets.UTF_8)); +``` + +--- + +## 🔧 辅助方法 + +```java +/** + * HMAC-SHA1(返回十六进制小写字符串) + */ +private String hmacSha1(String key, String data) { + SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA1"); + Mac mac = Mac.getInstance("HmacSHA1"); + mac.init(secretKeySpec); + byte[] hmacBytes = mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + return toHexString(hmacBytes); // 十六进制小写 +} + +/** + * SHA1(返回十六进制小写字符串) + */ +private String sha1(String data) { + MessageDigest digest = MessageDigest.getInstance("SHA-1"); + byte[] hash = digest.digest(data.getBytes(StandardCharsets.UTF_8)); + return toHexString(hash); // 十六进制小写 +} + +/** + * 字节数组转十六进制小写字符串 + */ +private String toHexString(byte[] bytes) { + StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); +} +``` + +--- + +## 🧪 调试步骤 + +### 1. 启用 DEBUG 日志 + +在 `application.yml` 中添加: + +```yaml +logging: + level: + com.dora.service.OssPostSignatureService: DEBUG +``` + +### 2. 查看日志输出 + +重新请求签名接口后,查看日志: + +``` +COS POST signature calculation: + KeyTime: 1733472660;1733476260 + Policy JSON: {"expiration":"2025-12-06T12:51:00.000Z","conditions":[...]} + StringToSign (SHA1 of Policy): 93e7e253c53fc6513ce0dc1c0dd34af925ad028f + SignKey: 39acc8c9f34ba5b19bce4e965b370cd3f62d2fba + Signature: 7758dc9a832e9d301dca704cacbf9d9f8172abcd +``` + +### 3. 对比 COS 返回的错误 + +如果 COS 返回签名错误,会显示它计算的 StringToSign: + +```xml + + SignatureDoesNotMatch + The Signature you specified is invalid. + 93e7e253c53fc6513ce0dc1c0dd34af925ad028f + +``` + +**对比:** +- 如果 `StringToSign` 相同,说明 Policy 正确,但 Signature 计算错误 +- 如果 `StringToSign` 不同,说明 Policy 构造有问题 + +--- + +## ⚠️ 常见错误 + +### 错误 1:使用 Base64 编码后的 Policy 计算 StringToSign + +❌ **错误:** +```java +String encodedPolicy = Base64.encodeBase64String(jsonPolicy.getBytes()); +String stringToSign = sha1(encodedPolicy); // 错误! +``` + +✅ **正确:** +```java +String stringToSign = sha1(jsonPolicy); // 使用 JSON 原文 +String encodedPolicy = Base64.encodeBase64String(jsonPolicy.getBytes()); +``` + +--- + +### 错误 2:HMAC-SHA1 返回 Base64 而不是十六进制 + +❌ **错误:** +```java +return Base64.encodeBase64String(hmacBytes); // 错误! +``` + +✅ **正确:** +```java +return toHexString(hmacBytes); // 十六进制小写 +``` + +--- + +### 错误 3:Policy 中缺少必需的签名条件 + +❌ **错误:** +```json +{ + "conditions": [ + { "bucket": "xxx" } + // 缺少 q-sign-algorithm, q-ak, q-sign-time + ] +} +``` + +✅ **正确:** +```json +{ + "conditions": [ + { "bucket": "xxx" }, + { "q-sign-algorithm": "sha1" }, + { "q-ak": "AKID..." }, + { "q-sign-time": "1567064374;1567071574" } + ] +} +``` + +--- + +## 📚 参考文档 + +- [腾讯云 COS POST Object 官方文档](https://cloud.tencent.com/document/product/436/14690) +- [COS 请求签名算法](https://cloud.tencent.com/document/product/436/7778) +- [COS 签名工具(在线验证)](https://cloud.tencent.com/document/product/436/30442) + +--- + +## ✅ 验证清单 + +在部署前,确认以下几点: + +- [ ] KeyTime 格式正确:`StartTimestamp;EndTimestamp` +- [ ] Policy 包含所有必需条件 +- [ ] StringToSign = SHA1(Policy JSON 原文) +- [ ] SignKey = HMAC-SHA1(SecretKey, KeyTime) +- [ ] Signature = HMAC-SHA1(SignKey, StringToSign) +- [ ] 所有哈希值都是十六进制小写字符串 +- [ ] 表单提交时包含所有必需字段 + +--- + +## 🎯 总结 + +**关键点:** +1. StringToSign 是 **Policy JSON 原文**的 SHA1,不是 Base64 后的 +2. 所有哈希值都是**十六进制小写字符串**,不是 Base64 +3. Policy 中必须包含 `q-sign-algorithm`, `q-ak`, `q-sign-time` 条件 +4. 表单中必须包含 `q-key-time` 字段 + +**修复后重新编译部署即可!** diff --git a/DEPLOYMENT_CHECKLIST.md b/DEPLOYMENT_CHECKLIST.md deleted file mode 100644 index d2713db..0000000 --- a/DEPLOYMENT_CHECKLIST.md +++ /dev/null @@ -1,445 +0,0 @@ -# RunningHub集成部署检查清单 - -**版本:** v2.1.0 -**日期:** 2025-10-20 - ---- - -## ✅ 部署前检查 - -### 1. 代码文件完整性 - -- [ ] **Provider核心接口** (5个文件) - - [ ] `src/main/java/com/dora/service/provider/AIProvider.java` - - [ ] `src/main/java/com/dora/dto/provider/ProviderTaskRequest.java` - - [ ] `src/main/java/com/dora/dto/provider/ProviderTaskResponse.java` - - [ ] `src/main/java/com/dora/dto/provider/ProviderTaskStatus.java` - - [ ] `src/main/java/com/dora/dto/provider/ProviderTaskResult.java` - -- [ ] **Provider实现** (2个文件) - - [ ] `src/main/java/com/dora/service/provider/impl/OpenAIProviderImpl.java` - - [ ] `src/main/java/com/dora/service/provider/impl/RunningHubProviderImpl.java` - -- [ ] **RunningHub DTO** (5个文件) - - [ ] `src/main/java/com/dora/dto/runninghub/RunningHubSubmitRequest.java` - - [ ] `src/main/java/com/dora/dto/runninghub/RunningHubNodeInfo.java` - - [ ] `src/main/java/com/dora/dto/runninghub/RunningHubSubmitResponse.java` - - [ ] `src/main/java/com/dora/dto/runninghub/RunningHubStatusResponse.java` - - [ ] `src/main/java/com/dora/dto/runninghub/RunningHubOutputResponse.java` - -- [ ] **核心服务** (2个文件) - - [ ] `src/main/java/com/dora/service/AIProviderService.java` - - [ ] `src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java` - -- [ ] **修改的文件** (7个文件) - - [ ] `src/main/resources/application.yml` - 添加providers配置 - - [ ] `src/main/java/com/dora/entity/AiTask.java` - 添加provider字段 - - [ ] `src/main/java/com/dora/entity/PointsConfig.java` - 添加provider字段 - - [ ] `src/main/java/com/dora/mapper/AiTaskMapper.java` - 添加查询方法 - - [ ] `src/main/resources/mapper/AiTaskMapper.xml` - 更新SQL - - [ ] `src/main/java/com/dora/service/impl/AiTaskServiceImpl.java` - 集成Provider - - [ ] `V5__add_provider_support.sql` - 数据库迁移脚本 - -### 2. 配置文件检查 - -```bash -# 检查application.yml中的RunningHub配置 -grep -A 10 "runninghub:" src/main/resources/application.yml -``` - -**必须包含:** -```yaml -runninghub: - enabled: true - base-url: https://www.runninghub.cn - submit-url: /task/openapi/ai-app/run - status-url: /task/openapi/status - output-url: /task/openapi/outputs - default-webapp-id: "1973555977595301890" - api-key: "5c44cef12da3470e9f24da70c63787dc" - polling-interval: 5000 - max-polling-times: 120 -``` - ---- - -## 🗄️ 数据库部署 - -### 1. 执行迁移脚本 - -```bash -# 1. 备份数据库 -mysqldump -u root -p 1818ai > backup_before_v5_$(date +%Y%m%d_%H%M%S).sql - -# 2. 执行迁移 -mysql -u root -p 1818ai < V5__add_provider_support.sql - -# 3. 验证表结构 -mysql -u root -p 1818ai -e "DESC ai_task;" | grep provider -mysql -u root -p 1818ai -e "DESC points_config;" | grep provider -``` - -**预期输出:** -``` -provider_type | varchar(50) | YES | | NULL | -provider_task_id | varchar(100) | YES | | NULL | -provider_response | text | YES | | NULL | -``` - -### 2. 验证模型配置 - -```sql --- 查看插入的RunningHub模型数量 -SELECT COUNT(*) as rh_model_count -FROM points_config -WHERE provider_type = 'runninghub'; --- 预期结果:12 - --- 查看所有模型 -SELECT model_name, description, points_cost, provider_type -FROM points_config -WHERE provider_type = 'runninghub' -ORDER BY points_cost; -``` - ---- - -## 🔧 编译部署 - -### 1. 编译项目 - -```bash -# 清理并编译 -mvn clean package -DskipTests - -# 检查编译结果 -ls -lh target/1818_user_server-1.0-SNAPSHOT.jar -``` - -### 2. 部署到服务器 - -```bash -# 1. 停止服务 -sudo systemctl stop spring_1818_user_server - -# 2. 备份当前版本 -sudo cp /www/wwwroot/1818_user_server/1818_user_server-1.0-SNAPSHOT.jar \ - /www/wwwroot/1818_user_server/backups/1818_user_server-$(date +%Y%m%d_%H%M%S).jar - -# 3. 部署新版本 -sudo cp target/1818_user_server-1.0-SNAPSHOT.jar \ - /www/wwwroot/1818_user_server/ - -# 4. 启动服务 -sudo systemctl start spring_1818_user_server - -# 5. 查看启动日志 -sudo journalctl -u spring_1818_user_server -f --lines=100 -``` - ---- - -## ✅ 部署后验证 - -### 1. 服务启动检查 - -```bash -# 1. 检查进程 -ps aux | grep spring_1818_user_server - -# 2. 检查端口 -netstat -tlnp | grep 8081 - -# 3. 检查日志中的Provider注册 -sudo journalctl -u spring_1818_user_server | grep "注册AI Provider" -``` - -**预期日志输出:** -``` -注册AI Provider: openai, 异步: false -注册AI Provider: runninghub, 异步: true -``` - -### 2. Provider初始化检查 - -```bash -# 查看日志确认Provider初始化成功 -sudo journalctl -u spring_1818_user_server | grep -E "(Provider|AIProviderService)" | tail -20 -``` - -**预期日志:** -``` -INFO AIProviderService - 注册AI Provider: openai, 异步: false -INFO AIProviderService - 注册AI Provider: runninghub, 异步: true -INFO RunningHubPollingScheduler - RunningHub轮询调度器已启动 -``` - -### 3. API健康检查 - -```bash -# 检查服务健康 -curl http://localhost:8081/actuator/health - -# 预期响应 -{"status":"UP"} -``` - ---- - -## 🧪 功能测试 - -### 测试1:OpenAI模型(兼容性测试) - -```bash -# 提交OpenAI模型任务 -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "sora_image", - "prompt": "测试猫咪图片" - }' | jq '.' -``` - -**验证点:** -- [ ] 返回200状态码 -- [ ] 返回taskNo -- [ ] status为"queued"或"processing" -- [ ] 30秒内任务完成 - -### 测试2:RunningHub文生视频 - -```bash -# 提交RunningHub文生视频任务 -RESPONSE=$(curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_text_portrait", - "prompt": "一个人在海边奔跑" - }') - -echo $RESPONSE | jq '.' - -# 提取taskNo -TASK_NO=$(echo $RESPONSE | jq -r '.data.taskNo') -echo "TaskNo: $TASK_NO" -``` - -**验证点:** -- [ ] 返回200状态码 -- [ ] 返回taskNo -- [ ] status为"processing" -- [ ] 查看数据库确认provider_type='runninghub' - -```sql -SELECT task_no, model_name, provider_type, provider_task_id, status -FROM ai_task -WHERE task_no = 'YOUR_TASK_NO'; -``` - -### 测试3:RunningHub图生视频 - -```bash -# 提交RunningHub图生视频任务 -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_img_landscape", - "prompt": "让场景动起来", - "imageUrl": "https://example.com/test-image.jpg" - }' | jq '.' -``` - -**验证点:** -- [ ] 返回200状态码 -- [ ] 任务提交成功 -- [ ] 查看日志确认image节点包含完整URL - -```bash -sudo journalctl -u spring_1818_user_server | grep "RunningHub Provider - 请求体" | tail -1 -``` - -### 测试4:轮询机制 - -```bash -# 实时查看轮询日志 -sudo journalctl -u spring_1818_user_server -f | grep "RunningHub轮询" -``` - -**验证点:** -- [ ] 每5秒输出一次轮询日志 -- [ ] 显示待处理任务数量 -- [ ] 任务状态正确更新(QUEUED → RUNNING → SUCCESS) - ---- - -## 📊 监控指标 - -### 1. 任务状态分布 - -```sql -SELECT - provider_type, - status, - COUNT(*) as count -FROM ai_task -WHERE create_time > DATE_SUB(NOW(), INTERVAL 1 HOUR) -GROUP BY provider_type, status; -``` - -### 2. 平均处理时间 - -```sql -SELECT - provider_type, - model_name, - AVG(TIMESTAMPDIFF(SECOND, start_time, complete_time)) as avg_seconds, - COUNT(*) as total_tasks -FROM ai_task -WHERE status = 'completed' - AND create_time > DATE_SUB(NOW(), INTERVAL 24 HOUR) -GROUP BY provider_type, model_name; -``` - -### 3. 失败任务分析 - -```sql -SELECT - provider_type, - error_message, - COUNT(*) as error_count -FROM ai_task -WHERE status = 'failed' - AND create_time > DATE_SUB(NOW(), INTERVAL 24 HOUR) -GROUP BY provider_type, error_message -ORDER BY error_count DESC; -``` - ---- - -## 🔧 常见问题排查 - -### 问题1:Provider未注册 - -**症状:** 日志中没有"注册AI Provider" -**排查:** -```bash -# 检查是否有编译错误 -sudo journalctl -u spring_1818_user_server | grep -i "error" | tail -20 - -# 检查Provider类是否加载 -sudo journalctl -u spring_1818_user_server | grep "Provider" | tail -30 -``` - -### 问题2:RunningHub任务卡在processing - -**排查:** -```bash -# 1. 检查轮询是否正常 -sudo journalctl -u spring_1818_user_server | grep "轮询" | tail -10 - -# 2. 检查网络连接 -curl -I https://www.runninghub.cn/task/openapi/status - -# 3. 手动查询任务状态 -curl -X POST "https://www.runninghub.cn/task/openapi/status" \ - -H "Content-Type: application/json" \ - -d '{ - "apiKey": "YOUR_API_KEY", - "taskId": "PROVIDER_TASK_ID" - }' | jq '.' -``` - -### 问题3:图生视频失败 - -**排查:** -```bash -# 查看详细错误日志 -sudo journalctl -u spring_1818_user_server | grep -A 5 "图生视频" - -# 检查提交的请求体 -sudo journalctl -u spring_1818_user_server | grep "RunningHub Provider - 请求体" -``` - -**常见原因:** -- 图片URL无法访问 -- 图片包含真人(RunningHub不支持) -- 未提供imageUrl或imageBase64 - ---- - -## 📋 回滚方案 - -如果部署后发现问题,可以快速回滚: - -```bash -# 1. 停止服务 -sudo systemctl stop spring_1818_user_server - -# 2. 恢复旧版本 -sudo cp /www/wwwroot/1818_user_server/backups/1818_user_server_BACKUP_TIME.jar \ - /www/wwwroot/1818_user_server/1818_user_server-1.0-SNAPSHOT.jar - -# 3. 回滚数据库(如果需要) -mysql -u root -p 1818ai < backup_before_v5_TIMESTAMP.sql - -# 4. 启动服务 -sudo systemctl start spring_1818_user_server -``` - ---- - -## ✅ 部署成功标志 - -全部验证通过后,确认以下所有项: - -- [x] **服务正常启动** - - 进程存在 - - 端口8081监听 - - 日志无ERROR - -- [x] **Provider注册成功** - - 日志显示openai和runninghub都已注册 - - AIProviderService初始化完成 - -- [x] **数据库表结构正确** - - ai_task包含provider_*字段 - - points_config包含provider_*字段 - - 12个RunningHub模型已插入 - -- [x] **OpenAI模型正常**(兼容性) - - 能提交任务 - - 能正常完成 - - 积分正确扣除 - -- [x] **RunningHub文生视频正常** - - 能提交任务 - - provider_task_id正确保存 - - 轮询机制工作 - - 2-5分钟后获得结果 - -- [x] **RunningHub图生视频正常** - - 支持imageUrl参数 - - image节点正确构建 - - 能够完成任务 - -- [x] **轮询调度器正常** - - 每5秒执行一次 - - 正确更新任务状态 - - 失败任务自动退款 - ---- - -## 📞 技术支持 - -如有问题,请提供以下信息: - -1. 错误日志(最近100行) -2. 数据库中的任务记录 -3. 具体的API请求和响应 -4. 环境信息(Java版本、MySQL版本等) - -**祝部署顺利!** 🚀 - diff --git a/FIX_V5_provider_type.sql b/FIX_V5_provider_type.sql deleted file mode 100644 index 11b4ccd..0000000 --- a/FIX_V5_provider_type.sql +++ /dev/null @@ -1,20 +0,0 @@ --- ============================================================ --- 修复脚本:更新V5中provider_type的值 --- 问题:V5插入的RunningHub模型provider_type为空字符串,应为'runninghub' --- 执行时间:2025-10-20 --- ============================================================ - --- 更新所有RunningHub模型的provider_type -UPDATE `points_config` -SET `provider_type` = 'runninghub' -WHERE `model_name` LIKE 'rh_sora2_%' - AND (`provider_type` = '' OR `provider_type` IS NULL); - --- 验证更新结果 -SELECT model_name, provider_type, description -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; - --- 预期结果:所有RunningHub模型的provider_type应为'runninghub' - - diff --git a/FIX_ai_task_type.sql b/FIX_ai_task_type.sql deleted file mode 100644 index 5d1ef5b..0000000 --- a/FIX_ai_task_type.sql +++ /dev/null @@ -1,25 +0,0 @@ --- ============================================================ --- 修复AI任务的task_type字段 --- 描述: 将ai_task表中的task_type从points_config表中同步过来 --- 作者: 1818AI --- 日期: 2025-10-23 --- ============================================================ - -USE `1818ai`; - --- 更新ai_task表的task_type字段,从points_config表中获取正确的值 -UPDATE ai_task a -INNER JOIN points_config p ON a.model_name = p.model_name -SET a.task_type = p.task_type -WHERE a.task_type IN ('unknown', 'video', 'image', 'other') - AND p.task_type IS NOT NULL - AND p.task_type != ''; - --- 查看更新结果 -SELECT - model_name, - task_type, - COUNT(*) as count -FROM ai_task -GROUP BY model_name, task_type -ORDER BY model_name; diff --git a/FIX_task_type_data.sql b/FIX_task_type_data.sql deleted file mode 100644 index e312cf2..0000000 --- a/FIX_task_type_data.sql +++ /dev/null @@ -1,67 +0,0 @@ --- ================================================================= --- 修复 points_config 表的 task_type 数据 --- 时间: 2025-10-22 --- 描述: 修正所有模型的 task_type 分类 --- ================================================================= - --- 指定数据库 -USE `1818_user_server`; - --- 1. 修正 RunningHub Sora2 文生视频模型 -UPDATE `points_config` -SET `task_type` = 'text_to_video' -WHERE `model_name` IN ( - 'rh_sora2_text_portrait', -- RunningHub 文生视频-竖屏 - 'rh_sora2_text_landscape', -- RunningHub 文生视频-横屏 - 'rh_sora2_text_portrait_hd', -- RunningHub 文生视频-高清竖屏 - 'rh_sora2_text_landscape_hd', -- RunningHub 文生视频-高清横屏 - 'rh_sora2_text_portrait_15s', -- RunningHub 文生视频-竖屏15秒 - 'rh_sora2_text_landscape_15s' -- RunningHub 文生视频-横屏15秒 -); - --- 2. 修正 RunningHub Sora2 图生视频模型 -UPDATE `points_config` -SET `task_type` = 'image_to_video' -WHERE `model_name` IN ( - 'rh_sora2_img_portrait', -- RunningHub 图生视频-竖屏 - 'rh_sora2_img_landscape', -- RunningHub 图生视频-横屏 - 'rh_sora2_img_portrait_hd', -- RunningHub 图生视频-高清竖屏 - 'rh_sora2_img_landscape_hd', -- RunningHub 图生视频-高清横屏 - 'rh_sora2_img_portrait_15s', -- RunningHub 图生视频-竖屏15秒 - 'rh_sora2_img_landscape_15s' -- RunningHub 图生视频-横屏15秒 -); - --- 3. 修正其他已知模型 -UPDATE `points_config` -SET `task_type` = 'text_to_image' -WHERE `model_name` IN ('sora_image', 'gpt-4o-image'); - -UPDATE `points_config` -SET `task_type` = 'text_to_video' -WHERE `model_name` IN ( - 'sora_video2', -- 竖屏10秒 - 'sora_video2-landscape', -- 横屏10秒 - 'sora_video2-15s', -- 竖屏15秒 - 'sora_video2-landscape-15s', -- 横屏15秒 - 'sora-2-pro-all' -- Sora Pro高清视频 -); - --- 4. 验证更新结果 -SELECT - model_name, - provider_type, - task_type, - description -FROM points_config -WHERE is_deleted = 0 -ORDER BY provider_type, task_type, model_name; - --- 5. 统计各类型的模型数量 -SELECT - task_type, - provider_type, - COUNT(*) as count -FROM points_config -WHERE is_deleted = 0 AND is_enabled = 1 -GROUP BY task_type, provider_type -ORDER BY task_type, provider_type; diff --git a/IMPLEMENTATION_SUMMARY.md b/IMPLEMENTATION_SUMMARY.md deleted file mode 100644 index 0320958..0000000 --- a/IMPLEMENTATION_SUMMARY.md +++ /dev/null @@ -1,406 +0,0 @@ -# 积分充值系统实现总结 - -## ✅ 功能完成情况 - -### 已完成的功能模块 - -#### 1. 数据库层 ✅ -- ✅ 创建 `points_package` 表(积分套餐) -- ✅ 扩展 `order` 表支持积分订单 -- ✅ 插入6个默认积分套餐 -- ✅ 添加系统配置参数 -- ✅ 创建充值统计视图 - -**文件**:`V6__add_points_recharge_system.sql` - ---- - -#### 2. 实体类层 ✅ -- ✅ `PointsPackage` - 积分套餐实体 -- ✅ `Order` - 扩展支持积分订单字段 -- ✅ `PointsRechargeDto` - 充值相关DTO - -**文件**: -- `src/main/java/com/dora/entity/PointsPackage.java` -- `src/main/java/com/dora/entity/Order.java`(已扩展) -- `src/main/java/com/dora/dto/PointsRechargeDto.java` - ---- - -#### 3. 数据访问层 ✅ -- ✅ `PointsPackageMapper` - 套餐CRUD -- ✅ `OrderMapper` - 扩展积分订单查询 -- ✅ `OrderMapperExt.xml` - 积分订单XML映射 - -**文件**: -- `src/main/java/com/dora/mapper/PointsPackageMapper.java` -- `src/main/java/com/dora/mapper/OrderMapper.java`(已扩展) -- `src/main/resources/mapper/OrderMapperExt.xml` - ---- - -#### 4. 业务逻辑层 ✅ -- ✅ `PointsRechargeService` - 充值服务接口 -- ✅ `PointsRechargeServiceImpl` - 充值服务实现 - - ✅ 套餐查询 - - ✅ 订单创建 - - ✅ 首充奖励(10%) - - ✅ 支付成功处理 - - ✅ 积分到账 - - ✅ 充值记录 - - ✅ 充值统计 - -**文件**: -- `src/main/java/com/dora/service/PointsRechargeService.java` -- `src/main/java/com/dora/service/impl/PointsRechargeServiceImpl.java` - ---- - -#### 5. 控制器层 ✅ -- ✅ `PointsRechargeController` - 用户端充值接口 - - ✅ 获取套餐列表 - - ✅ 获取热门套餐 - - ✅ 创建充值订单 - - ✅ 查询充值记录 - - ✅ 查询充值统计 -- ✅ `PaymentCallbackController` - 支付回调接口 - - ✅ 支付宝回调 - - ✅ 微信支付回调 - - ✅ 测试回调(开发用) - -**文件**: -- `src/main/java/com/dora/controller/PointsRechargeController.java` -- `src/main/java/com/dora/controller/PaymentCallbackController.java` - ---- - -#### 6. 安全配置 ✅ -- ✅ 开放套餐浏览接口(公开访问) -- ✅ 开放支付回调接口(第三方调用) -- ✅ 保护充值操作接口(需要登录) - -**文件**:`src/main/java/com/dora/config/SecurityConfig.java`(已更新) - ---- - -## 📊 数据表结构 - -### points_package(积分套餐表) - -| 字段 | 类型 | 说明 | -|------|------|------| -| id | bigint | 主键 | -| name | varchar(64) | 套餐名称 | -| points | int | 基础积分 | -| bonus_points | int | 赠送积分 | -| total_points | int | 总积分 | -| price | decimal(10,2) | 价格 | -| original_price | decimal(10,2) | 原价 | -| is_hot | tinyint(1) | 是否热门 | -| is_active | tinyint(1) | 是否上架 | - -### order(订单表 - 已扩展) - -| 新增字段 | 类型 | 说明 | -|---------|------|------| -| order_type | tinyint | 1-会员订单/2-积分订单 | -| points_package_id | bigint | 积分套餐ID | -| points_amount | int | 积分数量 | - ---- - -## 🔌 API接口清单 - -### 用户端接口 - -| 接口 | 方法 | 权限 | 说明 | -|------|------|------|------| -| /user/points/packages | GET | 公开 | 获取套餐列表 | -| /user/points/packages/hot | GET | 公开 | 获取热门套餐 | -| /user/points/packages/{id} | GET | 公开 | 获取套餐详情 | -| /user/points/recharge | POST | 登录 | 创建充值订单 | -| /user/points/recharge/records | GET | 登录 | 获取充值记录 | -| /user/points/recharge/stats | GET | 登录 | 获取充值统计 | - -### 支付回调接口 - -| 接口 | 方法 | 权限 | 说明 | -|------|------|------|------| -| /payment/callback/alipay | POST | 公开 | 支付宝回调 | -| /payment/callback/wechat | POST | 公开 | 微信支付回调 | -| /payment/callback/test | POST | 公开 | 测试回调 | - ---- - -## 🔄 业务流程 - -### 充值流程 - -``` -1. 用户浏览套餐 - ↓ -2. 选择套餐,选择支付方式 - ↓ -3. 创建订单(计算首充奖励) - ↓ -4. 生成支付参数 - ↓ -5. 调起支付(支付宝/微信) - ↓ -6. 用户完成支付 - ↓ -7. 支付平台回调通知 - ↓ -8. 验证签名 - ↓ -9. 更新用户积分 - ↓ -10. 更新订单状态 - ↓ -11. 记录变动日志 - ↓ -12. 用户查看充值成功 -``` - ---- - -## 💡 核心特性 - -### 1. 首充奖励 -- 自动识别首次充值 -- 额外赠送10%积分 -- 记录在订单的 `discountDescription` 字段 - -### 2. 套餐赠送 -- 每个套餐可配置赠送积分 -- `total_points = points + bonus_points` -- 示例:标准包 500基础+50赠送=550积分 - -### 3. 积分有效期 -- 默认365天 -- 可配置 -- 支持延长(多次充值累加) - -### 4. 安全机制 -- JWT身份认证 -- 支付签名验证 -- 订单防重复处理 -- 事务保证一致性 - ---- - -## 📁 项目文件清单 - -### 新增文件(18个) - -#### 数据库 -- `V6__add_points_recharge_system.sql` - -#### 实体类 -- `src/main/java/com/dora/entity/PointsPackage.java` - -#### DTO -- `src/main/java/com/dora/dto/PointsRechargeDto.java` - -#### Mapper -- `src/main/java/com/dora/mapper/PointsPackageMapper.java` -- `src/main/resources/mapper/OrderMapperExt.xml` - -#### Service -- `src/main/java/com/dora/service/PointsRechargeService.java` -- `src/main/java/com/dora/service/impl/PointsRechargeServiceImpl.java` - -#### Controller -- `src/main/java/com/dora/controller/PointsRechargeController.java` -- `src/main/java/com/dora/controller/PaymentCallbackController.java` - -#### 文档 -- `POINTS_RECHARGE_GUIDE.md` - 完整使用指南 -- `QUICK_START_POINTS_RECHARGE.md` - 快速启动 -- `IMPLEMENTATION_SUMMARY.md` - 实现总结(本文件) - -### 修改文件(3个) - -- `src/main/java/com/dora/entity/Order.java` - 添加积分订单字段 -- `src/main/java/com/dora/mapper/OrderMapper.java` - 添加积分订单查询方法 -- `src/main/java/com/dora/config/SecurityConfig.java` - 开放充值相关接口 - ---- - -## 🧪 测试清单 - -### 单元测试 -- [ ] PointsPackageMapper CRUD测试 -- [ ] OrderMapper 积分订单查询测试 -- [ ] PointsRechargeService 业务逻辑测试 - -### 集成测试 -- [x] 套餐列表查询 -- [x] 充值订单创建 -- [x] 支付回调处理 -- [x] 积分到账验证 -- [x] 首充奖励计算 -- [x] 充值记录查询 - -### 性能测试 -- [ ] 并发充值测试 -- [ ] 支付回调并发测试 -- [ ] 数据库连接池压力测试 - ---- - -## 🔧 待完善功能 - -### 1. 支付接口对接(重要) - -当前状态: -- ✅ 接口框架已完成 -- ❌ 支付宝SDK未集成 -- ❌ 微信支付SDK未集成 - -需要做: -```java -// TODO: 在 PointsRechargeServiceImpl 中实现 -private String generatePaymentParams(Order order, Integer paymentMethod) { - if (paymentMethod == 1) { - // 对接支付宝SDK - return generateAlipayParams(order); - } else { - // 对接微信支付SDK - return generateWechatPayParams(order); - } -} -``` - -### 2. 支付回调签名验证(重要) - -当前状态: -- ✅ 回调接口已完成 -- ❌ 签名验证未实现 - -需要做: -```java -// TODO: 在 PaymentCallbackController 中实现 -// 支付宝签名验证 -boolean signVerified = AlipaySignature.rsaCheckV1(params, ...); - -// 微信签名验证 -boolean signVerified = WXPayUtil.isSignatureValid(params, ...); -``` - -### 3. 订单超时处理 - -建议添加: -- 定时任务扫描超时未支付订单 -- 自动取消超时订单 -- 释放冻结资源 - -### 4. 支付失败重试 - -建议添加: -- 支付失败订单重试机制 -- 重试次数限制 -- 失败原因记录 - -### 5. 管理员功能 - -建议添加: -- 积分套餐管理(CRUD) -- 充值订单查询 -- 充值数据统计 -- 异常订单处理 - ---- - -## 📈 性能优化建议 - -### 1. 数据库优化 -- ✅ 已添加必要索引 -- 建议:分表存储历史订单(按月/年) -- 建议:Redis缓存热门套餐 - -### 2. 接口优化 -- 建议:套餐列表接口加缓存(Redis) -- 建议:充值记录分页优化 -- 建议:使用消息队列处理回调 - -### 3. 安全优化 -- 建议:限流防刷(单用户充值频率) -- 建议:订单防重(幂等性) -- 建议:支付回调IP白名单 - ---- - -## 🎯 部署检查清单 - -### 开发环境 -- [x] 数据库迁移脚本执行 -- [x] 默认套餐数据插入 -- [x] 接口功能测试 -- [x] 测试回调功能正常 - -### 生产环境(重要!) -- [ ] 支付宝商户配置 -- [ ] 微信支付商户配置 -- [ ] 支付回调URL配置(HTTPS) -- [ ] 支付密钥配置 -- [ ] 小额充值测试(¥0.01) -- [ ] 监控日志配置 -- [ ] 异常告警配置 - ---- - -## 📞 技术支持 - -### 遇到问题? - -1. **查看文档**: - - `POINTS_RECHARGE_GUIDE.md` - 完整指南 - - `QUICK_START_POINTS_RECHARGE.md` - 快速上手 - -2. **检查日志**: - ```bash - tail -f logs/application.log | grep "points\|recharge\|payment" - ``` - -3. **数据库检查**: - ```sql - -- 检查订单状态 - SELECT * FROM `order` WHERE order_type = 2 ORDER BY create_time DESC LIMIT 10; - - -- 检查用户积分 - SELECT id, username, points, points_expires_at FROM user WHERE id = ?; - - -- 检查积分变动 - SELECT * FROM points_consumption_log WHERE user_id = ? ORDER BY create_time DESC; - ``` - ---- - -## 🎉 总结 - -### 已实现 ✅ -- ✅ 完整的积分套餐系统 -- ✅ 充值订单创建流程 -- ✅ 支付回调处理框架 -- ✅ 积分自动到账 -- ✅ 首充奖励机制 -- ✅ 充值记录查询 -- ✅ 充值统计功能 -- ✅ 安全认证配置 - -### 待对接 ⏳ -- ⏳ 支付宝SDK集成 -- ⏳ 微信支付SDK集成 -- ⏳ 签名验证实现 - -### 建议扩展 💡 -- 💡 管理员套餐管理 -- 💡 订单超时处理 -- 💡 充值数据分析 -- 💡 营销活动支持 - ---- - -**系统已经可以运行,核心功能完整,只需对接真实支付接口即可上线!** 🚀 - diff --git a/MULTI_VENDOR_ADAPTER_DESIGN.md b/MULTI_VENDOR_ADAPTER_DESIGN.md deleted file mode 100644 index 6301170..0000000 --- a/MULTI_VENDOR_ADAPTER_DESIGN.md +++ /dev/null @@ -1,242 +0,0 @@ -# 多厂商AI API适配器设计方案 - -## 📋 目标 - -支持接入多个AI服务提供商,包括: -1. **OpenAI格式API**(当前使用的api.apiyi.com) -2. **RunningHub API** -3. 未来的其他厂商 - -## 🏗️ 架构设计 - -``` -┌─────────────────────────────────────────────────────────┐ -│ AiTaskService │ -│ (业务逻辑层,不变) │ -└────────────────────┬────────────────────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────┐ -│ AIProviderService (新增) │ -│ 根据模型配置选择对应的Provider │ -└────────────────────┬────────────────────────────────────┘ - │ - ┌───────────┴───────────┐ - ▼ ▼ -┌──────────────────┐ ┌──────────────────┐ -│ OpenAIProvider │ │ RunningHubProvider│ -│ (适配器1) │ │ (适配器2) │ -└──────────────────┘ └──────────────────┘ - │ │ - ▼ ▼ -┌──────────────────┐ ┌──────────────────┐ -│ api.apiyi.com │ │ www.runninghub.cn│ -│ (第三方API) │ │ (第三方API) │ -└──────────────────┘ └──────────────────┘ -``` - -## 📝 实现步骤 - -### 1. 定义统一的Provider接口 - -```java -public interface AIProvider { - /** - * 提交任务到AI服务商 - * @return 统一的任务响应对象 - */ - ProviderTaskResponse submitTask(ProviderTaskRequest request); - - /** - * 查询任务状态 - */ - ProviderTaskStatus queryTaskStatus(String providerTaskId); - - /** - * 获取任务结果 - */ - ProviderTaskResult getTaskResult(String providerTaskId); - - /** - * 获取服务商名称 - */ - String getProviderName(); -} -``` - -### 2. 扩展数据库表 - -#### points_config表新增字段 -```sql -ALTER TABLE `points_config` -ADD COLUMN `provider_type` VARCHAR(50) NOT NULL DEFAULT 'openai' - COMMENT 'AI服务提供商类型:openai, runninghub', -ADD COLUMN `provider_config` TEXT NULL - COMMENT '服务商特定配置(JSON格式)'; -``` - -#### ai_task表新增字段 -```sql -ALTER TABLE `ai_task` -ADD COLUMN `provider_type` VARCHAR(50) NULL - COMMENT 'AI服务提供商类型', -ADD COLUMN `provider_task_id` VARCHAR(100) NULL - COMMENT '服务商返回的任务ID', -ADD COLUMN `provider_response` TEXT NULL - COMMENT '服务商原始响应(JSON)'; -``` - -### 3. 配置文件扩展 - -```yaml -# application.yml -ai: - providers: - openai: - enabled: true - base-url: https://api.apiyi.com/v1/chat/completions - api-key: sk-xxx - timeout: 300000 - runninghub: - enabled: true - base-url: https://www.runninghub.cn - submit-url: /task/openapi/ai-app/run - status-url: /task/openapi/status - output-url: /task/openapi/outputs - default-webapp-id: "1973555977595301890" - api-key: 5c44cef12da3470e9f24da70c63787dc - polling-interval: 5000 # 轮询间隔(毫秒) - max-polling-times: 120 # 最大轮询次数(10分钟) -``` - -## 🔧 RunningHub特殊处理 - -### 模型映射配置 - -在`points_config`表中配置RunningHub模型: - -```sql -INSERT INTO `points_config` -(model_name, points_cost, description, is_enabled, provider_type, provider_config) -VALUES -('rh_sora2_portrait', 160, 'RunningHub Sora2 竖屏视频', 1, 'runninghub', - '{"webappId":"1973555977595301890","duration":10,"model":"portrait"}'), - -('rh_sora2_landscape', 160, 'RunningHub Sora2 横屏视频', 1, 'runninghub', - '{"webappId":"1973555977595301890","duration":10,"model":"landscape"}'), - -('rh_sora2_portrait_hd', 420, 'RunningHub Sora2 高清竖屏', 1, 'runninghub', - '{"webappId":"1973555977595301890","duration":10,"model":"portrait-hd"}'); -``` - -### 异步任务处理流程 - -RunningHub是异步API,需要特殊处理: - -``` -1. 提交任务 → 获得taskId -2. 更新数据库:provider_task_id = taskId, status = 'processing' -3. 启动轮询任务: - - 每5秒查询一次状态 - - RUNNING → 继续轮询 - - SUCCESS → 获取结果 → 更新status='completed' - - FAILED → 更新status='failed' - - 超时 → 更新status='failed' -``` - -## 📦 核心类设计 - -### ProviderTaskRequest(统一请求) -```java -@Data -public class ProviderTaskRequest { - private String modelName; - private String prompt; - private String imageUrl; - private String imageBase64; - private String aspectRatio; - private Integer duration; // 视频时长 - private Map extraParams; // 扩展参数 -} -``` - -### ProviderTaskResponse(统一响应) -```java -@Data -public class ProviderTaskResponse { - private String providerTaskId; // 服务商任务ID - private TaskSubmitStatus status; // SUBMITTED, PROCESSING, COMPLETED, FAILED - private String resultUrl; // 如果是同步返回,直接有结果 - private String errorMessage; - private Map rawResponse; // 原始响应 -} -``` - -### RunningHubNodeInfo(RunningHub请求节点) -```java -@Data -public class RunningHubNodeInfo { - private String nodeId; - private String fieldName; - private String fieldValue; - private String fieldData; // 可选 - private String description; -} -``` - -## 🔄 任务轮询设计 - -### 新增定时任务 -```java -@Scheduled(fixedDelay = 5000) // 每5秒执行一次 -public void pollAsyncTasks() { - // 1. 查询所有 status='processing' 且 provider_type='runninghub' 的任务 - // 2. 对每个任务调用 queryTaskStatus - // 3. 根据状态更新数据库 - // 4. 如果完成,调用 getTaskResult 获取结果 -} -``` - -## 📊 数据流转 - -### OpenAI格式(同步) -``` -用户提交 → OpenAIProvider.submitTask() - → 直接返回结果URL - → 更新status='completed' -``` - -### RunningHub格式(异步) -``` -用户提交 → RunningHubProvider.submitTask() - → 返回taskId,status='RUNNING' - → 定时任务轮询 - → 检测到SUCCESS - → getTaskResult()获取结果URL - → 更新status='completed' -``` - -## ⚠️ 注意事项 - -1. **配置隔离**:不同厂商的配置独立管理 -2. **错误处理**:统一异常类型,便于业务层处理 -3. **日志记录**:记录每次API调用的原始请求和响应 -4. **超时控制**:异步任务需要设置最大轮询次数 -5. **并发控制**:轮询任务需要考虑并发和限流 -6. **配置热更新**:支持动态切换服务商 - -## 🎯 优势 - -1. ✅ **扩展性**:新增厂商只需实现AIProvider接口 -2. ✅ **解耦**:业务层无需关心底层API差异 -3. ✅ **灵活性**:同一个模型类型可以配置多个厂商 -4. ✅ **可维护性**:每个厂商的逻辑独立封装 -5. ✅ **容错性**:某个厂商故障不影响其他厂商 - -## 📈 未来扩展 - -- 支持厂商负载均衡 -- 支持厂商降级和熔断 -- 支持厂商价格对比和智能选择 -- 支持多厂商并行调用(取最快) - diff --git a/OPTIMIZATION_COMPLETE_v2.2.0.md b/OPTIMIZATION_COMPLETE_v2.2.0.md deleted file mode 100644 index ec939f7..0000000 --- a/OPTIMIZATION_COMPLETE_v2.2.0.md +++ /dev/null @@ -1,498 +0,0 @@ -# RunningHub优化完成总结 - v2.2.0 - -**完成时间:** 2025-10-20 -**任务状态:** ✅ 全部完成 -**版本号:** v2.2.0 - ---- - -## 🎯 任务回顾 - -### 用户需求 -> "要求runninghub同时只能轮询100个任务,超过就放队列中,等待轮询队列出现空位再继续提交任务。优化系统。" - -### 实现目标 -1. ✅ 限制RunningHub并发轮询任务数为100个 -2. ✅ 超出任务自动进入等待队列 -3. ✅ 任务完成后自动处理等待队列 -4. ✅ 提供管理员监控接口 -5. ✅ 完善的日志和文档 - ---- - -## 📦 交付成果 - -### 1. 核心代码(7个文件) - -#### 新增文件(4个) - -✅ **`RunningHubQueueService.java`** (62行) -- 队列管理服务接口 -- 定义核心队列操作方法 - -✅ **`RunningHubQueueServiceImpl.java`** (313行) -- 队列管理服务实现 -- 并发控制逻辑 -- 自动提交/退款机制 - -✅ **`RunningHubQueueProcessor.java`** (70行) -- 定时队列处理器 -- 每5秒检查等待队列 -- 自动提交新任务 - -✅ **`AdminRunningHubQueueController.java`** (103行) -- 管理员监控接口 -- 队列状态查询 -- 手动处理队列 - -#### 修改文件(3个) - -✅ **`application.yml`** -- 添加 `max-polling-tasks: 100` -- 添加 `queue-check-interval: 5000` - -✅ **`AiTaskServiceImpl.java`** -- 注入 `RunningHubQueueService` -- 使用队列服务提交任务 - -✅ **`RunningHubPollingScheduler.java`** -- 任务完成时通知队列服务 -- 触发等待队列处理 - -### 2. 文档(4个) - -✅ **`RUNNINGHUB_QUEUE_OPTIMIZATION.md`** (~600行) -- 问题分析 -- 架构设计 -- 实现细节 -- 性能对比 -- 配置调优 -- 故障排查 - -✅ **`RELEASE_NOTES_v2.2.0.md`** (~500行) -- 版本亮点 -- 性能对比 -- 新增功能详解 -- 部署指南 -- 升级注意事项 - -✅ **`QUICK_REFERENCE.md`** (更新) -- 添加队列监控命令 -- 更新常见问题解答 -- 添加队列相关说明 - -✅ **`OPTIMIZATION_COMPLETE_v2.2.0.md`** (本文档) -- 任务总结 -- 技术亮点 -- 测试验证 - ---- - -## 💡 技术亮点 - -### 1. 并发控制架构 - -``` -┌─────────────────────────────────────────────────┐ -│ 用户提交任务 │ -└─────────────────┬───────────────────────────────┘ - ↓ -┌─────────────────────────────────────────────────┐ -│ RunningHubQueueService.enqueueOrSubmit() │ -├─────────────────────────────────────────────────┤ -│ 检查当前轮询任务数 │ -│ ├─ <100 → 立即提交到RunningHub │ -│ │ 加入pollingTasks集合 │ -│ │ 返回"processing" │ -│ │ │ -│ └─ >=100 → 加入waitingQueue │ -│ 返回"queued" │ -└─────────────────┬───────────────────────────────┘ - ↓ -┌─────────────────────────────────────────────────┐ -│ 任务在RunningHub处理(2-5分钟) │ -└─────────────────┬───────────────────────────────┘ - ↓ -┌─────────────────────────────────────────────────┐ -│ RunningHubPollingScheduler检测到完成 │ -├─────────────────────────────────────────────────┤ -│ 更新任务状态 → 发送通知 │ -│ 调用 onTaskCompleted(taskNo) │ -│ ↓ │ -│ 从pollingTasks移除 │ -│ 调用 processWaitingQueue() │ -│ ↓ │ -│ 从waitingQueue取出任务 → 提交到RunningHub │ -└─────────────────────────────────────────────────┘ -``` - -### 2. 线程安全保证 - -**使用 `synchronized` 保证原子操作:** - -```java -public synchronized boolean enqueueOrSubmit(AiTask task) { - // 原子操作:检查 + 提交/入队 - if (pollingTasks.size() < maxPollingTasks) { - 提交(); - pollingTasks.put(taskNo, task); - return true; - } - waitingQueue.offer(task); - return false; -} - -public synchronized void onTaskCompleted(String taskNo) { - // 原子操作:移除 + 处理队列 - pollingTasks.remove(taskNo); - processWaitingQueue(); -} -``` - -**线程安全的数据结构:** -- `ConcurrentHashMap` - 存储轮询任务 -- `LinkedBlockingQueue` - 存储等待队列 - -### 3. 自动调度机制 - -**两个定时任务:** - -1. **队列处理器**(5秒间隔) - ```java - @Scheduled(fixedDelay = 5000) - public void processWaitingQueue() { - if (有空位 && 队列不为空) { - 从队列提交新任务(); - } - } - ``` - -2. **轮询调度器**(10秒间隔) - ```java - @Scheduled(fixedDelay = 10000) - public void pollRunningHubTasks() { - 查询所有processing任务的状态(); - if (完成) { - 通知队列服务(); // 触发等待队列处理 - } - } - ``` - -### 4. 监控与可观测性 - -**管理员接口:** -```bash -# 查看队列状态 -GET /admin/runninghub/queue/status - -响应: -{ - "maxPollingTasks": 100, - "currentPollingTasks": 85, - "waitingQueueSize": 120, - "availableSlots": 15, - "utilizationRate": "85.0%" -} - -# 手动处理队列 -GET /admin/runninghub/queue/process -``` - -**日志记录:** -``` -RunningHub队列状态 - 正在轮询: 85/100, 等待队列: 120 -任务 TASK_001 立即提交到RunningHub,当前轮询数: 86/100 -任务 TASK_002 加入等待队列,队列位置: 121 -从等待队列提交任务 TASK_003 到RunningHub,当前轮询: 100/100, 剩余队列: 120 -任务 TASK_001 已完成,从轮询列表移除,当前轮询: 99/100 -``` - ---- - -## 📊 性能验证 - -### 测试场景:500并发任务 - -| 指标 | v2.1.1(旧) | v2.2.0(新) | 改善 | -|-----|------------|------------|-----| -| CPU使用率 | 50% | 10% | ↓80% | -| 内存占用 | 5GB | 2GB | ↓60% | -| 轮询任务数 | 500 | 100 | 固定 | -| 等待队列 | 0 | 400 | 自动管理 | -| 系统状态 | 过载 | 正常 | ✅ 稳定 | -| 崩溃风险 | 高 | 无 | ✅ 消除 | - -### 实际测试结果 - -```bash -# 提交500个任务 -for i in {1..500}; do - curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{"modelName":"rh_sora2_text_portrait","prompt":"测试'$i'"}' -done - -# 查看队列状态 -curl "http://localhost:8081/admin/runninghub/queue/status" - -# 结果: -{ - "maxPollingTasks": 100, - "currentPollingTasks": 100, // 轮询满载 - "waitingQueueSize": 400, // 400个等待 - "availableSlots": 0, - "utilizationRate": "100.0%" -} - -# 系统资源: -CPU: 10% (稳定) -内存: 2.1GB (可控) -``` - ---- - -## ✅ 完成清单 - -### 功能实现 - -- [x] 轮询任务数限制(100个上限) -- [x] 等待队列管理(FIFO) -- [x] 自动任务调度(任务完成后提交新任务) -- [x] 线程安全保证(synchronized + 并发数据结构) -- [x] 监控接口(队列状态查询) -- [x] 手动干预(管理员处理队列) -- [x] 日志记录(详细的队列操作日志) -- [x] 用户通知(队列位置和预计等待时间) - -### 代码质量 - -- [x] 代码注释完整(中文) -- [x] 异常处理完善 -- [x] 日志记录详细 -- [x] 命名规范统一 -- [x] 线程安全保证 - -### 文档完整性 - -- [x] 架构设计文档 -- [x] 实现细节说明 -- [x] 配置调优指南 -- [x] 部署升级文档 -- [x] 故障排查手册 -- [x] 版本发布说明 - ---- - -## 🔧 部署验证 - -### 验证步骤 - -```bash -# 1. 编译检查 -mvn clean compile -DskipTests -# ✅ 编译成功,无错误 - -# 2. 检查配置文件 -grep -A 5 "runninghub:" src/main/resources/application.yml -# ✅ 包含 max-polling-tasks 和 queue-check-interval - -# 3. 检查新增文件 -find src/main/java/com/dora -name "*Queue*" -type f -# ✅ 4个新文件存在 - -# 4. 检查调度器启用 -grep "@EnableScheduling" src/main/java/com/dora/Application.java -# ✅ 已启用调度 - -# 5. 运行测试(准备部署) -mvn clean package -DskipTests -# ✅ 打包成功 -``` - ---- - -## 📚 文档索引 - -### 核心文档 - -1. **`RUNNINGHUB_QUEUE_OPTIMIZATION.md`** - **必读** - - 队列优化方案完整说明 - - 适合开发和运维人员 - -2. **`RELEASE_NOTES_v2.2.0.md`** - **必读** - - 版本更新说明 - - 部署升级指南 - -3. **`QUICK_REFERENCE.md`** - - 快速参考手册 - - 日常使用指南 - -### 其他相关文档 - -4. **`RUNNINGHUB_USAGE_GUIDE.md`** - - 12个模型使用指南 - -5. **`RUNNINGHUB_CONCURRENCY_ANALYSIS.md`** - - 并发能力深度分析 - -6. **`POLLING_INTERVAL_OPTIMIZATION.md`** - - 轮询间隔优化说明 - ---- - -## 💡 最佳实践建议 - -### 1. 监控建议 - -**每日检查:** -```sql --- 查看队列积压情况 -SELECT - DATE_FORMAT(create_time, '%Y-%m-%d %H:00') as hour, - COUNT(CASE WHEN status='queued' THEN 1 END) as queued, - COUNT(CASE WHEN status='processing' THEN 1 END) as processing, - COUNT(CASE WHEN status='completed' THEN 1 END) as completed -FROM ai_task -WHERE provider_type = 'runninghub' - AND create_time > DATE_SUB(NOW(), INTERVAL 24 HOUR) -GROUP BY hour -ORDER BY hour DESC; -``` - -**告警规则:** -```yaml -# 等待队列过长 -if (waitingQueueSize > 500) { - 发送告警通知(); - 考虑增加max_polling_tasks到150(); -} - -# 队列处理效率低 -if (完成任务数/小时 < 50) { - 检查RunningHub API状态(); -} -``` - -### 2. 配置建议 - -**低流量期(夜间):** -```yaml -max-polling-tasks: 50 # 降低并发,节省资源 -``` - -**高流量期(白天):** -```yaml -max-polling-tasks: 150 # 提高并发,快速处理 -``` - -**动态调整(可选):** -```java -// 根据RunningHub API响应时间动态调整 -if (平均响应时间 > 5秒) { - 减少max_polling_tasks(); -} else if (等待队列很长 && 响应正常) { - 增加max_polling_tasks(); -} -``` - ---- - -## 🎯 后续优化方向 - -### v2.3.0 计划功能 - -1. **优先级队列** - - VIP用户任务优先处理 - - 支持紧急任务插队 - -2. **Redis队列** - - 持久化队列数据 - - 支持分布式部署 - - 服务重启不丢失任务 - -3. **动态限流** - - 根据API响应时间自动调整并发 - - 智能熔断保护 - -4. **监控面板** - - 实时队列可视化 - - 任务处理趋势图 - - 性能指标仪表盘 - ---- - -## 📞 技术支持 - -### 常见问题 - -**Q1:队列一直堆积怎么办?** -```bash -# 1. 查看队列状态 -curl "http://localhost:8081/admin/runninghub/queue/status" - -# 2. 手动处理队列 -curl "http://localhost:8081/admin/runninghub/queue/process" - -# 3. 临时提高并发上限 -# 修改 application.yml: max-polling-tasks: 150 -# 重启服务 -``` - -**Q2:如何查看某个任务在队列中的位置?** -```sql -SELECT - task_no, - status, - queue_time, - @rank := @rank + 1 as queue_position -FROM ai_task, (SELECT @rank := 0) r -WHERE status = 'queued' - AND provider_type = 'runninghub' -ORDER BY queue_time; -``` - -**Q3:服务重启后队列任务会丢失吗?** -A:v2.2.0中会丢失(内存队列)。v2.3.0将使用Redis持久化解决此问题。 - ---- - -## ✅ 总结 - -### 优化成果 - -✅ **并发控制**:轮询任务固定在100个,CPU使用率稳定在10% -✅ **队列管理**:超出任务自动排队,支持无限并发 -✅ **自动调度**:任务完成后立即处理等待队列 -✅ **监控完善**:实时队列状态,管理员可手动干预 -✅ **文档齐全**:详细的设计、部署、运维文档 - -### 关键指标 - -| 指标 | 优化前 | 优化后 | 改善幅度 | -|-----|-------|-------|---------| -| 最大轮询任务数 | 无限制 | 100 | ✅ 可控 | -| 500并发CPU | 50% | 10% | ↓80% | -| 500并发内存 | 5GB | 2GB | ↓60% | -| 系统崩溃风险 | 高 | 无 | ✅ 消除 | -| 支持最大并发 | ~200 | 无限 | ✅ 无限 | - -### 用户体验 - -✅ 第1-100个任务:立即提交,无延迟 -✅ 第101+个任务:自动排队,可查看队列位置 -✅ 任务完成后:自动提交新任务,无需等待 -✅ 透明度高:管理员可实时监控队列状态 - ---- - -**RunningHub队列优化 v2.2.0 完成!** 🎉 -**系统现在可以安全处理任意数量的并发任务!** 🚀 - ---- - -**完成时间:** 2025-10-20 -**交付团队:** 1818AI技术团队 -**版本号:** v2.2.0 -**状态:** ✅ 已完成,可部署 - - diff --git a/POINTS_AND_MODELS_SUMMARY.md b/POINTS_AND_MODELS_SUMMARY.md deleted file mode 100644 index 34f255d..0000000 --- a/POINTS_AND_MODELS_SUMMARY.md +++ /dev/null @@ -1,556 +0,0 @@ -# 积分系统与AI模型管理完整功能总结 - -## 📋 目录 -1. [积分消费查询功能](#1-积分消费查询功能) -2. [AI模型列表查询功能](#2-ai模型列表查询功能) -3. [数据库迁移脚本](#3-数据库迁移脚本) -4. [API接口列表](#4-api接口列表) -5. [前端调用示例](#5-前端调用示例) - ---- - -## 1. 积分消费查询功能 - -### 功能概述 -用户可以查看自己的积分余额、消费明细和统计信息。 - -### 核心接口 - -#### 1.1 获取积分余额 -```http -GET /user/points/consumption/balance -Authorization: Bearer {token} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "currentPoints": 1500, - "pointsExpiresAt": "2025-12-31T23:59:59", - "willExpireSoon": false, - "daysUntilExpire": 120 - } -} -``` - -#### 1.2 获取积分消费记录(分页) -```http -GET /user/points/consumption/logs?page=1&size=10&changeType=consume -Authorization: Bearer {token} -``` - -**参数说明:** -- `page`: 页码(默认1) -- `size`: 每页数量(默认10,最大100) -- `changeType`: 变动类型(可选) - - `recharge`: 充值 - - `consume`: 消费 - - `refund`: 退款 - - `admin_adjust`: 管理员调整 - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "records": [ - { - "id": 1, - "taskNo": "TASK202510221234567890", - "changeType": "consume", - "changeTypeName": "消费", - "changeAmount": -10, - "balanceBefore": 1510, - "balanceAfter": 1500, - "description": "AI图片生成消费", - "createTime": "2025-10-22T10:30:00" - } - ], - "total": 100, - "page": 1, - "size": 10, - "totalPages": 10 - } -} -``` - -#### 1.3 获取积分统计 -```http -GET /user/points/consumption/stats -Authorization: Bearer {token} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "currentPoints": 1500, - "totalRechargePoints": 2000, - "totalConsumePoints": 500, - "totalRefundPoints": 0, - "pointsExpiresAt": "2025-12-31T23:59:59" - } -} -``` - ---- - -## 2. AI模型列表查询功能 - -### 功能概述 -用户可以查看系统中所有可用的AI模型,支持按任务类型、厂商分组查询。 - -### 任务类型分类 - -#### 细致分类(数据库 task_type 字段) -- `text_to_image`: 文生图 -- `image_to_image`: 图生图 -- `text_to_video`: 文生视频 -- `image_to_video`: 图生视频 -- `llm`: 大语言模型 -- `text_to_audio`: 文生音频 -- `image_to_text`: 图生文 -- `other`: 其他 - -#### 粗略分类(兼容旧接口) -- `image`: 图片生成(包括 text_to_image 和 image_to_image) -- `video`: 视频生成(包括 text_to_video 和 image_to_video) -- `audio`: 音频生成 -- `text`: 文本生成 - -### 核心接口 - -#### 2.1 获取模型列表(支持筛选) -```http -GET /user/ai/models?taskType=text_to_image&provider=openai&enabledOnly=true -``` - -**参数说明:** -- `taskType`: 任务类型(可选) -- `provider`: 服务提供商(可选:openai/runninghub) -- `enabledOnly`: 是否只返回已启用的模型(默认true) - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": [ - { - "id": 1, - "modelName": "sora_image", - "displayName": "Sora高质量图片生成", - "description": "Sora高质量图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "text_to_image", - "isEnabled": true, - "extendedConfig": {} - } - ] -} -``` - -#### 2.2 按任务类型分组获取模型 -```http -GET /user/ai/models/group-by-type?provider=&enabledOnly=true -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": [ - { - "taskType": "text_to_image", - "taskTypeName": "文生图", - "models": [ - { - "id": 1, - "modelName": "sora_image", - "displayName": "Sora高质量图片生成", - "pointsCost": 11, - "providerType": "openai", - "taskType": "text_to_image", - "isEnabled": true - } - ], - "count": 2 - }, - { - "taskType": "text_to_video", - "taskTypeName": "文生视频", - "models": [...], - "count": 4 - } - ] -} -``` - -#### 2.3 按厂商分组获取模型 -```http -GET /user/ai/models/group-by-provider?taskType=&enabledOnly=true -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": [ - { - "providerType": "openai", - "providerName": "OpenAI", - "models": [...], - "count": 3 - }, - { - "providerType": "runninghub", - "providerName": "RunningHub", - "models": [...], - "count": 5 - } - ] -} -``` - -#### 2.4 获取模型统计 -```http -GET /user/ai/models/stats -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "totalModels": 10, - "enabledModels": 8, - "countByType": { - "text_to_image": 2, - "text_to_video": 4, - "image_to_video": 1, - "llm": 1 - }, - "countByProvider": { - "openai": 3, - "runninghub": 5 - } - } -} -``` - ---- - -## 3. 数据库迁移脚本 - -### V6: 积分充值系统 -- 创建 `points_package` 表(积分套餐) -- 扩展 `order` 表支持积分订单 -- 更新 `points_consumption_log` 表支持充值类型 - -### V7: 任务类型细分 -- 为 `points_config` 表添加 `task_type` 字段 -- 根据现有模型名称更新任务类型 -- 添加多种模型类型示例数据 -- 添加索引优化查询性能 - ---- - -## 4. API接口列表 - -### 4.1 积分消费查询(需要登录) -| 接口 | 方法 | 路径 | 说明 | -|------|------|------|------| -| 获取积分余额 | GET | `/user/points/consumption/balance` | 当前积分和过期时间 | -| 获取消费记录 | GET | `/user/points/consumption/logs` | 分页查询消费明细 | -| 获取积分统计 | GET | `/user/points/consumption/stats` | 累计充值、消费、退款 | - -### 4.2 AI模型查询(公开访问) -| 接口 | 方法 | 路径 | 说明 | -|------|------|------|------| -| 获取模型列表 | GET | `/user/ai/models` | 支持筛选和过滤 | -| 按类型分组 | GET | `/user/ai/models/group-by-type` | 按任务类型分组 | -| 按厂商分组 | GET | `/user/ai/models/group-by-provider` | 按服务提供商分组 | -| 获取统计信息 | GET | `/user/ai/models/stats` | 模型数量统计 | - ---- - -## 5. 前端调用示例 - -### 5.1 Vue 3 + TypeScript 示例 - -```typescript -// api/points.ts -import request from '@/utils/request' - -// 获取积分余额 -export function getPointsBalance() { - return request({ - url: '/user/points/consumption/balance', - method: 'get' - }) -} - -// 获取积分消费记录 -export function getConsumptionLogs(params: { - page?: number - size?: number - changeType?: 'recharge' | 'consume' | 'refund' | 'admin_adjust' -}) { - return request({ - url: '/user/points/consumption/logs', - method: 'get', - params - }) -} - -// 获取积分统计 -export function getConsumptionStats() { - return request({ - url: '/user/points/consumption/stats', - method: 'get' - }) -} - -// api/models.ts -import request from '@/utils/request' - -// 获取所有模型 -export function getAllModels(params: { - taskType?: string - provider?: string - enabledOnly?: boolean -}) { - return request({ - url: '/user/ai/models', - method: 'get', - params - }) -} - -// 按类型分组获取模型 -export function getModelsByType(params: { - provider?: string - enabledOnly?: boolean -}) { - return request({ - url: '/user/ai/models/group-by-type', - method: 'get', - params - }) -} - -// 按厂商分组获取模型 -export function getModelsByProvider(params: { - taskType?: string - enabledOnly?: boolean -}) { - return request({ - url: '/user/ai/models/group-by-provider', - method: 'get', - params - }) -} - -// 获取模型统计 -export function getModelStats() { - return request({ - url: '/user/ai/models/stats', - method: 'get' - }) -} -``` - -### 5.2 React 示例 - -```typescript -// hooks/usePoints.ts -import { useState, useEffect } from 'react' -import { getPointsBalance, getConsumptionLogs } from '@/api/points' - -export function usePointsBalance() { - const [balance, setBalance] = useState(null) - const [loading, setLoading] = useState(true) - - useEffect(() => { - getPointsBalance().then(res => { - setBalance(res.data) - setLoading(false) - }) - }, []) - - return { balance, loading } -} - -// hooks/useModels.ts -import { useState, useEffect } from 'react' -import { getModelsByType } from '@/api/models' - -export function useModelsByType(provider?: string) { - const [models, setModels] = useState([]) - const [loading, setLoading] = useState(true) - - useEffect(() => { - getModelsByType({ provider, enabledOnly: true }).then(res => { - setModels(res.data) - setLoading(false) - }) - }, [provider]) - - return { models, loading } -} -``` - -### 5.3 使用场景示例 - -```vue - - - - -``` - -```vue - - - - -``` - ---- - -## 📌 总结 - -### 已实现功能 -1. ✅ 用户积分余额查询 -2. ✅ 用户积分消费记录查询(分页、筛选) -3. ✅ 用户积分统计信息 -4. ✅ AI模型列表查询(支持筛选) -5. ✅ 按任务类型分组查询模型 -6. ✅ 按厂商分组查询模型 -7. ✅ 模型统计信息 - -### 技术特点 -- 支持细致的任务类型分类(文生图、图生图、图生视频等) -- 向后兼容粗略分类(image、video等) -- 公开访问的模型列表接口,无需登录 -- 需要登录的积分查询接口,保护用户隐私 -- 完整的分页支持 -- 灵活的筛选和分组功能 - -### 数据库优化 -- 添加 `task_type` 字段用于精确分类 -- 添加索引提升查询性能 -- 支持逻辑删除 - -### 安全性 -- 积分相关接口需要用户认证 -- 模型列表接口公开访问,方便前端展示 -- 完整的权限控制配置 - ---- - -**文档版本:** v1.0 -**最后更新:** 2025-10-22 - diff --git a/POINTS_RECHARGE_GUIDE.md b/POINTS_RECHARGE_GUIDE.md deleted file mode 100644 index 66924e0..0000000 --- a/POINTS_RECHARGE_GUIDE.md +++ /dev/null @@ -1,698 +0,0 @@ -# 积分充值系统使用指南 - -## 📋 功能概述 - -本系统实现了完整的积分直接购买功能,用户可以通过支付宝/微信支付直接购买积分,无需依赖礼品码。 - -### ✨ 核心特性 - -- ✅ **多套餐选择**:支持不同价格和数量的积分套餐 -- ✅ **首充奖励**:首次充值额外赠送10%积分 -- ✅ **赠送积分**:每个套餐可配置赠送积分 -- ✅ **支付方式**:支持支付宝和微信支付 -- ✅ **充值记录**:完整的充值历史记录 -- ✅ **自动到账**:支付成功后自动充值到账 -- ✅ **积分有效期**:可配置积分有效期(默认365天) - ---- - -## 🗂️ 数据库结构 - -### 新增表 - -#### 1. `points_package` - 积分套餐表 -```sql -CREATE TABLE `points_package` ( - `id` bigint PRIMARY KEY AUTO_INCREMENT, - `name` varchar(64) NOT NULL COMMENT '套餐名称', - `points` int NOT NULL COMMENT '基础积分', - `bonus_points` int DEFAULT 0 COMMENT '赠送积分', - `total_points` int NOT NULL COMMENT '总积分', - `price` decimal(10,2) NOT NULL COMMENT '价格', - `original_price` decimal(10,2) COMMENT '原价', - `points_expire_days` int DEFAULT 365 COMMENT '有效期', - `discount_label` varchar(32) COMMENT '优惠标签', - `is_hot` tinyint(1) DEFAULT 0 COMMENT '是否热门', - `is_active` tinyint(1) DEFAULT 1 COMMENT '是否上架' -); -``` - -**默认数据**: -| 套餐名称 | 积分 | 赠送 | 总计 | 价格 | 原价 | -|---------|------|------|------|------|------| -| 体验包 | 100 | 0 | 100 | ¥10 | - | -| 标准包 | 500 | 50 | 550 | ¥48 | ¥50 | -| 超值包 | 1000 | 150 | 1150 | ¥88 | ¥100 | -| 豪华包 | 3000 | 500 | 3500 | ¥258 | ¥300 | -| 至尊包 | 5000 | 1000 | 6000 | ¥398 | ¥500 | -| 旗舰包 | 10000 | 3000 | 13000 | ¥688 | ¥1000 | - -### 扩展表 - -#### 2. `order` 表扩展 -新增字段: -```sql -ALTER TABLE `order` -ADD COLUMN `order_type` tinyint DEFAULT 1 COMMENT '1-会员订单/2-积分订单', -ADD COLUMN `points_package_id` bigint COMMENT '积分套餐ID', -ADD COLUMN `points_amount` int COMMENT '积分数量'; -``` - ---- - -## 🔌 API接口文档 - -### 用户端接口(`/user/points`) - -#### 1. 获取积分套餐列表 - -**接口**:`GET /user/points/packages` - -**权限**:公开访问(无需登录) - -**响应示例**: -```json -{ - "code": 200, - "message": "成功", - "data": [ - { - "id": 2, - "name": "标准包", - "description": "日常使用推荐", - "points": 500, - "bonusPoints": 50, - "totalPoints": 550, - "price": 48.00, - "originalPrice": 50.00, - "pointsExpireDays": 365, - "discountLabel": "赠送50积分", - "isHot": true, - "isActive": true - } - ] -} -``` - ---- - -#### 2. 获取热门套餐 - -**接口**:`GET /user/points/packages/hot?limit=3` - -**权限**:公开访问 - -**参数**: -- `limit`:数量限制,默认3 - ---- - -#### 3. 创建充值订单 ⭐ - -**接口**:`POST /user/points/recharge` - -**权限**:需要登录 - -**请求体**: -```json -{ - "packageId": 2, - "paymentMethod": 2 -} -``` - -**参数说明**: -- `packageId`:套餐ID(必填) -- `paymentMethod`:支付方式(必填) - - `1` = 支付宝 - - `2` = 微信支付 - -**响应示例**: -```json -{ - "code": 200, - "message": "成功", - "data": { - "orderNo": "ORD20251021123456", - "amount": 48.00, - "pointsAmount": 605, - "paymentMethod": 2, - "paymentParams": "{\"prepay_id\":\"wx2025102112345678\"}", - "createTime": "2025-10-21T12:34:56" - } -} -``` - -**注意**: -- 首次充值会额外赠送10%积分 -- `pointsAmount` = 基础积分 + 赠送积分 + 首充奖励(如果是首次) -- `paymentParams` 需要传给前端调起支付 - ---- - -#### 4. 获取充值记录 - -**接口**:`GET /user/points/recharge/records?page=1&size=10` - -**权限**:需要登录 - -**响应示例**: -```json -{ - "code": 200, - "message": "成功", - "data": [ - { - "orderNo": "ORD20251021123456", - "packageName": "标准包", - "pointsAmount": 605, - "amount": 48.00, - "paymentMethodName": "微信支付", - "statusName": "已完成", - "createTime": "2025-10-21T12:34:56", - "paidAt": "2025-10-21T12:35:10" - } - ] -} -``` - ---- - -#### 5. 获取充值统计 - -**接口**:`GET /user/points/recharge/stats` - -**权限**:需要登录 - -**响应示例**: -```json -{ - "code": 200, - "message": "成功", - "data": { - "totalRechargeCount": 5, - "totalAmount": 240.00, - "totalPoints": 3025, - "isFirstRecharge": false, - "lastRechargeTime": "2025-10-21T12:35:10" - } -} -``` - ---- - -### 支付回调接口(`/payment/callback`) - -#### 1. 支付宝回调 - -**接口**:`POST /payment/callback/alipay` - -**权限**:公开访问(支付宝服务器调用) - -**处理流程**: -1. 验证支付宝签名 -2. 检查交易状态(`TRADE_SUCCESS` 或 `TRADE_FINISHED`) -3. 调用充值处理逻辑 -4. 返回 `success` 给支付宝 - ---- - -#### 2. 微信支付回调 - -**接口**:`POST /payment/callback/wechat` - -**权限**:公开访问(微信服务器调用) - -**处理流程**: -1. 解析XML数据 -2. 验证微信签名 -3. 检查支付结果 -4. 调用充值处理逻辑 -5. 返回XML响应给微信 - ---- - -#### 3. 测试回调(仅开发环境) - -**接口**:`POST /payment/callback/test?orderNo=ORD20251021123456` - -**权限**:公开访问 - -**用途**:在没有真实支付的情况下测试充值流程 - -**示例**: -```bash -curl -X POST "http://localhost:8080/payment/callback/test?orderNo=ORD20251021123456" -``` - ---- - -## 🔄 业务流程 - -### 完整充值流程 - -``` -用户端 后端 支付平台 - | | | - | 1. 浏览套餐列表 | | - |------------------------>| | - | GET /packages | | - |<------------------------| | - | | | - | 2. 创建充值订单 | | - |------------------------>| | - | POST /recharge | | - | {packageId: 2} | | - | | 3. 生成订单 | - | | 4. 生成支付参数 | - |<------------------------| | - | {orderNo, paymentParams} | - | | | - | 5. 调起支付 | | - |-------------------------------------------------->| - | | | - | | 6. 支付成功 | - | |<---------------------------| - | | POST /callback/alipay | - | | | - | | 7. 验证签名 | - | | 8. 增加用户积分 | - | | 9. 更新订单状态 | - | | 10. 记录变动日志 | - | |-------------------------->| - | | 返回 "success" | - | | | - | 11. 查询充值记录 | | - |------------------------>| | - |<------------------------| | -``` - ---- - -## 💻 前端集成示例 - -### 1. 获取套餐列表 - -```javascript -// 获取积分套餐 -async function getPackages() { - const response = await fetch('/user/points/packages'); - const result = await response.json(); - - if (result.code === 200) { - displayPackages(result.data); - } -} -``` - ---- - -### 2. 创建充值订单 - -```javascript -// 创建充值订单 -async function recharge(packageId, paymentMethod) { - const response = await fetch('/user/points/recharge', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Authorization': 'Bearer ' + getToken() - }, - body: JSON.stringify({ - packageId: packageId, - paymentMethod: paymentMethod // 1=支付宝, 2=微信 - }) - }); - - const result = await response.json(); - - if (result.code === 200) { - const { orderNo, paymentParams } = result.data; - - // 调起支付 - if (paymentMethod === 1) { - // 支付宝支付 - alipay(paymentParams); - } else { - // 微信支付 - wechatPay(paymentParams); - } - } -} -``` - ---- - -### 3. 支付宝支付(示例) - -```javascript -function alipay(paymentParams) { - // 创建表单并提交 - const form = document.createElement('form'); - form.action = 'https://openapi.alipay.com/gateway.do'; - form.method = 'POST'; - form.innerHTML = paymentParams; // 支付宝SDK生成的表单 - document.body.appendChild(form); - form.submit(); -} -``` - ---- - -### 4. 微信支付(示例) - -```javascript -function wechatPay(paymentParams) { - const params = JSON.parse(paymentParams); - - // 调起微信支付 - WeixinJSBridge.invoke('getBrandWCPayRequest', { - appId: params.appId, - timeStamp: params.timeStamp, - nonceStr: params.nonceStr, - package: params.package, - signType: params.signType, - paySign: params.paySign - }, function(res) { - if (res.err_msg === 'get_brand_wcpay_request:ok') { - // 支付成功,跳转到充值记录页面 - window.location.href = '/points/records'; - } - }); -} -``` - ---- - -## 🔧 后端开发说明 - -### 1. 支付接口对接 - -目前 `generatePaymentParams()` 方法返回的是模拟数据,需要对接真实的支付宝/微信SDK: - -#### 支付宝SDK集成 - -```xml - - - com.alipay.sdk - alipay-sdk-java - 4.38.0.ALL - -``` - -```java -// 生成支付宝支付参数 -private String generateAlipayParams(Order order) { - AlipayClient alipayClient = new DefaultAlipayClient( - "https://openapi.alipay.com/gateway.do", - APP_ID, - PRIVATE_KEY, - "json", - "UTF-8", - ALIPAY_PUBLIC_KEY, - "RSA2" - ); - - AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); - request.setNotifyUrl("https://yourdomain.com/payment/callback/alipay"); - - JSONObject bizContent = new JSONObject(); - bizContent.put("out_trade_no", order.getOrderNo()); - bizContent.put("total_amount", order.getAmount()); - bizContent.put("subject", "积分充值"); - bizContent.put("product_code", "QUICK_MSECURITY_PAY"); - - request.setBizContent(bizContent.toString()); - - AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); - return response.getBody(); -} -``` - -#### 微信支付SDK集成 - -```xml - - - com.github.wechatpay-apiv3 - wechatpay-java - 0.2.12 - -``` - -```java -// 生成微信支付参数 -private String generateWechatPayParams(Order order) { - // 使用微信支付SDK创建预支付订单 - // 返回prepay_id等参数 -} -``` - ---- - -### 2. 回调签名验证 - -#### 支付宝签名验证 - -```java -@PostMapping("/alipay") -public String alipayCallback(HttpServletRequest request) { - Map params = new HashMap<>(); - Map requestParams = request.getParameterMap(); - - for (String name : requestParams.keySet()) { - params.put(name, request.getParameter(name)); - } - - // 验证签名 - boolean signVerified = AlipaySignature.rsaCheckV1( - params, - ALIPAY_PUBLIC_KEY, - "UTF-8", - "RSA2" - ); - - if (!signVerified) { - return "fail"; - } - - // 验证通过,处理业务 - String orderNo = params.get("out_trade_no"); - String tradeStatus = params.get("trade_status"); - - if ("TRADE_SUCCESS".equals(tradeStatus)) { - pointsRechargeService.handleRechargePaymentSuccess(orderNo); - } - - return "success"; -} -``` - -#### 微信支付签名验证 - -```java -@PostMapping("/wechat") -public String wechatCallback(@RequestBody String xmlData) { - // 解析XML - Map params = WXPayUtil.xmlToMap(xmlData); - - // 验证签名 - boolean signVerified = WXPayUtil.isSignatureValid( - params, - WECHAT_API_KEY - ); - - if (!signVerified) { - return errorXml(); - } - - // 验证通过,处理业务 - String orderNo = params.get("out_trade_no"); - String resultCode = params.get("result_code"); - - if ("SUCCESS".equals(resultCode)) { - pointsRechargeService.handleRechargePaymentSuccess(orderNo); - } - - return successXml(); -} -``` - ---- - -## 📊 数据库迁移 - -### 执行迁移脚本 - -```bash -# 1. 备份数据库 -mysqldump -u root -p 1818ai > backup_$(date +%Y%m%d).sql - -# 2. 执行V6迁移脚本 -mysql -u root -p 1818ai < V6__add_points_recharge_system.sql - -# 3. 验证结果 -mysql -u root -p 1818ai -e "SELECT * FROM points_package;" -mysql -u root -p 1818ai -e "DESC \`order\`;" -``` - ---- - -## 🧪 测试流程 - -### 1. 开发环境测试 - -```bash -# 1. 获取套餐列表 -curl -X GET "http://localhost:8080/user/points/packages" - -# 2. 创建充值订单(需要登录token) -curl -X POST "http://localhost:8080/user/points/recharge" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{"packageId":2,"paymentMethod":2}' - -# 3. 模拟支付成功(测试用) -curl -X POST "http://localhost:8080/payment/callback/test?orderNo=ORD20251021123456" - -# 4. 查看充值记录 -curl -X GET "http://localhost:8080/user/points/recharge/records?page=1&size=10" \ - -H "Authorization: Bearer YOUR_TOKEN" - -# 5. 查看用户积分 -curl -X GET "http://localhost:8080/user/info" \ - -H "Authorization: Bearer YOUR_TOKEN" -``` - -### 2. 生产环境验证 - -1. ✅ 确认支付宝/微信支付配置正确 -2. ✅ 确认回调URL可以被外网访问 -3. ✅ 小额充值测试(¥0.01) -4. ✅ 验证积分到账是否正确 -5. ✅ 验证首充奖励是否生效 -6. ✅ 验证充值记录是否正确 - ---- - -## 🛡️ 安全配置 - -### SecurityConfig 配置说明 - -```java -// 公开接口(无需登录) -"/user/points/packages/**" // 套餐浏览 -"/payment/callback/**" // 支付回调 - -// 需要登录的接口 -"/user/points/recharge" // 创建充值订单 -"/user/points/recharge/**" // 充值记录、统计 -``` - ---- - -## 📈 运营建议 - -### 1. 套餐定价策略 - -- **体验包**:吸引新用户尝试 -- **标准包**:日常充值主力 -- **超值包**:性价比标杆,设置为热门 -- **豪华包/至尊包**:满足重度用户 -- **旗舰包**:年度大额充值,最高性价比 - -### 2. 营销活动 - -- **首充奖励**:已自动实现,首次充值额外赠送10% -- **限时优惠**:通过 `discount_label` 标签展示 -- **热门推荐**:将主推套餐设置为 `is_hot=1` -- **节日活动**:临时调整 `bonus_points` 赠送比例 - -### 3. 数据分析 - -查看充值统计视图: -```sql -SELECT * FROM v_points_recharge_stats -ORDER BY recharge_date DESC -LIMIT 30; -``` - ---- - -## ❓ 常见问题 - -### Q1: 支付成功但积分没到账? - -**检查步骤**: -1. 查看订单状态:`SELECT * FROM order WHERE order_no = 'xxx';` -2. 查看支付回调日志:检查 `/payment/callback/alipay` 日志 -3. 查看用户积分:`SELECT points FROM user WHERE id = xxx;` -4. 查看积分变动日志:`SELECT * FROM points_consumption_log WHERE user_id = xxx;` - -**手动补单**: -```bash -curl -X POST "http://localhost:8080/payment/callback/test?orderNo=xxx" -``` - ---- - -### Q2: 如何修改套餐价格? - -```sql -UPDATE points_package -SET price = 45.00, - update_time = NOW() -WHERE id = 2; -``` - ---- - -### Q3: 如何下架某个套餐? - -```sql -UPDATE points_package -SET is_active = 0, - update_time = NOW() -WHERE id = 6; -``` - ---- - -### Q4: 如何查看用户充值历史? - -```sql -SELECT - o.order_no, - o.amount, - o.points_amount, - pp.name as package_name, - o.create_time, - o.paid_at, - CASE o.status - WHEN 0 THEN '待支付' - WHEN 1 THEN '已完成' - WHEN 2 THEN '已取消' - WHEN 3 THEN '支付失败' - END as status_name -FROM `order` o -LEFT JOIN points_package pp ON o.points_package_id = pp.id -WHERE o.user_id = 123 - AND o.order_type = 2 -ORDER BY o.create_time DESC; -``` - ---- - -## 🎯 总结 - -✅ **功能完整**:支持套餐管理、订单创建、支付回调、充值到账全流程 - -✅ **安全可靠**:JWT认证、订单防重、支付签名验证 - -✅ **易于扩展**:支持新增支付方式、调整套餐策略 - -✅ **数据完整**:充值记录、变动日志、统计分析 - -现在用户可以直接购买积分,不再依赖礼品码!🎉 - diff --git a/POINTS_SYSTEM_DESIGN.md b/POINTS_SYSTEM_DESIGN.md deleted file mode 100644 index 66d2e67..0000000 --- a/POINTS_SYSTEM_DESIGN.md +++ /dev/null @@ -1,299 +0,0 @@ -# 积分与AI任务系统设计文档 - -## 1. 项目概述 - -### 1.1 背景与目标 - -为集成第三方AI模型(如Sora Image/Video),并建立一套商业化积分体系,本项目旨在设计并开发一个稳定、可扩展、安全的积分消费与AI任务管理系统。 - -**核心目标:** - -- **商业化闭环:** 建立用户充值、积分兑换、模型消费的完整商业流程。 -- **任务持久化:** 保证用户提交的AI生成任务不因刷新或关闭页面而丢失,可随时查看历史记录。 -- **高效队列管理:** 解决API并发限制问题,通过队列机制保证服务稳定性和用户体验。 -- **实时反馈:** 为用户提供任务的实时进度更新,提升交互体验。 -- **安全可靠:** 保证积分和交易数据的安全,防止恶意攻击和滥用。 - -### 1.2 设计原则 - -- **高内聚低耦合:** 各模块(积分、任务、队列、API调用)职责清晰,易于维护和扩展。 -- **异步化处理:** 核心AI任务采用异步处理,避免长时间阻塞,提高系统吞吐量。 -- **状态驱动:** 任务和积分为状态驱动,保证数据一致性和流程可追溯性。 -- **用户为中心:** 优化从提交任务到获取结果的全流程体验。 -- **安全第一:** 在设计、开发、部署各环节贯彻安全思想。 - ---- - -## 2. 系统架构 - -系统采用微服务化的思想,将核心功能模块化,通过API和消息队列进行通信。 - -```mermaid -graph TD - subgraph 用户端 (Web/App) - A[用户界面] - end - - subgraph 服务端 (Backend) - B[API网关] - C[积分服务 PointsService] - D[AI任务服务 AiTaskService] - E[队列管理器 QueueManager] - F[定时任务 Scheduler] - G[WebSocket服务] - end - - subgraph 第三方服务 - H[中转站AI API] - end - - subgraph 基础设施 - I[MySQL数据库] - J[Redis缓存/队列] - end - - A -- REST API --> B - B -- 调用 --> C - B -- 调用 --> D - - D -- 操作任务 --> I - D -- 添加任务到 --> E - D -- 更新积分 --> C - - C -- 操作积分 --> I - - E -- 使用 --> J - E -- 触发 --> D - - F -- 扫描 --> E - F -- 清理 --> D - - D -- 推送进度 --> G - G -- WebSocket --> A - - D -- 调用 --> H -``` - -**核心流程:** -1. 用户通过**API网关**提交AI任务。 -2. **AI任务服务**接收请求,调用**积分服务**冻结相应积分。 -3. 任务服务将任务信息持久化到**MySQL**,并交给**队列管理器**。 -4. **队列管理器**基于**Redis**实现任务排队,并根据并发限制(50个)决定是否立即处理。 -5. **定时任务**周期性扫描队列,将排队的任务交给任务服务处理。 -6. 任务服务异步调用**中转站AI API**,并通过**WebSocket**向用户实时推送进度。 -7. 任务完成后,更新数据库状态,并调用积分服务进行最终的扣除或退款。 - ---- - -## 3. 核心功能设计 - -### 3.1 积分体系设计 - -#### 3.1.1 兑换与定价 - -- **兑换比例:** `1 元人民币 = 100 积分` -- **模型定价:** 在中转站价格基础上加价50%。 - -**图片模型定价 (示例)** -| 模型名称 | 中转站价格 | 我方价格 (USD) | 我方价格 (CNY) | 积分消耗 | -|---|---|---|---|---| -| sora_image | $0.01 | $0.015 | ~¥0.11 | **11 积分/张** | -| gpt-4o-image | $0.01 | $0.015 | ~¥0.11 | **11 积分/张** | - -**视频模型定价 (示例)** -| 模型名称 | 中转站价格 | 我方价格 (USD) | 我方价格 (CNY) | 积分消耗 | -|---|---|---|---|---| -| sora_video2 | $0.15 | $0.225 | ~¥1.6 | **160 积分/次** | -| sora_video2-15s | $0.25 | $0.375 | ~¥2.6 | **260 积分/次** | -| sora-2-pro-all | $0.40 | $0.60 | ~¥4.2 | **420 积分/次** | -*(注: CNY价格按汇率7.2估算,最终积分以CNY价格为准,取整)* - -#### 3.1.2 充值与会员 - -- **充值档位:** 设计多档位充值套餐,提供不同比例的积分赠送。 -- **会员体系:** VIP/SVIP会员可享受每日免费积分、生成任务折扣等权益。 - -### 3.2 AI任务管理 - -#### 3.2.1 任务生命周期 - -```mermaid -stateDiagram-v2 - [*] --> created: 用户提交 - created --> queued: 进入队列 - created --> processing: 队列有空位 - queued --> processing: 轮到处理 - processing --> completed: 生成成功 - processing --> failed: 生成失败 - queued --> cancelled: 用户取消 - processing --> cancelled: 用户取消(不支持) - failed --> processing: 系统重试 - completed --> [*] - failed --> [*] - cancelled --> [*] -``` -- **created:** 任务已创建,积分已冻结。 -- **queued:** 系统繁忙,任务在队列中等待。 -- **processing:** 任务正在被AI模型处理。 -- **completed:** 任务成功,结果已生成。 -- **failed:** 任务失败,积分将退还。 -- **cancelled:** 用户主动取消(仅排队中可取消)。 - -#### 3.2.2 队列管理 - -- **系统并发限制:** 每个模型最多同时处理50个任务。 -- **用户并发限制:** 每个用户最多同时进行3个任务。 -- **优先级策略:** SVIP > VIP > 普通用户 > 等待时间。 -- **超时机制:** `processing`状态超过10分钟的任务将被标记为失败,并自动退款。 - ---- - -## 4. 数据库设计 - -为支持以上功能,需新增以下核心表: - -```sql --- AI生成任务表 (核心) -CREATE TABLE IF NOT EXISTS `ai_task` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `task_no` varchar(64) UNIQUE NOT NULL COMMENT '任务编号', - `user_id` bigint NOT NULL, - `model_name` varchar(64) NOT NULL, - `task_type` varchar(32) NOT NULL COMMENT '任务类型 (image/video)', - `prompt` text NOT NULL, - `status` varchar(32) NOT NULL DEFAULT 'created' COMMENT '任务状态 (created, queued, processing, completed, failed, cancelled)', - `progress` int DEFAULT 0 COMMENT '进度百分比', - `progress_message` varchar(255) DEFAULT NULL, - `points_frozen` int NOT NULL COMMENT '冻结积分', - `points_consumed` int DEFAULT 0 COMMENT '实际消耗积分', - `result_url` varchar(512) DEFAULT NULL, - `error_message` text DEFAULT NULL, - `queue_time` datetime DEFAULT NULL, - `start_time` datetime DEFAULT NULL, - `complete_time` datetime DEFAULT NULL, - `expire_time` datetime DEFAULT NULL COMMENT '结果过期时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `is_deleted` tinyint(1) NOT NULL DEFAULT 0, - PRIMARY KEY (`id`), - UNIQUE KEY `uk_task_no` (`task_no`), - KEY `idx_user_status` (`user_id`, `status`), - KEY `idx_status_time` (`status`, `create_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI生成任务表'; - --- 积分消费配置表 -CREATE TABLE IF NOT EXISTS `points_config` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `model_name` varchar(64) UNIQUE NOT NULL COMMENT '模型名称', - `points_cost` int NOT NULL COMMENT '积分消耗', - `description` varchar(255) DEFAULT NULL, - `is_enabled` tinyint(1) NOT NULL DEFAULT 1, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分消费配置表'; - --- 积分消费记录表 -CREATE TABLE IF NOT EXISTS `points_consumption_log` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `user_id` bigint NOT NULL, - `task_no` varchar(64) DEFAULT NULL, - `change_type` varchar(32) NOT NULL COMMENT '(consume, refund)', - `change_amount` int NOT NULL, - `balance_before` int NOT NULL, - `balance_after` int NOT NULL, - `description` varchar(255) DEFAULT NULL, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `idx_user_id` (`user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分消费记录表'; - --- 系统配置表 -CREATE TABLE IF NOT EXISTS `system_config` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `config_key` varchar(64) UNIQUE NOT NULL, - `config_value` varchar(512) NOT NULL, - `description` varchar(255) DEFAULT NULL, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表'; -``` - ---- - -## 5. 安全设计 - -安全是本系统的重中之重,需在多个层面进行防御。 - -### 5.1 防滥用与攻击 - -- **接口频率限制:** 对任务提交、状态查询等核心接口进行IP和用户级别的双重限流,防止CC攻击。 -- **图形验证码:** 在登录、充值、提交任务等关键操作前,引入图形验证码,防止机器人批量操作。 -- **输入校验:** 对所有用户输入(特别是`prompt`)进行严格的XSS和SQL注入过滤,防止恶意脚本和敏感信息泄露。 -- **API密钥保护:** 中转站的API Key必须存储在安全的环境变量或配置中心,绝不能硬编码在代码中。所有对外的API调用需在服务端完成,严禁在前端暴露密钥。 - -### 5.2 数据与交易安全 - -- **事务一致性:** 积分的冻结、扣除、退款操作必须与任务状态变更在同一个数据库事务中完成,保证数据原子性,防止出现"钱扣了任务没创建"等问题。 -- **防并发竞争 (Race Condition):** 在扣减积分、更新任务状态等操作时,使用乐观锁(增加`version`字段)或悲观锁(`SELECT ... FOR UPDATE`),防止并发请求导致的数据错乱(如一笔积分被消费两次)。 -- **敏感数据加密:** 数据库中存储的密码、API密钥等敏感信息必须使用强哈希算法(如Argon2, bcrypt)进行加密存储。 -- **日志审计:** 对所有积分变更、管理员操作进行详细的日志记录,便于审计和问题追溯。 - -### 5.3 访问控制 - -- **权限分离:** 严格区分用户和管理员的API接口,使用基于角色的访问控制(RBAC)。普通用户不能访问任何管理接口。 -- **水平越权防护:** 所有查询和操作用户数据的接口,必须严格校验当前登录用户ID与要操作的数据归属ID是否一致,防止用户A操作用户B的任务或积分。 -- **CSRF防护:** 对所有状态变更的POST/PUT请求(如取消任务、修改配置)启用CSRF Token验证。 - ---- - -## 6. 开发功能清单 - -### 第一阶段:核心后台 (15人日) -- [ ] 数据库表结构设计与创建 -- [ ] 实体类与Mapper层代码生成 -- [ ] 积分核心服务 (查询、冻结、扣除、退款) -- [ ] AI任务核心服务 (创建、状态更新) -- [ ] 积分与任务的事务性保证 -- [ ] 中转站API客户端封装 - -### 第二阶段:队列与异步 (10人日) -- [ ] 基于Redis的队列管理器实现 -- [ ] 任务优先级算法实现 -- [ ] 异步处理任务的`@Async`配置 -- [ ] 队列扫描、超时检查、过期清理的定时任务 -- [ ] WebSocket服务基础搭建 - -### 第三阶段:API与前端 (12人日) -- [ ] 用户端API接口开发 (提交、查询、列表、取消) -- [ ] WebSocket实时进度推送实现 -- [ ] 管理端API接口开发 (任务监控、队列配置) -- [ ] 详细的API文档编写 (Swagger/OpenAPI) -- [ ] 前端任务提交与结果展示页面 -- [ ] 前端任务历史列表与状态展示 - -### 第四阶段:安全与测试 (8人日) -- [ ] 单元测试与集成测试编写 -- [ ] 安全加固 (限流、输入校验、权限检查) -- [ ] 压力测试 (模拟高并发提交任务) -- [ ] 部署脚本编写与上线 - ---- - -## 7. 任务进度计划 (甘特图) - -| 阶段 | 任务 | 负责人 | 预估工时 | W1 | W2 | W3 | W4 | W5 | 状态 | -|:---|:---|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---| -| **P1: 核心后台** | 数据库设计与创建 | 后端A | 2d | ██ | | | | | ✅ | -| | 核心服务开发 | 后端A | 8d | ████ | ████ | | | | 진행중 | -| | API客户端封装 | 后端B | 3d | ███ | | | | | ✅ | -| | 单元测试(P1) | 后端A/B | 2d | | | ██ | | | 대기 | -| **P2: 队列与异步** | 队列管理器实现 | 后端B | 5d | | ███ | ██ | | | 대기 | -| | 定时任务开发 | 后端A | 3d | | | | ███ | | 대기 | -| | WebSocket搭建 | 后端B | 2d | | | | | ██ | 대기 | -| **P3: API与前端** | 用户端API开发 | 后端A | 4d | | | ████ | | | 대기 | -| | 管理端API开发 | 后端B | 2d | | | | ██ | | 대기 | -| | 前端页面开发 | 前端C | 6d | | | ██ | ████ | | 대기 | -| **P4: 测试与部署** | 集成与压力测试 | 测试D | 5d | | | | | █████ | 대기 | -| | 安全加固与部署 | 运维E | 3d | | | | | | ███ | - -*(注: d=人日, 一个█代表1人日)* diff --git a/POLLING_INTERVAL_OPTIMIZATION.md b/POLLING_INTERVAL_OPTIMIZATION.md deleted file mode 100644 index bfa013f..0000000 --- a/POLLING_INTERVAL_OPTIMIZATION.md +++ /dev/null @@ -1,295 +0,0 @@ -# RunningHub 轮询间隔优化说明 - -**版本:** v2.1.1 -**优化时间:** 2025-10-20 -**优化类型:** 性能优化 & 成本优化 - ---- - -## 📊 优化对比 - -### 原配置(v2.1.0) - -```yaml -ai: - providers: - runninghub: - polling-interval: 5000 # 5秒轮询 - max-polling-times: 120 # 最大轮询120次 = 10分钟 -``` - -```java -@Scheduled(fixedDelay = 5000) // 固定5秒延迟 -``` - -**特点:** -- ✅ 实时性强:任务完成后平均5秒内获得结果 -- ❌ API调用频繁:每个任务最多120次API调用 -- ❌ 服务器负载高:高并发时压力大 -- ❌ 成本较高:可能触发RunningHub API限流 - ---- - -### 新配置(v2.1.1,当前) - -```yaml -ai: - providers: - runninghub: - polling-interval: 10000 # 10秒轮询 - max-polling-times: 60 # 最大轮询60次 = 10分钟 -``` - -```java -@Scheduled(fixedDelayString = "${ai.providers.runninghub.polling-interval:10000}") -``` - -**特点:** -- ✅ 成本优化:API调用量减少50% -- ✅ 负载降低:服务器CPU、网络压力减半 -- ✅ 动态配置:可通过配置文件调整,无需修改代码 -- ✅ 防止堆积:使用`fixedDelay`而非`fixedRate` -- ⚠️ 实时性降低:任务完成后平均10秒内获得结果(可接受) - ---- - -## 🔍 详细分析 - -### 1. API调用量对比 - -假设一个任务从提交到完成需要3分钟(180秒): - -| 配置 | 轮询间隔 | 轮询次数 | API调用量 | -|-----|---------|---------|----------| -| 原配置 | 5秒 | 180÷5 = 36次 | **36次** | -| 新配置 | 10秒 | 180÷10 = 18次 | **18次** | -| **减少** | - | - | **↓ 50%** | - -**100个并发任务的API调用量:** -- 原配置:100 × 36 = **3600次/3分钟** → **1200次/分钟** -- 新配置:100 × 18 = **1800次/3分钟** → **600次/分钟** - ---- - -### 2. 网络流量对比 - -假设每次状态查询请求+响应 = 2KB: - -| 并发任务数 | 原配置(5秒) | 新配置(10秒) | 节省流量 | -|-----------|--------------|---------------|---------| -| 10 | 720KB/3分钟 | 360KB/3分钟 | 50% | -| 50 | 3.6MB/3分钟 | 1.8MB/3分钟 | 50% | -| 100 | 7.2MB/3分钟 | 3.6MB/3分钟 | 50% | -| 200 | 14.4MB/3分钟 | 7.2MB/3分钟 | 50% | - -**每日流量节省(假设100并发持续运行):** -``` -原配置:7.2MB × (1440分钟 ÷ 3分钟) = 3.46GB/天 -新配置:3.6MB × (1440分钟 ÷ 3分钟) = 1.73GB/天 -节省:1.73GB/天 = 51.9GB/月 -``` - ---- - -### 3. 服务器负载对比 - -**CPU使用率(100并发):** -``` -原配置:轮询600次/分钟 × 数据库查询+更新+WebSocket通知 - CPU使用率:~20% - -新配置:轮询300次/分钟 × 数据库查询+更新+WebSocket通知 - CPU使用率:~10% - -减少:50% CPU负载 -``` - -**数据库连接数:** -``` -原配置:每5秒查询100个任务 → 100次查询/5秒 = 20 QPS -新配置:每10秒查询100个任务 → 100次查询/10秒 = 10 QPS - -减少:50% 数据库压力 -``` - ---- - -### 4. 用户体验影响 - -**任务完成到用户收到通知的延迟:** - -| 配置 | 平均延迟 | 最大延迟 | 用户感知 | -|-----|---------|---------|---------| -| 原配置(5秒) | 2.5秒 | 5秒 | 几乎实时 ✅ | -| 新配置(10秒) | 5秒 | 10秒 | 仍然很快 ✅ | - -**结论:** -- 从用户角度看,5秒和10秒的差异不明显 -- RunningHub任务本身需要2-5分钟,多等5秒可以接受 -- 用户更关心任务是否成功,而非秒级的通知延迟 - ---- - -## 🎯 为什么选择10秒? - -### 对比不同轮询间隔 - -| 间隔 | API调用量 | 服务器负载 | 用户体验 | 风险 | -|-----|----------|-----------|---------|-----| -| 5秒 | 高(100%) | 高(100%) | 优秀 | 可能触发限流 | -| **10秒** | **中(50%)** | **低(50%)** | **良好** | **平衡最佳** ✅ | -| 15秒 | 低(33%) | 低(33%) | 一般 | 延迟可能被用户察觉 | -| 30秒 | 极低(17%) | 极低(17%) | 较差 | 用户会感觉"卡顿" | - -**10秒是最佳平衡点:** -1. ✅ 显著降低成本(50%) -2. ✅ 用户体验仍然良好(<10秒延迟) -3. ✅ 降低触发RunningHub限流的风险 -4. ✅ 服务器负载减半,支持更多并发 - ---- - -## 🔧 技术实现优化 - -### 使用 `fixedDelay` 而非 `fixedRate` - -**原因:** 防止任务堆积 - -```java -// ❌ 不推荐:fixedRate(固定速率) -@Scheduled(fixedRate = 10000) -// 问题:如果一次轮询耗时15秒,下一次会立即触发,导致任务堆积 - -// ✅ 推荐:fixedDelay(固定延迟) -@Scheduled(fixedDelayString = "${ai.providers.runninghub.polling-interval:10000}") -// 优势:上一次执行完成后,等待10秒再执行下一次 -``` - -**执行时序对比:** - -``` -fixedRate(固定速率): -T0: 开始轮询(耗时15秒) -T10: 调度器触发,但上次未完成 → 排队等待 -T15: 第一次完成 -T15: 立即开始第二次(堆积) -T20: 第二次应该触发,但第二次还在执行 → 继续堆积 - -fixedDelay(固定延迟): -T0: 开始轮询(耗时15秒) -T15: 第一次完成 -T25: 等待10秒后,开始第二次 → 平滑执行 ✅ -``` - ---- - -## 📈 性能测试数据 - -### 测试场景:100个并发任务 - -| 指标 | 原配置(5秒) | 新配置(10秒) | 改善 | -|-----|--------------|---------------|-----| -| API调用量 | 1200次/分钟 | 600次/分钟 | ↓50% | -| 网络流量 | 2.4MB/分钟 | 1.2MB/分钟 | ↓50% | -| CPU使用率 | 20% | 10% | ↓50% | -| 内存占用 | 1.8GB | 1.5GB | ↓17% | -| 平均延迟 | 2.5秒 | 5秒 | ↑2.5秒 | -| 任务成功率 | 99.2% | 99.5% | ↑0.3% | - -**结论:** -- 成本降低50%,延迟仅增加2.5秒 -- 性能与用户体验的完美平衡 ✅ - ---- - -## 🛡️ 风险分析 - -### 潜在问题 - -**Q1:10秒会不会太慢,导致用户投诉?** - -**A:** 不会。理由: -1. RunningHub任务本身需要2-5分钟(120-300秒) -2. 多等5秒(从5秒变10秒)只占总时长的2% -3. 用户更关心"任务能否成功",而非"通知是否立即" -4. 可以在前端显示"预计3分钟完成",降低用户焦虑 - -**Q2:如果RunningHub任务很快完成(30秒),10秒轮询会不会浪费时间?** - -**A:** 不会浪费,反而是优势: -1. 快速任务(<1分钟):平均延迟5秒,用户感知良好 -2. 正常任务(2-5分钟):多等5秒不影响体验 -3. 慢速任务(>5分钟):10秒轮询避免过多无效查询 - -**Q3:高峰期100+并发,10秒够吗?** - -**A:** 足够且更安全: -1. 10秒轮询降低服务器压力,支持更多并发 -2. 100并发 × 10秒 = 每10秒处理100个任务,吞吐量6000任务/小时 -3. 如果用5秒,高并发时可能触发RunningHub限流 - ---- - -## 📋 配置建议 - -### 不同业务场景的推荐配置 - -#### 场景1:低并发(<50任务) - -```yaml -polling-interval: 5000 # 5秒,追求实时性 -max-polling-times: 120 -``` - -适用:初期产品,用户量少,强调用户体验 - ---- - -#### 场景2:中等并发(50-200任务) ✅ **推荐** - -```yaml -polling-interval: 10000 # 10秒,平衡性能与体验 -max-polling-times: 60 -``` - -适用:当前阶段,性价比最高 - ---- - -#### 场景3:高并发(200+任务) - -```yaml -polling-interval: 15000 # 15秒,优先稳定性 -max-polling-times: 40 -batch-size: 50 # 分批轮询,每批50个 -``` - -适用:大规模部署,需要严格控制服务器负载 - ---- - -## ✅ 总结 - -### 优化效果 - -| 维度 | 改善程度 | 说明 | -|-----|---------|-----| -| 成本 | ↓50% | API调用量减半 | -| 性能 | ↓50% | CPU、网络、数据库压力减半 | -| 稳定性 | ↑ | 降低触发限流风险,防止任务堆积 | -| 用户体验 | ↓2.5秒 | 延迟从2.5秒增加到5秒,可接受 | - -### 建议 - -1. ✅ **立即采用10秒配置**(已完成) -2. ✅ 监控用户反馈,如无投诉则保持 -3. ⚠️ 如果未来并发超过200,考虑调整为15秒 -4. ⚠️ 如果RunningHub提供webhook回调,立即切换(零轮询) - ---- - -**优化完成!** 🎯 - -轮询间隔已从5秒优化为10秒,配置更灵活,性能更优,成本更低! - - diff --git a/PromotionLevelManager.java b/PromotionLevelManager.java deleted file mode 100644 index cc63828..0000000 --- a/PromotionLevelManager.java +++ /dev/null @@ -1,318 +0,0 @@ -package com.dora.manager; - -import com.dora.entity.RevenueConfig; -import com.dora.entity.User; -import com.dora.event.PromotionLevelChangedEvent; -import com.dora.mapper.RevenueConfigMapper; -import com.dora.mapper.UserMapper; -import lombok.Builder; -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import lombok.Singular; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; -import java.util.stream.Collectors; - -/** - * 推广等级统一管理器 - * 解决多个地方更新推广等级的问题 - */ -@Component -@RequiredArgsConstructor -@Slf4j -public class PromotionLevelManager { - - private final UserMapper userMapper; - private final RevenueConfigMapper revenueConfigMapper; - private final ApplicationEventPublisher eventPublisher; - - @Autowired - @Lazy - private PromotionLevelManager self; - - // 用户级别的锁,防止并发更新同一用户 - private final ConcurrentHashMap userLocks = new ConcurrentHashMap<>(); - - /** - * 推广等级计算策略枚举 - */ - public enum CalculationStrategy { - PAID_FANS_ONLY("paid_fans", "仅付费粉丝数"), - TOTAL_FANS_ONLY("total_fans", "仅总粉丝数"), - WEIGHTED_AVERAGE("weighted", "加权平均"); - - @Getter - private final String code; - @Getter - private final String description; - - CalculationStrategy(String code, String description) { - this.code = code; - this.description = description; - } - } - - /** - * 推广等级更新结果 - */ - @Getter - @Builder - public static class PromotionLevelUpdateResult { - private final boolean updated; - private final Integer oldLevel; - private final Integer newLevel; - private final String triggerSource; - private final LocalDateTime updateTime; - } - - /** - * 统一的推广等级更新方法 - * - * @param userId 用户ID - * @param strategy 计算策略 - * @param triggerSource 触发源 - * @return 更新结果 - */ - @Transactional - public PromotionLevelUpdateResult updatePromotionLevel( - Long userId, - CalculationStrategy strategy, - String triggerSource) { - - Lock userLock = userLocks.computeIfAbsent(userId, k -> new ReentrantLock()); - userLock.lock(); - - try { - log.info("开始更新用户推广等级 - userId: {}, strategy: {}, source: {}", - userId, strategy.getCode(), triggerSource); - - // 1. 获取用户当前信息 - User user = userMapper.selectById(userId); - if (user == null) { - log.warn("用户不存在 - userId: {}", userId); - return createFailedResult(triggerSource); - } - - Integer currentLevel = user.getPromotionLevel(); - - // 2. 根据策略计算新等级 - int newLevel = calculateLevelByStrategy(user, strategy); - - // 3. 检查等级是否发生变化 - if (Objects.equals(currentLevel, newLevel)) { - log.debug("用户推广等级未发生变化 - userId: {}, level: {}", userId, currentLevel); - return createUnchangedResult(currentLevel, triggerSource); - } - - // 4. 更新数据库 - int updatedRows = userMapper.updatePromotionLevel(userId, newLevel); - if (updatedRows == 0) { - log.warn("更新用户推广等级失败,可能存在并发更新 - userId: {}", userId); - //可以选择返回失败或者重新尝试 - return createFailedResult(triggerSource); - } - - // 5. 记录审计日志 - recordAuditLog(userId, currentLevel, newLevel, strategy, triggerSource); - - // 6. 发布等级变化事件 - publishLevelChangedEvent(userId, currentLevel, newLevel, triggerSource); - - log.info("用户推广等级更新成功 - userId: {}, level: {} -> {}, strategy: {}, source: {}", - userId, currentLevel, newLevel, strategy.getCode(), triggerSource); - - return createSuccessResult(currentLevel, newLevel, triggerSource); - - } finally { - userLock.unlock(); - // 当锁没有其他等待线程时,从map中移除,避免内存泄漏 - userLocks.compute(userId, (k, v) -> (v != null && v.hasQueuedThreads()) ? v : null); - } - } - - /** - * 根据策略计算推广等级 - */ - private int calculateLevelByStrategy(User user, CalculationStrategy strategy) { - int fansCount; - Long userId = user.getId(); - - switch (strategy) { - case TOTAL_FANS_ONLY: - fansCount = userMapper.countFansByInviterId(userId); - break; - case WEIGHTED_AVERAGE: - // 加权策略:付费粉丝权重 * 2 + 总粉丝权重 * 1 - // TODO: 可以优化为一次数据库查询返回两个字段 - int paidFans = userMapper.countPaidFansByInviterId(userId); - int totalFans = userMapper.countFansByInviterId(userId); - fansCount = (paidFans * 2) + totalFans; - break; - case PAID_FANS_ONLY: - default: - fansCount = userMapper.countPaidFansByInviterId(userId); - } - - return calculatePromotionLevel(fansCount); - } - - /** - * 根据粉丝数计算推广等级 - */ - private int calculatePromotionLevel(int fansCount) { - try { - List configs = self.getPromotionRevenueConfigs(); - - return configs.stream() - .filter(config -> config.getMinFans() != null && fansCount >= config.getMinFans()) - .mapToInt(RevenueConfig::getLevel) - .max() - .orElse(1); - - } catch (Exception e) { - log.error("计算推广等级失败 - fansCount: {}", fansCount, e); - return 1; // 默认返回1级 - } - } - - /** - * 获取并缓存推广收益配置 - */ - @Cacheable("revenueConfigs") - public List getPromotionRevenueConfigs() { - return revenueConfigMapper.selectByConfigType("promotion"); - } - - /** - * 记录审计日志 - */ - private void recordAuditLog(Long userId, Integer oldLevel, Integer newLevel, - CalculationStrategy strategy, String triggerSource) { - // 这里可以记录到专门的审计日志表 - String strategyCode = (strategy != null) ? strategy.getCode() : "admin_override"; - log.info("推广等级变化审计 - userId: {}, level: {} -> {}, strategy: {}, source: {}, time: {}", - userId, oldLevel, newLevel, strategyCode, triggerSource, LocalDateTime.now()); - } - - /** - * 发布等级变化事件 - */ - private void publishLevelChangedEvent(Long userId, Integer oldLevel, Integer newLevel, String triggerSource) { - try { - PromotionLevelChangedEvent event = new PromotionLevelChangedEvent( - this, userId, oldLevel, newLevel, triggerSource); - eventPublisher.publishEvent(event); - } catch (Exception e) { - log.error("发布推广等级变化事件失败 - userId: {}", userId, e); - } - } - - /** - * 批量更新推广等级(管理员操作) - */ - @Transactional - public BatchUpdateResult batchUpdatePromotionLevel(List userIds, Integer targetLevel, String adminId) { - log.info("管理员批量更新推广等级 - adminId: {}, userCount: {}, targetLevel: {}", - adminId, userIds.size(), targetLevel); - - BatchUpdateResult.BatchUpdateResultBuilder resultBuilder = BatchUpdateResult.builder(); - - if (userIds == null || userIds.isEmpty()) { - return resultBuilder.build(); - } - - List users = userMapper.selectBatchIds(userIds); - Map userMap = users.stream().collect(Collectors.toMap(User::getId, user -> user)); - - for (Long userId : userIds) { - User user = userMap.get(userId); - if (user == null) { - resultBuilder.failedUser(userId, "用户不存在"); - continue; - } - - Integer oldLevel = user.getPromotionLevel(); - if (Objects.equals(oldLevel, targetLevel)) { - resultBuilder.skippedUser(userId, "等级未变化"); - continue; - } - - int updatedRows = userMapper.updatePromotionLevel(userId, targetLevel); - if (updatedRows > 0) { - resultBuilder.successUser(userId); - recordAuditLog(userId, oldLevel, targetLevel, null, "admin_batch_update:" + adminId); - publishLevelChangedEvent(userId, oldLevel, targetLevel, "admin_batch_update"); - } else { - resultBuilder.failedUser(userId, "数据库更新失败"); - } - } - - BatchUpdateResult result = resultBuilder.build(); - log.info("批量更新推广等级完成 - 成功: {}, 失败: {}, 跳过: {}", - result.getSuccessCount(), result.getFailedCount(), result.getSkippedCount()); - - return result; - } - - // 辅助方法创建结果对象 - private PromotionLevelUpdateResult createSuccessResult(Integer oldLevel, Integer newLevel, String triggerSource) { - return PromotionLevelUpdateResult.builder() - .updated(true) - .oldLevel(oldLevel) - .newLevel(newLevel) - .triggerSource(triggerSource) - .updateTime(LocalDateTime.now()) - .build(); - } - - private PromotionLevelUpdateResult createUnchangedResult(Integer level, String triggerSource) { - return PromotionLevelUpdateResult.builder() - .updated(false) - .oldLevel(level) - .newLevel(level) - .triggerSource(triggerSource) - .updateTime(LocalDateTime.now()) - .build(); - } - - private PromotionLevelUpdateResult createFailedResult(String triggerSource) { - return PromotionLevelUpdateResult.builder() - .updated(false) - .triggerSource(triggerSource) - .updateTime(LocalDateTime.now()) - .build(); - } - - /** - * 批量更新结果 - */ - @Getter - @Builder - public static class BatchUpdateResult { - @Singular - private final List successUsers; - @Singular - private final Map failedUsers; - @Singular - private final Map skippedUsers; - - public int getSuccessCount() { return successUsers.size(); } - public int getFailedCount() { return failedUsers.size(); } - public int getSkippedCount() { return skippedUsers.size(); } - } -} diff --git a/PromotionLevelManager_Optimization_Example.java b/PromotionLevelManager_Optimization_Example.java deleted file mode 100644 index 8b13789..0000000 --- a/PromotionLevelManager_Optimization_Example.java +++ /dev/null @@ -1 +0,0 @@ - diff --git a/QUICK_FIX.md b/QUICK_FIX.md deleted file mode 100644 index a3484b9..0000000 --- a/QUICK_FIX.md +++ /dev/null @@ -1,68 +0,0 @@ -# V5数据库迁移问题快速修复 - -**错误:** `#1060 - Duplicate column name 'provider_type'` - ---- - -## 🚀 一键修复 - -### 方案1:修复现有数据(推荐) - -```bash -# 1. 执行修复SQL -mysql -u root -p 1818ai << 'EOF' --- 更新RunningHub模型的provider_type -UPDATE `points_config` -SET `provider_type` = 'runninghub' -WHERE `model_name` LIKE 'rh_sora2_%' - AND (`provider_type` = '' OR `provider_type` IS NULL); - --- 验证结果 -SELECT model_name, provider_type, points_cost -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; -EOF - -# 2. 验证:应该看到12个模型,provider_type都是'runninghub' -``` - ---- - -### 方案2:使用修复脚本 - -```bash -# 执行修复脚本 -mysql -u root -p 1818ai < FIX_V5_provider_type.sql - -# 查看结果 -mysql -u root -p 1818ai -e "SELECT model_name, provider_type FROM points_config WHERE model_name LIKE 'rh_sora2_%';" -``` - ---- - -## ✅ 验证修复成功 - -```sql --- 所有12个模型的provider_type应该都是'runninghub' -SELECT - COUNT(*) as total_models, - SUM(CASE WHEN provider_type = 'runninghub' THEN 1 ELSE 0 END) as correct_count -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; - --- 预期结果: --- total_models: 12 --- correct_count: 12 -``` - ---- - -## 📋 如果还有问题 - -查看详细文档:`V5_MIGRATION_FIX_GUIDE.md` - ---- - -**修复完成后,系统就可以正常使用RunningHub功能了!** ✅ - - diff --git a/QUICK_REFERENCE.md b/QUICK_REFERENCE.md deleted file mode 100644 index 781471e..0000000 --- a/QUICK_REFERENCE.md +++ /dev/null @@ -1,164 +0,0 @@ -# RunningHub集成快速参考卡 - -**版本:** v2.2.0 | **更新:** 2025-10-20 - ---- - -## 🎯 一分钟快速了解 - -### 完成的功能 -- ✅ 集成RunningHub Sora2 API(文生视频 + 图生视频) -- ✅ 12个预配置模型(竖屏/横屏 × 普通/高清 × 10秒/15秒) -- ✅ 多厂商架构(OpenAI + RunningHub无缝切换) -- ✅ 10秒轮询优化(成本降低50%) -- ✅ 完整URL支持(图生视频无需预先上传) -- ✅ **并发控制**(最多100个轮询任务) -- ✅ **队列管理**(超出自动排队) - -### 核心配置 - -```yaml -# application.yml -ai.providers.runninghub: - polling-interval: 10000 # 10秒轮询 - max-polling-times: 60 # 最大10分钟 - max-polling-tasks: 100 # 最多100个并发轮询 - queue-check-interval: 5000 # 5秒检查队列 - api-key: "5c44cef12da3470e9f24da70c63787dc" -``` - ---- - -## 📝 快速测试 - -### 1. 文生视频(竖屏10秒) - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_text_portrait", - "prompt": "一个人在海边奔跑" - }' -``` - -### 2. 图生视频(横屏高清) - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_img_landscape_hd", - "prompt": "让场景动起来", - "imageUrl": "https://example.com/image.jpg" - }' -``` - ---- - -## 📊 模型列表(12个) - -| 模型名称 | 类型 | 时长 | 分辨率 | 积分 | -|---------|------|------|--------|------| -| rh_sora2_text_portrait | 文生视频 | 10秒 | 竖屏 | 160 | -| rh_sora2_text_landscape | 文生视频 | 10秒 | 横屏 | 160 | -| rh_sora2_text_portrait_hd | 文生视频 | 10秒 | 高清竖屏 | 420 | -| rh_sora2_text_landscape_hd | 文生视频 | 10秒 | 高清横屏 | 420 | -| rh_sora2_text_portrait_15s | 文生视频 | 15秒 | 竖屏 | 260 | -| rh_sora2_text_landscape_15s | 文生视频 | 15秒 | 横屏 | 260 | -| rh_sora2_img_portrait | 图生视频 | 10秒 | 竖屏 | 180 | -| rh_sora2_img_landscape | 图生视频 | 10秒 | 横屏 | 180 | -| rh_sora2_img_portrait_hd | 图生视频 | 10秒 | 高清竖屏 | 480 | -| rh_sora2_img_landscape_hd | 图生视频 | 10秒 | 高清横屏 | 480 | -| rh_sora2_img_portrait_15s | 图生视频 | 15秒 | 竖屏 | 280 | -| rh_sora2_img_landscape_15s | 图生视频 | 15秒 | 横屏 | 280 | - ---- - -## 🚀 部署步骤(3步) - -```bash -# 1. 数据库迁移 -mysql -u root -p 1818ai < V5__add_provider_support.sql - -# 2. 编译部署 -mvn clean package -DskipTests -sudo systemctl restart spring_1818_user_server - -# 3. 验证 -sudo journalctl -u spring_1818_user_server | grep "注册AI Provider" -# 应看到:openai + runninghub -``` - ---- - -## 🔍 监控命令 - -```bash -# 查看队列状态(管理员接口) -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" - -# 查看处理中的任务数 -mysql -u root -p 1818ai -e "SELECT COUNT(*) FROM ai_task WHERE status='processing' AND provider_type='runninghub';" - -# 查看等待队列中的任务数 -mysql -u root -p 1818ai -e "SELECT COUNT(*) FROM ai_task WHERE status='queued' AND provider_type='runninghub';" - -# 实时轮询日志 -sudo journalctl -u spring_1818_user_server -f | grep -E "(RunningHub|队列)" - -# 手动处理队列(管理员操作) -curl "http://localhost:8081/admin/runninghub/queue/process" \ - -H "Authorization: Bearer $ADMIN_TOKEN" -``` - ---- - -## 📚 完整文档 - -| 文档 | 说明 | -|-----|------| -| `RUNNINGHUB_FINAL_SUMMARY.md` | **总览**(推荐首读) | -| `RUNNINGHUB_QUEUE_OPTIMIZATION.md` | **队列优化方案**(v2.2.0新增) | -| `RUNNINGHUB_USAGE_GUIDE.md` | 使用指南(12个模型详解) | -| `RUNNINGHUB_CONCURRENCY_ANALYSIS.md` | 并发能力分析 | -| `POLLING_INTERVAL_OPTIMIZATION.md` | 轮询优化说明 | -| `DEPLOYMENT_CHECKLIST.md` | 部署检查清单 | -| `MULTI_VENDOR_ADAPTER_DESIGN.md` | 架构设计 | - ---- - -## ⚠️ 注意事项 - -1. **图生视频不支持真人图像** -2. **轮询任务上限100个**(超出自动进入等待队列) -3. **imageUrl支持完整HTTP/HTTPS地址** -4. **任务失败自动退还积分** -5. **等待队列自动处理**(每5秒检查一次) - ---- - -## 💡 常见问题 - -**Q:任务一直processing?** -A:正常,RunningHub需要2-5分钟处理。查看轮询日志确认。 - -**Q:任务卡在queued状态?** -A:说明当前轮询任务已满(100个),正在等待队列。任务完成后会自动提交。 - -**Q:如何查看队列状态?** -A:使用管理员接口:`GET /admin/runninghub/queue/status` - -**Q:如何调整并发上限?** -A:修改 `application.yml` 中的 `max-polling-tasks`(默认100) - -**Q:等待队列会堆积吗?** -A:不会。任务完成后自动从队列提交新任务,队列持续消化。 - ---- - -**快速参考完毕!详细信息请查看完整文档。** 📖 - diff --git a/QUICK_START_POINTS_RECHARGE.md b/QUICK_START_POINTS_RECHARGE.md deleted file mode 100644 index a554ff0..0000000 --- a/QUICK_START_POINTS_RECHARGE.md +++ /dev/null @@ -1,284 +0,0 @@ -# 积分充值系统 - 快速启动 - -## 🚀 5分钟快速上手 - -### 1️⃣ 执行数据库迁移 - -```bash -mysql -u root -p 1818ai < V6__add_points_recharge_system.sql -``` - -**验证**: -```sql --- 检查套餐数据 -SELECT name, points, bonus_points, total_points, price FROM points_package; --- 应该看到6个套餐 - --- 检查order表新字段 -DESC `order`; --- 应该包含 order_type, points_package_id, points_amount -``` - ---- - -### 2️⃣ 启动应用 - -```bash -mvn spring-boot:run -``` - -或者 - -```bash -mvn clean package -java -jar target/1818_user_server-0.0.1-SNAPSHOT.jar -``` - ---- - -### 3️⃣ 测试接口 - -#### 步骤1:获取套餐列表(无需登录) - -```bash -curl -X GET "http://localhost:8080/user/points/packages" -``` - -**预期响应**: -```json -{ - "code": 200, - "data": [ - { - "id": 1, - "name": "体验包", - "points": 100, - "price": 10.00, - ... - } - ] -} -``` - ---- - -#### 步骤2:用户登录获取Token - -```bash -curl -X POST "http://localhost:8080/user/auth/login" \ - -H "Content-Type: application/json" \ - -d '{"phone":"13800138000","password":"123456"}' -``` - -**获取token**: -```json -{ - "code": 200, - "data": { - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." - } -} -``` - ---- - -#### 步骤3:创建充值订单(需要登录) - -```bash -curl -X POST "http://localhost:8080/user/points/recharge" \ - -H "Authorization: Bearer YOUR_TOKEN_HERE" \ - -H "Content-Type: application/json" \ - -d '{"packageId":2,"paymentMethod":2}' -``` - -**预期响应**: -```json -{ - "code": 200, - "data": { - "orderNo": "ORD20251021123456", - "amount": 48.00, - "pointsAmount": 605, - "paymentMethod": 2 - } -} -``` - -**注意**: -- `pointsAmount` 可能是 605(500基础+50赠送+55首充奖励) -- 如果是首次充值,会有10%的额外奖励 - ---- - -#### 步骤4:模拟支付成功(测试用) - -```bash -curl -X POST "http://localhost:8080/payment/callback/test?orderNo=ORD20251021123456" -``` - -**预期响应**:`success` - ---- - -#### 步骤5:查看用户积分 - -```bash -curl -X GET "http://localhost:8080/user/info" \ - -H "Authorization: Bearer YOUR_TOKEN_HERE" -``` - -**验证积分是否到账**: -```json -{ - "code": 200, - "data": { - "points": 605, - "pointsExpiresAt": "2026-10-21T12:35:10" - } -} -``` - ---- - -#### 步骤6:查看充值记录 - -```bash -curl -X GET "http://localhost:8080/user/points/recharge/records?page=1&size=10" \ - -H "Authorization: Bearer YOUR_TOKEN_HERE" -``` - ---- - -## 📝 前端快速集成 - -### HTML示例 - -```html - - - - 积分充值 - - -

积分充值

- - -
- - - - -``` - ---- - -## 🔐 Swagger测试 - -访问:`http://localhost:8080/doc.html` - -### 测试步骤: - -1. **获取套餐** → `GET /user/points/packages` -2. **用户登录** → `POST /user/auth/login` → 获取token -3. **点击右上角🔑图标** → 输入 `Bearer YOUR_TOKEN` -4. **创建充值订单** → `POST /user/points/recharge` -5. **测试支付回调** → `POST /payment/callback/test` -6. **查看充值记录** → `GET /user/points/recharge/records` - ---- - -## ✅ 完成检查清单 - -- [ ] 数据库迁移成功(6个套餐) -- [ ] 能够获取套餐列表 -- [ ] 能够创建充值订单 -- [ ] 测试支付回调成功 -- [ ] 用户积分正确到账 -- [ ] 充值记录正常显示 -- [ ] 首充奖励正确计算 - ---- - -## 🎉 成功! - -现在用户可以: -- ✅ 浏览积分套餐 -- ✅ 选择支付方式充值 -- ✅ 查看充值历史 -- ✅ 享受首充奖励 - -**下一步**:对接真实的支付宝/微信支付接口 - -详细文档请查看:`POINTS_RECHARGE_GUIDE.md` - diff --git a/RELEASE_NOTES_v2.2.0.md b/RELEASE_NOTES_v2.2.0.md deleted file mode 100644 index 4427563..0000000 --- a/RELEASE_NOTES_v2.2.0.md +++ /dev/null @@ -1,473 +0,0 @@ -# RunningHub集成 v2.2.0 发布说明 - -**发布日期:** 2025-10-20 -**版本类型:** 重要功能更新 -**升级优先级:** 🔥 高(推荐立即升级) - ---- - -## 🎉 版本亮点 - -### 核心功能:RunningHub并发控制与队列管理 - -本次更新解决了RunningHub任务无限制轮询导致的系统过载问题,引入了智能队列管理系统。 - -**关键改进:** -- ✅ **轮询任务上限**:最多同时轮询100个RunningHub任务 -- ✅ **自动队列管理**:超出限制的任务自动进入等待队列 -- ✅ **智能调度**:任务完成后自动提交队列中的新任务 -- ✅ **实时监控**:管理员可查看队列状态和手动干预 - ---- - -## 📊 性能对比 - -### v2.1.1(旧版本) - -| 并发任务数 | CPU使用率 | 内存占用 | 系统状态 | -|-----------|----------|---------|---------| -| 100 | 10% | 1.5GB | ✅ 正常 | -| 200 | 20% | 2.5GB | ⚠️ 压力 | -| 500 | 50% | 5GB | ❌ 过载 | -| 1000 | 80%+ | 10GB+ | ❌ 崩溃 | - -### v2.2.0(新版本) - -| 总任务数 | 轮询任务 | 等待队列 | CPU使用率 | 内存占用 | 系统状态 | -|---------|---------|---------|----------|---------|---------| -| 100 | 100 | 0 | 10% | 1.5GB | ✅ 正常 | -| 200 | 100 | 100 | 10% | 1.6GB | ✅ 正常 | -| 500 | 100 | 400 | 10% | 2GB | ✅ 正常 | -| 1000 | 100 | 900 | 10% | 3GB | ✅ 正常 | - -**改进效果:** -- ✅ CPU使用率固定在10%,不随并发增加 -- ✅ 内存占用可控,最多3GB(1000并发) -- ✅ 系统稳定性100%,无崩溃风险 -- ✅ 支持无限并发任务(通过队列) - ---- - -## 🆕 新增功能 - -### 1. RunningHub队列管理服务 - -**新增文件:** -- `RunningHubQueueService.java` - 队列管理接口 -- `RunningHubQueueServiceImpl.java` - 队列管理实现 - -**核心功能:** -- 管理正在轮询的任务集合(最多100个) -- 管理等待队列(FIFO顺序) -- 自动提交/取消任务 -- 线程安全保证 - -**使用示例:** -```java -// 提交任务(自动判断是立即提交还是加入队列) -boolean submitted = runningHubQueueService.enqueueOrSubmit(task); - -// 任务完成后通知队列服务 -runningHubQueueService.onTaskCompleted(taskNo); - -// 查看队列状态 -int pollingCount = runningHubQueueService.getPollingTaskCount(); -int waitingCount = runningHubQueueService.getWaitingQueueSize(); -``` - ---- - -### 2. 队列处理调度器 - -**新增文件:** -- `RunningHubQueueProcessor.java` - -**功能:** -- 每5秒检查一次等待队列 -- 当有空位时自动提交新任务 -- 每分钟记录队列状态日志 - -**调度策略:** -``` -每5秒执行: - if (轮询任务数 < 100 && 等待队列不为空) { - 提交新任务(); - } - -每60秒执行: - 记录队列状态日志(); -``` - ---- - -### 3. 管理员监控接口 - -**新增文件:** -- `AdminRunningHubQueueController.java` - -**接口列表:** - -#### GET `/admin/runninghub/queue/status` -查看RunningHub队列状态 - -**响应示例:** -```json -{ - "code": 200, - "data": { - "maxPollingTasks": 100, - "currentPollingTasks": 85, - "waitingQueueSize": 120, - "availableSlots": 15, - "utilizationRate": "85.0%", - "pollingTaskNos": ["TASK_001", "TASK_002", ...] - }, - "message": "success" -} -``` - -#### GET `/admin/runninghub/queue/process` -手动触发队列处理 - -**响应示例:** -```json -{ - "code": 200, - "data": { - "submittedTasks": 15, - "beforePolling": 85, - "afterPolling": 100, - "beforeWaiting": 120, - "afterWaiting": 105 - }, - "message": "已处理等待队列,提交了15个任务" -} -``` - ---- - -## 🔧 配置更新 - -### application.yml 新增配置 - -```yaml -ai: - providers: - runninghub: - max-polling-tasks: 100 # 新增:最大并发轮询任务数 - queue-check-interval: 5000 # 新增:队列检查间隔(毫秒) -``` - -### 默认值 - -| 配置项 | 默认值 | 说明 | -|-------|-------|------| -| `max-polling-tasks` | 100 | 最多同时轮询100个任务 | -| `queue-check-interval` | 5000 | 每5秒检查一次队列 | -| `polling-interval` | 10000 | 每10秒轮询一次任务状态 | -| `max-polling-times` | 60 | 最多轮询60次(10分钟) | - ---- - -## 📝 代码修改 - -### 修改的文件(3个) - -1. **`AiTaskServiceImpl.java`** - - 注入 `RunningHubQueueService` - - 使用队列服务提交RunningHub任务 - - ```java - // 旧代码 - if ("runninghub".equals(providerType)) { - submitToRunningHub(task, pointsConfig); - } - - // 新代码 - if ("runninghub".equals(providerType)) { - runningHubQueueService.enqueueOrSubmit(task); - } - ``` - -2. **`RunningHubPollingScheduler.java`** - - 任务完成时通知队列服务 - - ```java - // 任务成功完成 - notificationService.notifyTaskCompleted(...); - runningHubQueueService.onTaskCompleted(taskNo); // 新增 - - // 任务失败 - notificationService.notifyTaskFailed(...); - runningHubQueueService.onTaskCompleted(taskNo); // 新增 - ``` - -3. **`NotificationServiceImpl.java`** - - 修复缺失的 `notifyTaskProgress`、`notifyTaskCompleted`、`notifyTaskFailed` 方法 - ---- - -## 🚀 部署指南 - -### 1. 前置条件 - -- ✅ 已部署 v2.1.0 或 v2.1.1 -- ✅ 数据库已执行 `V5__add_provider_support.sql` -- ✅ 配置文件已包含 RunningHub 相关配置 - -### 2. 升级步骤 - -```bash -# 1. 停止服务 -sudo systemctl stop spring_1818_user_server - -# 2. 备份当前版本 -sudo cp /www/wwwroot/1818_user_server/1818_user_server-1.0-SNAPSHOT.jar \ - /www/wwwroot/1818_user_server/backups/v2.1.1_$(date +%Y%m%d_%H%M%S).jar - -# 3. 更新配置文件 -vim /www/wwwroot/1818_user_server/application.yml -# 添加: -# max-polling-tasks: 100 -# queue-check-interval: 5000 - -# 4. 部署新版本 -sudo cp target/1818_user_server-1.0-SNAPSHOT.jar \ - /www/wwwroot/1818_user_server/ - -# 5. 启动服务 -sudo systemctl start spring_1818_user_server - -# 6. 验证部署 -sudo journalctl -u spring_1818_user_server -f | grep -E "(队列|Queue|Provider)" -``` - -### 3. 验证清单 - -```bash -# ✅ 检查Provider注册 -sudo journalctl -u spring_1818_user_server | grep "注册AI Provider" -# 预期:openai + runninghub - -# ✅ 检查队列处理器启动 -sudo journalctl -u spring_1818_user_server | grep "RunningHubQueueProcessor" - -# ✅ 测试队列状态接口 -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" - -# ✅ 提交测试任务 -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer $USER_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{"modelName":"rh_sora2_text_portrait","prompt":"测试队列"}' - -# ✅ 观察日志 -sudo journalctl -u spring_1818_user_server -f | grep "RunningHub队列" -``` - ---- - -## 📖 文档更新 - -### 新增文档 - -1. **`RUNNINGHUB_QUEUE_OPTIMIZATION.md`** - 队列优化方案详解 - - 问题分析 - - 架构设计 - - 性能对比 - - 配置调优 - - 故障排查 - -2. **`RELEASE_NOTES_v2.2.0.md`** - 本文档 - -### 更新文档 - -1. **`QUICK_REFERENCE.md`** - 快速参考 - - 更新版本号为 v2.2.0 - - 添加队列管理说明 - - 添加新的监控命令 - -2. **`RUNNINGHUB_FINAL_SUMMARY.md`** - 需要更新(推荐) - ---- - -## ⚠️ 注意事项 - -### 1. 兼容性 - -- ✅ **向后兼容**:v2.1.x 可直接升级到 v2.2.0 -- ✅ **配置兼容**:旧配置仍然有效 -- ✅ **数据库兼容**:无需执行新的迁移脚本 - -### 2. 行为变化 - -**旧版本(v2.1.1):** -- 用户提交任务 → 立即提交到RunningHub → 立即开始轮询 -- 100个并发 → 100个轮询 -- 500个并发 → 500个轮询(系统过载) - -**新版本(v2.2.0):** -- 用户提交任务 → 检查轮询数 - - ≤100 → 立即提交 → 开始轮询 - - >100 → 加入等待队列 → 等待空位 -- 100个并发 → 100个轮询 -- 500个并发 → 100个轮询 + 400个等待 - -**影响:** -- ✅ 第101个及以后的任务会经历短暂的 `queued` 状态 -- ✅ 用户可以看到队列位置和预计等待时间 -- ✅ 任务完成后会自动从队列提交,无需人工干预 - -### 3. 性能影响 - -- ✅ **CPU使用率**:固定在10%,不会随并发增加 -- ✅ **内存占用**:略微增加(队列对象开销),1000并发时约3GB -- ✅ **响应时间**:第1-100个任务无影响,第101+个任务需等待 -- ✅ **系统稳定性**:显著提升,无崩溃风险 - ---- - -## 🔧 配置建议 - -### 场景1:低并发(<50任务/小时) - -```yaml -max-polling-tasks: 50 # 降低上限节省资源 -queue-check-interval: 10000 # 降低检查频率 -``` - -### 场景2:中等并发(50-200任务/小时)✅ **推荐** - -```yaml -max-polling-tasks: 100 # 默认配置 -queue-check-interval: 5000 -``` - -### 场景3:高并发(200+任务/小时) - -```yaml -max-polling-tasks: 150 # 提高上限 -queue-check-interval: 3000 # 加快检查频率 -``` - -**注意:** `max-polling-tasks` 不建议超过200,否则可能触发RunningHub限流。 - ---- - -## 📊 监控与告警 - -### 关键指标 - -```sql --- 1. 轮询任务数(应≤100) -SELECT COUNT(*) as polling_tasks -FROM ai_task -WHERE status = 'processing' - AND provider_type = 'runninghub' - AND is_deleted = 0; - --- 2. 等待队列长度 -SELECT COUNT(*) as waiting_tasks -FROM ai_task -WHERE status = 'queued' - AND provider_type = 'runninghub' - AND is_deleted = 0; - --- 3. 队列处理效率(每分钟完成任务数) -SELECT COUNT(*) / 60 as tasks_per_minute -FROM ai_task -WHERE status = 'completed' - AND provider_type = 'runninghub' - AND complete_time > DATE_SUB(NOW(), INTERVAL 1 HOUR); -``` - -### 告警规则 - -```yaml -alerts: - - name: "RunningHub等待队列过长" - condition: waiting_tasks > 500 - action: 发送通知 + 考虑增加max-polling-tasks - - - name: "队列处理效率低" - condition: tasks_per_minute < 10 - action: 检查RunningHub API状态 -``` - ---- - -## 🐛 已知问题 - -### 1. 队列顺序 - -**问题:** 等待队列按FIFO顺序处理,不支持优先级。 - -**影响:** VIP用户和普通用户任务混在一起排队。 - -**解决方案:** v2.3.0 将引入优先级队列。 - -### 2. 队列持久化 - -**问题:** 等待队列存储在内存中,服务重启后丢失。 - -**影响:** 服务重启时,等待中的任务需要重新提交。 - -**解决方案:** v2.3.0 将使用Redis持久化队列。 - ---- - -## 🎯 下一步计划(v2.3.0) - -1. **优先级队列** - VIP用户任务优先处理 -2. **Redis队列** - 队列持久化,服务重启不丢失 -3. **动态限流** - 根据RunningHub API响应时间自动调整并发数 -4. **分布式部署** - 支持多个轮询服务实例 - ---- - -## 📞 技术支持 - -### 遇到问题? - -1. **查看文档** - - `RUNNINGHUB_QUEUE_OPTIMIZATION.md` - 队列优化详解 - - `QUICK_REFERENCE.md` - 快速参考 - -2. **检查日志** - ```bash - sudo journalctl -u spring_1818_user_server -f | grep -E "(队列|Queue|ERROR)" - ``` - -3. **查看队列状态** - ```bash - curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" - ``` - -4. **手动处理队列** - ```bash - curl "http://localhost:8081/admin/runninghub/queue/process" \ - -H "Authorization: Bearer $ADMIN_TOKEN" - ``` - ---- - -## ✅ 总结 - -**v2.2.0 是一个重要的稳定性更新**,解决了RunningHub任务无限制轮询导致的系统过载问题。 - -**升级收益:** -- ✅ 系统稳定性提升90%+ -- ✅ CPU/内存占用可控 -- ✅ 支持无限并发任务 -- ✅ 完善的监控和管理功能 - -**推荐所有v2.1.x用户立即升级到v2.2.0!** 🚀 - ---- - -**发布团队:** 1818AI技术团队 -**发布时间:** 2025-10-20 -**版本号:** v2.2.0 - diff --git a/RUNNINGHUB_CONCURRENCY_ANALYSIS.md b/RUNNINGHUB_CONCURRENCY_ANALYSIS.md deleted file mode 100644 index 249a469..0000000 --- a/RUNNINGHUB_CONCURRENCY_ANALYSIS.md +++ /dev/null @@ -1,580 +0,0 @@ -# RunningHub 并发能力分析与优化方案 - -**版本:** v2.1.0 -**更新时间:** 2025-10-20 -**分析人员:** AI架构团队 - ---- - -## 📊 一、RunningHub API并发能力评估 - -### 1.1 API架构分析 - -RunningHub采用**异步任务处理模式**,这种架构天然支持高并发: - -``` -客户端请求 → 提交任务(秒级响应) → 返回TaskID → 客户端轮询 → 获取结果 -``` - -**优势:** -- ✅ 提交接口无需等待任务完成,可快速响应 -- ✅ 任务在后台队列中处理,不占用HTTP连接 -- ✅ 理论上可同时提交大量任务 - ---- - -### 1.2 并发限制因素 - -#### A. API Key限制(未知,需测试) - -RunningHub未公开以下限制: -- ❓ 每秒最大请求数(QPS) -- ❓ 每分钟最大请求数(QPM) -- ❓ 单个API Key的并发任务数 -- ❓ 账户级别的任务队列限制 - -**建议测试方案:** -```bash -# 逐步压力测试 -1. 同时提交10个任务 → 观察响应 -2. 同时提交50个任务 → 观察是否限流 -3. 同时提交100个任务 → 找到阈值 -``` - -#### B. 任务处理能力 - -根据API文档分析: -- **文生视频(10秒):** 预计处理时间 2-5分钟 -- **图生视频(10秒):** 预计处理时间 2-5分钟 -- **高清视频:** 预计处理时间 5-10分钟 - -**并发处理能力估算:** -假设RunningHub后台有100个GPU实例,平均处理时间3分钟: -``` -理论最大并发 = 100个GPU × (60秒 / 3分钟) = 约2000个任务/小时 -``` - -#### C. 网络带宽限制 - -- **请求体大小:** - - 文生视频:~2KB(prompt + 配置) - - 图生视频:~10KB-500KB(包含图片URL或Base64) - -- **响应体大小:** - - 提交响应:~500B - - 状态查询:~300B - - 结果获取:~1KB(只返回URL) - -**预计带宽需求(100并发):** -``` -上传:100 × 500KB = 50MB -下载(轮询10次/任务):100 × 10 × 1KB = 1MB -总计:~51MB(一次性峰值) -``` - ---- - -## 🔧 二、当前系统并发配置 - -### 2.1 系统参数 - -```yaml -# application.yml -ai: - providers: - runninghub: - polling-interval: 10000 # 轮询间隔 10秒(已优化) - max-polling-times: 60 # 最大轮询60次 = 10分钟 - queue: - max-concurrent: 50 # 每个模型最大并发50个 -``` - -### 2.2 并发能力计算 - -#### A. 系统级并发 - -**RunningHub模型数量:** 12个 -``` -rh_sora2_text_portrait (文生视频-竖屏) -rh_sora2_text_landscape (文生视频-横屏) -rh_sora2_text_portrait_hd (文生视频-高清竖屏) -rh_sora2_text_landscape_hd (文生视频-高清横屏) -rh_sora2_text_portrait_15s (文生视频-竖屏15秒) -rh_sora2_text_landscape_15s (文生视频-横屏15秒) -rh_sora2_img_portrait (图生视频-竖屏) -rh_sora2_img_landscape (图生视频-横屏) -rh_sora2_img_portrait_hd (图生视频-高清竖屏) -rh_sora2_img_landscape_hd (图生视频-高清横屏) -rh_sora2_img_portrait_15s (图生视频-竖屏15秒) -rh_sora2_img_landscape_15s (图生视频-横屏15秒) -``` - -**理论最大并发:** -``` -12个模型 × 50个/模型 = 600个并发任务 -``` - -**但实际上:** -- RunningHub任务不走我们的队列系统(直接提交) -- 只受RunningHub API限制,不受我们的max-concurrent限制 - -**实际并发能力:** **无限制**(取决于RunningHub服务端) - -#### B. 轮询调度器负载 - -```java -@Scheduled(fixedRateString = "${ai.providers.runninghub.polling-interval:10000}") -public void pollRunningHubTasks() { - // 查询所有processing状态的RunningHub任务 - List processingTasks = aiTaskMapper.findProcessingTasksByProvider("runninghub"); - - // 每10秒轮询一次 - for (AiTask task : processingTasks) { - // 查询状态 → 更新数据库 → 发送WebSocket通知 - } -} -``` - -**轮询负载分析(10秒间隔):** - -| 并发任务数 | 每次轮询耗时 | CPU使用率 | 网络流量/分钟 | -|-----------|------------|----------|--------------| -| 10 | ~1秒 | <5% | ~180KB | -| 50 | ~5秒 | ~10% | ~900KB | -| 100 | ~10秒 | ~20% | ~1.8MB | -| 200 | ~20秒 | ~40% | ~3.6MB | -| 500 | ~50秒 | ~80% | ~9MB | - -**安全阈值:** 建议不超过**200个并发任务**,否则轮询调度器可能积压 - ---- - -## ⚠️ 三、潜在风险与瓶颈 - -### 3.1 轮询调度器阻塞 - -**问题:** 如果并发任务过多,单次轮询时间超过10秒,会导致任务堆积。 - -**示例:** -``` -T0: 开始轮询200个任务(预计20秒) -T10: 第二次调度触发,但上一次还没结束 → 跳过或阻塞 -T20: 第一次轮询完成 -T30: 第三次调度触发 -``` - -**解决方案:** -1. 使用 `@Scheduled(fixedDelay = 10000)` 替代 `fixedRate` -2. 增加线程池,并发查询状态 - -### 3.2 数据库连接池耗尽 - -**当前连接池配置(默认):** HikariCP 默认10个连接 - -**风险:** -``` -200个并发任务 × 每个任务3次数据库操作(查询+更新+日志) = 600次DB操作/10秒 -``` - -**解决方案:** -```yaml -spring: - datasource: - hikari: - maximum-pool-size: 50 # 增加连接池大小 - minimum-idle: 10 - connection-timeout: 30000 -``` - -### 3.3 WebSocket连接数 - -**问题:** 每个在线用户需要一个WebSocket连接来接收实时通知。 - -**并发用户数 vs WebSocket连接:** -``` -100个并发用户 = 100个WebSocket连接 -500个并发用户 = 500个WebSocket连接 -``` - -**Tomcat默认限制:** 200个线程 - -**解决方案:** -```yaml -server: - tomcat: - threads: - max: 500 # 增加最大线程数 - min-spare: 50 -``` - ---- - -## 🚀 四、并发优化方案 - -### 方案A:保守配置(推荐用于初期) - -**目标:** 稳定性优先,支持 **100个并发任务** - -```yaml -ai: - providers: - runninghub: - polling-interval: 10000 # 10秒轮询 - max-polling-times: 60 - -spring: - datasource: - hikari: - maximum-pool-size: 30 - minimum-idle: 10 - -server: - tomcat: - threads: - max: 300 - min-spare: 50 -``` - -**预期性能:** -- ✅ 轮询时间:~10秒/轮 -- ✅ CPU使用率:<20% -- ✅ 内存占用:<2GB -- ✅ 网络带宽:~2MB/分钟 - ---- - -### 方案B:高并发配置(成熟期) - -**目标:** 性能优先,支持 **500个并发任务** - -```yaml -ai: - providers: - runninghub: - polling-interval: 15000 # 15秒轮询(减少频率) - max-polling-times: 40 # 最大轮询40次 = 10分钟 - batch-size: 50 # 分批查询,每批50个 - -spring: - datasource: - hikari: - maximum-pool-size: 100 - minimum-idle: 20 - -server: - tomcat: - threads: - max: 1000 - min-spare: 100 - - # 异步线程池配置 - task: - execution: - pool: - core-size: 50 - max-size: 200 - queue-capacity: 500 -``` - -**优化代码(分批轮询):** -```java -@Scheduled(fixedDelay = 15000) -public void pollRunningHubTasks() { - List allTasks = aiTaskMapper.findProcessingTasksByProvider("runninghub"); - - // 分批处理,每批50个 - int batchSize = 50; - for (int i = 0; i < allTasks.size(); i += batchSize) { - List batch = allTasks.subList(i, Math.min(i + batchSize, allTasks.size())); - - // 并发查询这批任务 - batch.parallelStream().forEach(task -> { - try { - pollSingleTask(task); - } catch (Exception e) { - log.error("轮询任务失败: {}", task.getTaskNo(), e); - } - }); - } -} -``` - -**预期性能:** -- ✅ 轮询时间:~15秒/轮(分批并发) -- ✅ CPU使用率:<50% -- ✅ 内存占用:<4GB -- ✅ 网络带宽:~10MB/分钟 - ---- - -### 方案C:极致优化(企业级) - -**目标:** 支持 **2000+并发任务** - -**架构升级:** -1. **Redis消息队列** 替代数据库轮询 -2. **独立轮询服务** 部署多个实例 -3. **负载均衡** 分散WebSocket连接 -4. **限流熔断** 保护RunningHub API - -```mermaid -graph LR - A[用户请求] --> B[API网关] - B --> C[业务服务集群] - C --> D[Redis队列] - D --> E1[轮询服务1] - D --> E2[轮询服务2] - D --> E3[轮询服务3] - E1 --> F[RunningHub API] - E2 --> F - E3 --> F - F --> G[MySQL主从] - C --> H[WebSocket集群] -``` - ---- - -## 📈 五、RunningHub API限流策略 - -### 5.1 客户端限流(防止自身被封) - -```java -@Component -public class RunningHubRateLimiter { - - private final RateLimiter submitLimiter = RateLimiter.create(10.0); // 每秒10个提交 - private final RateLimiter queryLimiter = RateLimiter.create(50.0); // 每秒50个查询 - - public void beforeSubmit() { - submitLimiter.acquire(); // 阻塞直到获得许可 - } - - public void beforeQuery() { - queryLimiter.acquire(); - } -} -``` - -### 5.2 熔断降级(RunningHub故障时) - -```java -@Service -public class RunningHubProviderImpl implements AIProvider { - - @HystrixCommand( - fallbackMethod = "submitTaskFallback", - commandProperties = { - @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "10000"), - @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "20"), - @HystrixProperty(name = "circuitBreaker.errorThresholdPercentage", value = "50") - } - ) - public ProviderTaskResponse submitTask(ProviderTaskRequest request) { - // 正常提交逻辑 - } - - public ProviderTaskResponse submitTaskFallback(ProviderTaskRequest request) { - log.error("RunningHub服务降级,任务提交失败"); - return ProviderTaskResponse.builder() - .status(TaskSubmitStatus.FAILED) - .errorMessage("RunningHub服务暂时不可用,请稍后重试") - .build(); - } -} -``` - ---- - -## 🧪 六、压力测试方案 - -### 6.1 测试工具 - -**JMeter测试脚本:** -```xml - - localhost - 8081 - /user/ai/tasks/submit - POST - true - - 100 - 10 - 1 - - -``` - -### 6.2 测试场景 - -#### 场景1:渐进式压力测试 - -```bash -# 阶段1:10并发,持续1分钟 -# 阶段2:50并发,持续5分钟 -# 阶段3:100并发,持续10分钟 -# 阶段4:200并发,持续10分钟 -``` - -**观察指标:** -- API响应时间(P50、P95、P99) -- 轮询延迟 -- 数据库连接池使用率 -- CPU/内存使用率 -- RunningHub API错误率 - -#### 场景2:峰值冲击测试 - -```bash -# 突然提交500个任务,观察系统恢复能力 -ab -n 500 -c 100 -T 'application/json' \ - -H "Authorization: Bearer TEST_TOKEN" \ - -p task_payload.json \ - http://localhost:8081/user/ai/tasks/submit -``` - ---- - -## 📊 七、监控与告警 - -### 7.1 关键指标 - -```sql --- 实时并发任务数 -SELECT COUNT(*) as running_tasks -FROM ai_task -WHERE provider_type = 'runninghub' - AND status = 'processing'; - --- 平均处理时间 -SELECT AVG(TIMESTAMPDIFF(SECOND, start_time, complete_time)) as avg_seconds -FROM ai_task -WHERE provider_type = 'runninghub' - AND status = 'completed' - AND complete_time > DATE_SUB(NOW(), INTERVAL 1 HOUR); - --- 失败率 -SELECT - COUNT(CASE WHEN status = 'failed' THEN 1 END) * 100.0 / COUNT(*) as failure_rate -FROM ai_task -WHERE provider_type = 'runninghub' - AND create_time > DATE_SUB(NOW(), INTERVAL 1 HOUR); -``` - -### 7.2 告警规则 - -```yaml -alerts: - - name: "RunningHub并发过高" - condition: running_tasks > 200 - action: 发送邮件/短信通知 - - - name: "RunningHub失败率过高" - condition: failure_rate > 10% - action: 触发熔断,停止新任务提交 - - - name: "轮询延迟过高" - condition: polling_delay > 30s - action: 重启轮询调度器 -``` - ---- - -## 💡 八、最佳实践建议 - -### 8.1 初期部署(100并发以内) - -1. ✅ 使用**方案A配置** -2. ✅ 轮询间隔设置为 **10秒**(已调整) -3. ✅ 监控RunningHub API响应时间 -4. ✅ 每日检查失败任务并分析原因 - -### 8.2 业务增长期(100-500并发) - -1. ✅ 升级到**方案B配置** -2. ✅ 实施分批轮询优化 -3. ✅ 增加数据库连接池和Tomcat线程数 -4. ✅ 引入限流和熔断机制 - -### 8.3 大规模部署(500+并发) - -1. ✅ 采用**方案C架构** -2. ✅ 独立部署轮询服务集群 -3. ✅ 使用Redis消息队列 -4. ✅ 实施全链路监控和自动告警 - ---- - -## 📝 九、RunningHub API费用估算 - -### 9.1 任务成本分析 - -根据 `V5__add_provider_support.sql` 中的积分配置: - -| 模型类型 | 积分消耗 | 实际成本(假设1元=100积分) | -|---------|---------|---------------------------| -| 文生视频(10秒,普通) | 160 | 1.6元 | -| 文生视频(10秒,高清) | 420 | 4.2元 | -| 图生视频(10秒,普通) | 180 | 1.8元 | -| 图生视频(10秒,高清) | 480 | 4.8元 | - -### 9.2 并发成本估算 - -**场景:100个并发任务/小时** - -假设任务分布: -- 60% 文生视频(普通):60 × 1.6元 = 96元 -- 20% 文生视频(高清):20 × 4.2元 = 84元 -- 15% 图生视频(普通):15 × 1.8元 = 27元 -- 5% 图生视频(高清):5 × 4.8元 = 24元 - -**总计:231元/小时** 或 **5544元/天** - -**建议:** -- 对于高频用户,设置每日任务数量限制 -- 引入会员等级,高级会员享受折扣 -- 批量购买积分时提供优惠 - ---- - -## ✅ 十、总结与建议 - -### 当前配置(已优化) - -```yaml -polling-interval: 10000 # ✅ 已改为10秒 -max-polling-times: 60 # ✅ 已调整为60次 -``` - -### 并发能力评估 - -| 并发任务数 | 系统负载 | 推荐配置 | 风险等级 | -|-----------|---------|---------|---------| -| 0-100 | 低 | 方案A | ✅ 安全 | -| 100-200 | 中 | 方案A | ⚠️ 注意 | -| 200-500 | 高 | 方案B | ⚠️ 风险 | -| 500+ | 极高 | 方案C | ❌ 需重构 | - -### 下一步行动 - -1. **短期(1周内):** - - [ ] 部署当前配置(10秒轮询) - - [ ] 监控前100个任务的表现 - - [ ] 收集RunningHub API响应时间数据 - -2. **中期(1个月内):** - - [ ] 进行渐进式压力测试 - - [ ] 找到RunningHub API的并发阈值 - - [ ] 根据实际情况调整轮询间隔 - -3. **长期(3个月内):** - - [ ] 如果并发超过200,实施方案B - - [ ] 引入Redis队列和独立轮询服务 - - [ ] 建立完善的监控和告警体系 - ---- - -**RunningHub并发分析完成!** 🎯 - -当前配置已优化为10秒轮询,建议从小规模开始,逐步增加并发,实时监控系统表现。 - diff --git a/RUNNINGHUB_FINAL_SUMMARY.md b/RUNNINGHUB_FINAL_SUMMARY.md deleted file mode 100644 index 22e5b8d..0000000 --- a/RUNNINGHUB_FINAL_SUMMARY.md +++ /dev/null @@ -1,400 +0,0 @@ -# RunningHub集成最终汇总 - v2.1.1 - -**项目:** 1818AI用户服务端 -**功能:** RunningHub Sora2 多厂商AI集成 -**完成时间:** 2025-10-20 -**版本:** v2.1.1(轮询优化版) - ---- - -## ✅ 完成状态:100% - -所有任务已完成,系统已就绪,可立即部署! - ---- - -## 📦 交付成果 - -### 1. 核心代码文件(19个新增 + 7个修改) - -#### 新增文件(19个) - -**Provider核心架构(5个)** -- ✅ `src/main/java/com/dora/service/provider/AIProvider.java` -- ✅ `src/main/java/com/dora/dto/provider/ProviderTaskRequest.java` -- ✅ `src/main/java/com/dora/dto/provider/ProviderTaskResponse.java` -- ✅ `src/main/java/com/dora/dto/provider/ProviderTaskStatus.java` -- ✅ `src/main/java/com/dora/dto/provider/ProviderTaskResult.java` - -**Provider实现(2个)** -- ✅ `src/main/java/com/dora/service/provider/impl/OpenAIProviderImpl.java` -- ✅ `src/main/java/com/dora/service/provider/impl/RunningHubProviderImpl.java` - -**RunningHub专用DTO(5个)** -- ✅ `src/main/java/com/dora/dto/runninghub/RunningHubSubmitRequest.java` -- ✅ `src/main/java/com/dora/dto/runninghub/RunningHubNodeInfo.java` -- ✅ `src/main/java/com/dora/dto/runninghub/RunningHubSubmitResponse.java` -- ✅ `src/main/java/com/dora/dto/runninghub/RunningHubStatusResponse.java` -- ✅ `src/main/java/com/dora/dto/runninghub/RunningHubOutputResponse.java` - -**核心服务(2个)** -- ✅ `src/main/java/com/dora/service/AIProviderService.java` -- ✅ `src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java` - -**文档(5个)** -- ✅ `MULTI_VENDOR_ADAPTER_DESIGN.md` - 架构设计文档 -- ✅ `RUNNINGHUB_USAGE_GUIDE.md` - 使用指南(12个模型详解) -- ✅ `RUNNINGHUB_CONCURRENCY_ANALYSIS.md` - 并发能力分析 -- ✅ `POLLING_INTERVAL_OPTIMIZATION.md` - 轮询优化说明 -- ✅ `DEPLOYMENT_CHECKLIST.md` - 部署检查清单 - -#### 修改文件(7个) - -- ✅ `V5__add_provider_support.sql` - 数据库迁移(12个模型配置) -- ✅ `src/main/resources/application.yml` - 多厂商配置 + 10秒轮询 -- ✅ `src/main/java/com/dora/entity/AiTask.java` - 添加provider字段 -- ✅ `src/main/java/com/dora/entity/PointsConfig.java` - 添加provider字段 -- ✅ `src/main/java/com/dora/mapper/AiTaskMapper.java` - 查询方法 -- ✅ `src/main/resources/mapper/AiTaskMapper.xml` - SQL更新 -- ✅ `src/main/java/com/dora/service/impl/AiTaskServiceImpl.java` - Provider集成 - ---- - -## 🎯 核心功能 - -### 1. 多厂商支持 - -| 服务商 | 类型 | 模型数量 | 状态 | -|-------|------|---------|-----| -| OpenAI | 同步API | 原有模型 | ✅ 兼容 | -| RunningHub | 异步API | 12个Sora2 | ✅ 已集成 | - -### 2. RunningHub模型列表 - -#### 文生视频(6个) - -| 模型名称 | 时长 | 分辨率 | 积分 | webappId | -|---------|------|--------|------|----------| -| rh_sora2_text_portrait | 10秒 | 竖屏 | 160 | 1973555977595301890 | -| rh_sora2_text_landscape | 10秒 | 横屏 | 160 | 1973555977595301890 | -| rh_sora2_text_portrait_hd | 10秒 | 高清竖屏 | 420 | 1973555977595301890 | -| rh_sora2_text_landscape_hd | 10秒 | 高清横屏 | 420 | 1973555977595301890 | -| rh_sora2_text_portrait_15s | 15秒 | 竖屏 | 260 | 1973555977595301890 | -| rh_sora2_text_landscape_15s | 15秒 | 横屏 | 260 | 1973555977595301890 | - -#### 图生视频(6个) - -| 模型名称 | 时长 | 分辨率 | 积分 | webappId | -|---------|------|--------|------|----------| -| rh_sora2_img_portrait | 10秒 | 竖屏 | 180 | 1973555366057390081 | -| rh_sora2_img_landscape | 10秒 | 横屏 | 180 | 1973555366057390081 | -| rh_sora2_img_portrait_hd | 10秒 | 高清竖屏 | 480 | 1973555366057390081 | -| rh_sora2_img_landscape_hd | 10秒 | 高清横屏 | 480 | 1973555366057390081 | -| rh_sora2_img_portrait_15s | 15秒 | 竖屏 | 280 | 1973555366057390081 | -| rh_sora2_img_landscape_15s | 15秒 | 横屏 | 280 | 1973555366057390081 | - -### 3. 关键参数配置 - -```yaml -# application.yml -ai: - providers: - runninghub: - enabled: true - base-url: https://www.runninghub.cn - api-key: "5c44cef12da3470e9f24da70c63787dc" - polling-interval: 10000 # ✅ 10秒轮询(已优化) - max-polling-times: 60 # ✅ 最大10分钟 -``` - ---- - -## 🚀 技术亮点 - -### 1. 智能任务路由 - -```java -// 系统根据模型配置自动选择Provider -String providerType = pointsConfig.getProviderType(); -if ("runninghub".equals(providerType)) { - submitToRunningHub(task, pointsConfig); // 异步提交 -} else { - queueService.enqueue(task); // 队列处理 -} -``` - -### 2. 图片参数支持 - -**支持完整URL(无需预先上传)** -```json -{ - "modelName": "rh_sora2_img_landscape", - "prompt": "让场景动起来", - "imageUrl": "https://example.com/my-image.jpg" // ✅ 完整URL -} -``` - -**发送到RunningHub的请求:** -```json -{ - "nodeInfoList": [ - { - "nodeId": "2", - "fieldName": "image", - "fieldValue": "https://example.com/my-image.jpg" // ✅ 直接使用完整URL - } - ] -} -``` - -### 3. 防堆积轮询 - -```java -// ✅ 使用fixedDelay而非fixedRate -@Scheduled(fixedDelayString = "${ai.providers.runninghub.polling-interval:10000}") -public void pollRunningHubTasks() { - // 上一次执行完成后,等待10秒再执行下一次 - // 防止高并发时任务堆积 -} -``` - -### 4. 自动任务类型识别 - -```java -// 根据providerConfig自动识别文生视频/图生视频 -String taskType = (String) providerConfig.get("taskType"); -if ("image2video".equals(taskType)) { - // 构建图生视频nodeInfoList(包含image节点) -} else { - // 构建文生视频nodeInfoList(只有prompt节点) -} -``` - ---- - -## 📊 性能指标 - -### 1. 并发能力 - -| 并发任务数 | 轮询负载 | CPU使用率 | 状态 | -|-----------|---------|----------|-----| -| 0-100 | 轻 | <10% | ✅ 推荐 | -| 100-200 | 中 | 10-20% | ⚠️ 可用 | -| 200-500 | 高 | 20-50% | ⚠️ 需优化 | -| 500+ | 极高 | >50% | ❌ 需架构升级 | - -### 2. 轮询优化效果 - -| 指标 | 5秒轮询 | 10秒轮询 | 改善 | -|-----|---------|---------|-----| -| API调用量 | 1200次/分钟 | 600次/分钟 | ↓50% | -| 网络流量 | 2.4MB/分钟 | 1.2MB/分钟 | ↓50% | -| CPU使用率 | 20% | 10% | ↓50% | -| 平均延迟 | 2.5秒 | 5秒 | ↑2.5秒 | - -**结论:** 成本降低50%,延迟仅增加2.5秒,完美平衡 ✅ - ---- - -## 🧪 测试示例 - -### 文生视频测试 - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_text_portrait", - "prompt": "一个人在海边奔跑,镜头从远到近" - }' -``` - -### 图生视频测试(完整URL) - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_img_landscape", - "prompt": "让这个场景动起来", - "imageUrl": "https://example.com/city-skyline.jpg" - }' -``` - ---- - -## 📋 部署步骤 - -### 1. 数据库迁移 - -```bash -# 备份数据库 -mysqldump -u root -p 1818ai > backup_$(date +%Y%m%d).sql - -# 执行迁移 -mysql -u root -p 1818ai < V5__add_provider_support.sql - -# 验证 -mysql -u root -p 1818ai -e "SELECT COUNT(*) FROM points_config WHERE provider_type='runninghub';" -# 预期结果:12 -``` - -### 2. 编译部署 - -```bash -# 编译 -mvn clean package -DskipTests - -# 部署 -sudo systemctl stop spring_1818_user_server -sudo cp target/1818_user_server-1.0-SNAPSHOT.jar /www/wwwroot/1818_user_server/ -sudo systemctl start spring_1818_user_server - -# 查看日志 -sudo journalctl -u spring_1818_user_server -f | grep "Provider" -``` - -### 3. 验证 - -```bash -# 检查Provider注册 -sudo journalctl -u spring_1818_user_server | grep "注册AI Provider" -# 预期输出: -# 注册AI Provider: openai, 异步: false -# 注册AI Provider: runninghub, 异步: true - -# 检查轮询调度器 -sudo journalctl -u spring_1818_user_server | grep "RunningHub轮询" -``` - ---- - -## 📚 文档导航 - -| 文档 | 用途 | 读者 | -|-----|------|-----| -| `MULTI_VENDOR_ADAPTER_DESIGN.md` | 架构设计 | 开发人员 | -| `RUNNINGHUB_USAGE_GUIDE.md` | 使用指南 | 开发/测试人员 | -| `RUNNINGHUB_CONCURRENCY_ANALYSIS.md` | 并发分析 | 运维人员 | -| `POLLING_INTERVAL_OPTIMIZATION.md` | 轮询优化 | 技术负责人 | -| `DEPLOYMENT_CHECKLIST.md` | 部署清单 | 运维人员 | - ---- - -## ⚠️ 重要提醒 - -### 1. 图片要求 - -- ❌ **不支持真人图像**作为图生视频的输入 -- ✅ 建议使用:风景、物体、场景类图片 -- ✅ 支持完整URL,无需预先上传到RunningHub - -### 2. 并发控制 - -- 当前配置支持**100个并发任务** -- 如果超过200个并发,请参考 `RUNNINGHUB_CONCURRENCY_ANALYSIS.md` 升级配置 -- 监控 `ai_task` 表中 `status='processing'` 的数量 - -### 3. 成本控制 - -- 普通视频:1.6-2.6元/个 -- 高清视频:4.2-4.8元/个 -- 建议设置用户每日任务数量限制 - ---- - -## 🔧 配置优化建议 - -### 低并发(<50任务) - -```yaml -polling-interval: 5000 # 追求实时性 -max-polling-times: 120 -``` - -### 中等并发(50-200任务)✅ **当前配置** - -```yaml -polling-interval: 10000 # 平衡性能与体验 -max-polling-times: 60 -``` - -### 高并发(200+任务) - -```yaml -polling-interval: 15000 # 优先稳定性 -max-polling-times: 40 -# 并建议实施分批轮询优化 -``` - ---- - -## 📞 技术支持 - -### 常见问题排查 - -1. **Provider未注册?** - - 检查日志:`sudo journalctl -u spring_1818_user_server | grep "Provider"` - - 确认类路径正确:`com.dora.service.provider.impl.*` - -2. **任务卡在processing?** - - 查看轮询日志:`grep "RunningHub轮询"` - - 手动查询RunningHub状态API - - 检查网络连接 - -3. **图生视频失败?** - - 确认图片URL可访问 - - 确认图片不包含真人 - - 查看 `provider_response` 字段的错误信息 - ---- - -## ✅ 最终检查清单 - -部署前请确认: - -- [x] 数据库迁移脚本已执行(12个模型已插入) -- [x] application.yml配置正确(10秒轮询) -- [x] 所有26个文件已提交到代码仓库 -- [x] OpenAI模型仍能正常工作(兼容性测试) -- [x] RunningHub Provider已注册 -- [x] 轮询调度器正常启动 -- [x] WebSocket通知正常工作 -- [x] 失败任务能自动退还积分 - ---- - -## 🎉 总结 - -**RunningHub Sora2 集成 v2.1.1 完成!** - -### 核心成果 - -1. ✅ **12个RunningHub模型**已配置(文生视频 + 图生视频) -2. ✅ **多厂商架构**实现(OpenAI + RunningHub无缝切换) -3. ✅ **异步轮询机制**优化(10秒间隔,防堆积) -4. ✅ **完整URL支持**(图生视频无需预先上传) -5. ✅ **完整文档**(5篇共1600+行) - -### 性能优化 - -- API调用量减少 **50%** -- 服务器负载降低 **50%** -- 支持 **100个并发任务** -- 用户延迟仅增加 **2.5秒** - -### 下一步 - -1. 部署到测试环境 -2. 执行压力测试 -3. 监控1周,收集数据 -4. 根据实际情况调优 - ---- - -**系统已就绪,可立即部署!** 🚀 - -如有问题,请参考对应文档或联系技术团队。 - diff --git a/RUNNINGHUB_IMPLEMENTATION_TODO.md b/RUNNINGHUB_IMPLEMENTATION_TODO.md deleted file mode 100644 index 2ed3f79..0000000 --- a/RUNNINGHUB_IMPLEMENTATION_TODO.md +++ /dev/null @@ -1,295 +0,0 @@ -# RunningHub集成实现清单 - -## ✅ 已完成 - -1. ✅ 创建Provider接口和DTO -2. ✅ 数据库表扩展(V5迁移脚本) -3. ✅ 配置文件扩展 -4. ✅ 实体类更新 - -## 🔨 待实现(按优先级) - -### 1. 实现OpenAIProvider适配器 -**文件:** `src/main/java/com/dora/service/provider/impl/OpenAIProviderImpl.java` - -```java -@Service -@Slf4j -@RequiredArgsConstructor -public class OpenAIProviderImpl implements AIProvider { - - private final ThirdPartyApiService thirdPartyApiService; - - @Override - public ProviderTaskResponse submitTask(ProviderTaskRequest request) { - // 调用现有的 thirdPartyApiService - // 同步返回结果 - } - - @Override - public String getProviderName() { - return "openai"; - } - - @Override - public boolean isAsyncProvider() { - return false; // OpenAI是同步API - } -} -``` - -### 2. 实现RunningHubProvider适配器 -**文件:** `src/main/java/com/dora/service/provider/impl/RunningHubProviderImpl.java` - -**关键逻辑:** -```java -@Override -public ProviderTaskResponse submitTask(ProviderTaskRequest request) { - // 1. 从providerConfig中获取webappId - // 2. 构建nodeInfoList - // - prompt节点 - // - model节点(portrait/landscape等) - // - duration_seconds节点 - // 3. POST到 /task/openapi/ai-app/run - // 4. 解析响应获取taskId - // 5. 返回ProviderTaskResponse,status=PROCESSING -} - -@Override -public ProviderTaskStatus queryTaskStatus(String providerTaskId) { - // POST到 /task/openapi/status - // 解析响应:QUEUED/RUNNING/FAILED/SUCCESS -} - -@Override -public ProviderTaskResult getTaskResult(String providerTaskId) { - // POST到 /task/openapi/outputs - // 解析data数组,获取fileUrl -} -``` - -**RunningHub请求DTO:** -```java -@Data -class RunningHubSubmitRequest { - private String webappId; - private String apiKey; - private List nodeInfoList; -} - -@Data -class RunningHubNodeInfo { - private String nodeId; - private String fieldName; - private String fieldValue; - private String fieldData; // 可选 - private String description; -} -``` - -### 3. 创建AIProviderService路由服务 -**文件:** `src/main/java/com/dora/service/AIProviderService.java` - -```java -@Service -@Slf4j -@RequiredArgsConstructor -public class AIProviderService { - - private final Map providerMap; - private final PointsConfigMapper pointsConfigMapper; - - @PostConstruct - public void init() { - // 初始化providerMap,key为providerType - } - - public AIProvider getProvider(String modelName) { - // 1. 从points_config表查询模型配置 - // 2. 获取providerType - // 3. 从providerMap中获取对应的Provider - PointsConfig config = pointsConfigMapper.findByModelName(modelName); - String providerType = config.getProviderType(); - return providerMap.get(providerType); - } -} -``` - -### 4. 添加RunningHub轮询定时器 -**文件:** `src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java` - -```java -@Component -@Slf4j -@RequiredArgsConstructor -public class RunningHubPollingScheduler { - - private final AiTaskMapper aiTaskMapper; - private final AIProviderService providerService; - private final AiTaskService aiTaskService; - - @Scheduled(fixedDelay = 5000) // 每5秒执行一次 - public void pollRunningHubTasks() { - // 1. 查询 status='processing' 且 provider_type='runninghub' 的任务 - List tasks = aiTaskMapper.findProcessingTasksByProvider("runninghub"); - - for (AiTask task : tasks) { - try { - AIProvider provider = providerService.getProvider(task.getModelName()); - - // 2. 查询任务状态 - ProviderTaskStatus status = provider.queryTaskStatus(task.getProviderTaskId()); - - // 3. 根据状态更新 - if (status.getStatus() == Status.SUCCESS) { - // 获取结果 - ProviderTaskResult result = provider.getTaskResult(task.getProviderTaskId()); - // 更新任务为completed - aiTaskService.markTaskCompleted(task.getTaskNo(), result.getFiles().get(0).getFileUrl()); - } else if (status.getStatus() == Status.FAILED) { - // 标记为失败 - aiTaskService.markTaskFailed(task.getTaskNo(), status.getErrorMessage()); - } - } catch (Exception e) { - log.error("轮询RunningHub任务失败: {}", task.getTaskNo(), e); - } - } - } -} -``` - -### 5. 更新AiTaskMapper -**文件:** `src/main/resources/mapper/AiTaskMapper.xml` - -```xml - - - - - - INSERT INTO ai_task ( - task_no, user_id, model_name, task_type, provider_type, provider_task_id, provider_response, - prompt, image_url, image_base64, aspect_ratio, - status, progress, progress_message, points_frozen, points_consumed, result_url, - error_message, queue_time, start_time, complete_time, expire_time - ) - VALUES ( - #{taskNo}, #{userId}, #{modelName}, #{taskType}, #{providerType}, #{providerTaskId}, #{providerResponse}, - #{prompt}, #{imageUrl}, #{imageBase64}, #{aspectRatio}, - #{status}, #{progress}, #{progressMessage}, #{pointsFrozen}, #{pointsConsumed}, #{resultUrl}, - #{errorMessage}, #{queueTime}, #{startTime}, #{completeTime}, #{expireTime} - ) - -``` - -### 6. 更新AiTaskServiceImpl -**文件:** `src/main/java/com/dora/service/impl/AiTaskServiceImpl.java` - -```java -@Override -@Transactional(rollbackFor = Exception.class) -public AiTask createTask(CreateTaskDto createTaskDto) { - // 1. 验证模型并获取价格 - PointsConfig pointsConfig = pointsConfigMapper.findByModelName(createTaskDto.getModelName()); - - // 2. 扣除积分 - // ... - - // 3. 创建任务 - AiTask task = new AiTask(); - // ... 设置基本字段 - task.setProviderType(pointsConfig.getProviderType()); // 设置provider类型 - aiTaskMapper.insert(task); - - // 4. 判断provider类型 - if ("runninghub".equals(pointsConfig.getProviderType())) { - // RunningHub:直接提交到服务商 - submitToRunningHub(task, pointsConfig); - } else { - // OpenAI:加入队列,由原有流程处理 - queueService.enqueue(task.getModelName(), task.getTaskNo()); - updateTaskStatus(task.getTaskNo(), "queued", "任务已进入等待队列"); - } - - return task; -} - -private void submitToRunningHub(AiTask task, PointsConfig config) { - try { - AIProvider provider = aiProviderService.getProvider(task.getModelName()); - - // 构建请求 - ProviderTaskRequest request = ProviderTaskRequest.builder() - .modelName(task.getModelName()) - .prompt(task.getPrompt()) - .imageUrl(task.getImageUrl()) - .imageBase64(task.getImageBase64()) - .providerConfig(parseProviderConfig(config.getProviderConfig())) - .build(); - - // 提交任务 - ProviderTaskResponse response = provider.submitTask(request); - - // 更新任务 - task.setProviderTaskId(response.getProviderTaskId()); - task.setProviderResponse(JSON.toJSONString(response.getRawResponse())); - task.setStatus("processing"); - task.setStartTime(LocalDateTime.now()); - aiTaskMapper.update(task); - - } catch (Exception e) { - log.error("提交RunningHub任务失败: {}", task.getTaskNo(), e); - markTaskFailed(task.getTaskNo(), "提交失败: " + e.getMessage()); - } -} -``` - -## 🧪 测试步骤 - -### 1. 数据库迁移 -```bash -mysql -u root -p your_database < V5__add_provider_support.sql -``` - -### 2. 配置RunningHub API Key -修改`application.yml`中的`ai.providers.runninghub.api-key` - -### 3. 测试RunningHub模型 -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_OR_API_KEY" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_portrait", - "prompt": "测试视频生成" - }' -``` - -### 4. 查看轮询日志 -```bash -tail -f logs/application.log | grep "RunningHub" -``` - -## 📝 注意事项 - -1. **配置管理**:RunningHub的webappId需要从数据库的provider_config中读取 -2. **错误处理**:RunningHub API可能返回各种错误,需要完善异常处理 -3. **超时控制**:设置最大轮询次数,防止任务无限轮询 -4. **并发限制**:轮询时要控制并发数,避免给RunningHub造成压力 -5. **日志记录**:详细记录每次API调用的请求和响应,便于排查问题 - -## 🎯 预期效果 - -完成后,系统将支持: -- ✅ OpenAI格式的同步API(原有功能,无影响) -- ✅ RunningHub的异步API(新功能) -- ✅ 用户无感切换,根据模型自动选择服务商 -- ✅ 统一的任务管理和状态追踪 - diff --git a/RUNNINGHUB_INTEGRATION_COMPLETE.md b/RUNNINGHUB_INTEGRATION_COMPLETE.md deleted file mode 100644 index e586e69..0000000 --- a/RUNNINGHUB_INTEGRATION_COMPLETE.md +++ /dev/null @@ -1,391 +0,0 @@ -# RunningHub集成完成报告 - -**完成时间:** 2025-10-20 -**版本号:** v2.1.0 - ---- - -## ✅ 实现完成清单 - -### 1. 核心接口和DTO ✅ - -| 文件 | 说明 | 状态 | -|------|------|------| -| `AIProvider.java` | 统一服务商接口 | ✅ 完成 | -| `ProviderTaskRequest.java` | 统一请求DTO | ✅ 完成 | -| `ProviderTaskResponse.java` | 统一响应DTO | ✅ 完成 | -| `ProviderTaskStatus.java` | 任务状态DTO | ✅ 完成 | -| `ProviderTaskResult.java` | 任务结果DTO | ✅ 完成 | - -### 2. RunningHub专用DTO ✅ - -| 文件 | 说明 | 状态 | -|------|------|------| -| `RunningHubSubmitRequest.java` | 提交请求 | ✅ 完成 | -| `RunningHubNodeInfo.java` | 节点信息 | ✅ 完成 | -| `RunningHubSubmitResponse.java` | 提交响应 | ✅ 完成 | -| `RunningHubStatusResponse.java` | 状态查询响应 | ✅ 完成 | -| `RunningHubOutputResponse.java` | 结果查询响应 | ✅ 完成 | - -### 3. Provider实现 ✅ - -| 文件 | 说明 | 状态 | -|------|------|------| -| `OpenAIProviderImpl.java` | OpenAI适配器(同步) | ✅ 完成 | -| `RunningHubProviderImpl.java` | RunningHub适配器(异步) | ✅ 完成 | - -### 4. 核心服务 ✅ - -| 文件 | 说明 | 状态 | -|------|------|------| -| `AIProviderService.java` | Provider路由服务 | ✅ 完成 | -| `RunningHubPollingScheduler.java` | 轮询调度器 | ✅ 完成 | -| `AiTaskServiceImpl.java` | 任务服务(已集成) | ✅ 完成 | - -### 5. 数据库和配置 ✅ - -| 文件 | 说明 | 状态 | -|------|------|------| -| `V5__add_provider_support.sql` | 数据库迁移脚本 | ✅ 完成 | -| `application.yml` | 多厂商配置 | ✅ 完成 | -| `AiTask.java` | 实体类更新 | ✅ 完成 | -| `PointsConfig.java` | 实体类更新 | ✅ 完成 | -| `AiTaskMapper.xml` | SQL映射更新 | ✅ 完成 | - ---- - -## 🎯 系统架构 - -``` -┌─────────────────────────────────────────────────────────────┐ -│ 用户提交任务 │ -│ (JWT or API Key认证) │ -└────────────────────────┬────────────────────────────────────┘ - ↓ -┌─────────────────────────────────────────────────────────────┐ -│ AiTaskController │ -└────────────────────────┬────────────────────────────────────┘ - ↓ -┌─────────────────────────────────────────────────────────────┐ -│ AiTaskServiceImpl │ -│ 1. 扣积分 │ -│ 2. 创建任务 │ -│ 3. 读取 points_config.provider_type │ -│ 4. 路由到不同流程 │ -└────────┬──────────────────────────────┬─────────────────────┘ - │ │ - ▼ ▼ -┌──────────────────┐ ┌──────────────────┐ -│ OpenAI流程 │ │ RunningHub流程 │ -│ (同步) │ │ (异步) │ -└──────┬───────────┘ └─────────┬─────────┘ - │ │ - ↓ ↓ -┌──────────────────┐ ┌──────────────────┐ -│1. 加入队列 │ │1. 直接提交 │ -│2. TaskScheduler │ │2. 返回taskId │ -│ 定时调度 │ │3. 更新DB │ -│3. AsyncExecutor │ │ │ -│ 同步执行 │ │ │ -│4. 立即返回结果 │ │ │ -└──────────────────┘ └─────────┬─────────┘ - │ - ↓ - ┌──────────────────┐ - │RunningHub │ - │PollingScheduler │ - │ │ - │每5秒轮询: │ - │1. 查询状态 │ - │2. SUCCESS→获取 │ - │3. FAILED→退款 │ - │4. 更新DB+通知 │ - └──────────────────┘ -``` - ---- - -## 📋 工作流程对比 - -### OpenAI流程(同步) - -1. 用户提交任务 -2. 系统扣除积分,创建任务 -3. 任务加入队列(status='queued') -4. `TaskScheduler` 调度任务 -5. `AsyncTaskExecutor` 调用OpenAI API -6. 立即返回结果URL -7. 更新status='completed' -8. 发送WebSocket通知 - -**耗时:** ~10-30秒 - -### RunningHub流程(异步) - -1. 用户提交任务 -2. 系统扣除积分,创建任务 -3. 直接调用RunningHub API -4. 获得taskId,更新status='processing' -5. `RunningHubPollingScheduler` 每5秒轮询 -6. 检测到SUCCESS状态 -7. 调用outputs接口获取结果URL -8. 更新status='completed' -9. 发送WebSocket通知 - -**耗时:** ~2-5分钟 - ---- - -## 🔧 配置说明 - -### application.yml - -```yaml -ai: - providers: - openai: - enabled: true - base-url: https://api.apiyi.com/v1/chat/completions - api-key: "sk-xxx" - runninghub: - enabled: true - base-url: https://www.runninghub.cn - submit-url: /task/openapi/ai-app/run - status-url: /task/openapi/status - output-url: /task/openapi/outputs - default-webapp-id: "1973555977595301890" - api-key: "your_runninghub_api_key" - polling-interval: 5000 - max-polling-times: 120 -``` - -### points_config表配置 - -```sql --- RunningHub模型示例 -INSERT INTO `points_config` VALUES -(8, 'rh_sora2_portrait', 160, 'RunningHub Sora2 竖屏视频(10秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","duration":10,"model":"portrait"}', NOW(), NOW()); -``` - -**providerConfig字段说明:** -- `webappId`: RunningHub应用ID -- `duration`: 视频时长(秒) -- `model`: 模型类型(portrait/landscape/portrait-hd/landscape-hd) - ---- - -## 🚀 部署步骤 - -### 1. 数据库迁移 - -```bash -mysql -u root -p 1818ai < V5__add_provider_support.sql -``` - -### 2. 更新配置 - -编辑 `application.yml`,填入RunningHub API Key: - -```yaml -ai: - providers: - runninghub: - api-key: "YOUR_RUNNINGHUB_API_KEY" -``` - -### 3. 编译部署 - -```bash -# 编译 -mvn clean package -DskipTests - -# 停止服务 -sudo systemctl stop spring_1818_user_server - -# 备份旧版本 -sudo cp /www/wwwroot/1818_user_server/1818_user_server-1.0-SNAPSHOT.jar \ - /www/wwwroot/1818_user_server/1818_user_server-1.0-SNAPSHOT.jar.bak - -# 部署新版本 -sudo cp target/1818_user_server-1.0-SNAPSHOT.jar \ - /www/wwwroot/1818_user_server/ - -# 启动服务 -sudo systemctl start spring_1818_user_server - -# 查看日志 -sudo journalctl -u spring_1818_user_server -f -``` - ---- - -## 🧪 测试指南 - -### 1. 测试OpenAI模型(验证兼容性) - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "sora_image", - "prompt": "一只可爱的猫咪" - }' -``` - -**预期结果:** -- 任务立即执行 -- 30秒内返回completed状态 -- resultUrl包含图片地址 - -### 2. 测试RunningHub模型 - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_portrait", - "prompt": "一个人在海边奔跑,镜头从远到近" - }' -``` - -**预期结果:** -- 任务提交成功,status='processing' -- 返回taskNo和providerTaskId -- 2-5分钟后status变为'completed' -- resultUrl包含视频地址 - -### 3. 查看轮询日志 - -```bash -tail -f logs/application.log | grep "RunningHub" -``` - -**正常日志示例:** -``` -2025-10-20 15:30:05 INFO - 提交任务到RunningHub: TASK20251020153005ABC -2025-10-20 15:30:06 INFO - RunningHub任务提交成功: TASK20251020153005ABC, providerTaskId: 1980149306768457730 -2025-10-20 15:30:11 DEBUG - RunningHub轮询 - 发现1个待处理任务 -2025-10-20 15:30:11 DEBUG - 轮询任务: TASK20251020153005ABC, providerTaskId: 1980149306768457730 -2025-10-20 15:30:11 DEBUG - 任务 TASK20251020153005ABC 状态: RUNNING -... -2025-10-20 15:33:21 INFO - 任务成功 - taskNo: TASK20251020153005ABC -2025-10-20 15:33:22 INFO - 任务 TASK20251020153005ABC 处理完成,结果URL: https://rh-images.xiaoyaoyou.com/... -``` - ---- - -## 📊 数据库变更 - -### ai_task表新增字段 - -```sql -ALTER TABLE `ai_task` -ADD COLUMN `provider_type` VARCHAR(50) NULL, -ADD COLUMN `provider_task_id` VARCHAR(100) NULL, -ADD COLUMN `provider_response` TEXT NULL; -``` - -### points_config表新增字段 - -```sql -ALTER TABLE `points_config` -ADD COLUMN `provider_type` VARCHAR(50) NOT NULL DEFAULT 'openai', -ADD COLUMN `provider_config` TEXT NULL; -``` - ---- - -## ⚠️ 注意事项 - -### 1. 兼容性 - -- ✅ 现有OpenAI模型完全不受影响 -- ✅ 现有API接口保持不变 -- ✅ 现有数据可正常使用 - -### 2. 轮询性能 - -- 每5秒轮询一次RunningHub任务 -- 最多同时处理100个任务 -- 建议生产环境增加Redis缓存减少数据库压力 - -### 3. 错误处理 - -- RunningHub任务失败会自动退还积分 -- 超时任务会被标记为failed -- 所有异常都有详细日志记录 - -### 4. 监控建议 - -```bash -# 查看RunningHub任务数量 -SELECT COUNT(*) FROM ai_task -WHERE provider_type='runninghub' AND status='processing'; - -# 查看平均处理时间 -SELECT AVG(TIMESTAMPDIFF(SECOND, start_time, complete_time)) as avg_seconds -FROM ai_task -WHERE provider_type='runninghub' AND status='completed' -AND complete_time > DATE_SUB(NOW(), INTERVAL 1 DAY); -``` - ---- - -## 🎯 功能对比 - -| 特性 | OpenAI格式 | RunningHub | -|------|-----------|------------| -| **认证方式** | Bearer Token | API Key | -| **调用方式** | 同步 | 异步 | -| **返回方式** | 立即返回 | 轮询查询 | -| **处理时间** | 10-30秒 | 2-5分钟 | -| **支持类型** | 图片、视频 | 视频 | -| **横竖屏** | URL参数 | model字段 | -| **队列管理** | Redis队列 | RunningHub内部 | -| **进度追踪** | WebSocket | WebSocket | - ---- - -## 🔮 未来扩展 - -1. **更多服务商**:可以继续添加其他AI服务商(Midjourney、Stable Diffusion等) -2. **智能路由**:根据价格、速度、成功率自动选择最优服务商 -3. **负载均衡**:同一个模型配置多个服务商,实现负载分担 -4. **降级策略**:主服务商故障时自动切换到备用服务商 -5. **成本优化**:根据用户等级选择不同价格的服务商 - ---- - -## 📞 技术支持 - -如遇问题,请检查: - -1. **数据库迁移是否成功** - ```sql - DESC ai_task; -- 检查是否有provider_type字段 - ``` - -2. **配置是否正确** - ```bash - grep "runninghub" src/main/resources/application.yml - ``` - -3. **服务是否启动** - ```bash - ps aux | grep spring_1818_user_server - ``` - -4. **日志是否有报错** - ```bash - tail -100 logs/application.log - ``` - ---- - -**集成完成!** 🎉 - -系统现已支持OpenAI和RunningHub双服务商,用户可以无感切换使用不同的AI生成服务! - diff --git a/RUNNINGHUB_QUEUE_OPTIMIZATION.md b/RUNNINGHUB_QUEUE_OPTIMIZATION.md deleted file mode 100644 index a2a9183..0000000 --- a/RUNNINGHUB_QUEUE_OPTIMIZATION.md +++ /dev/null @@ -1,575 +0,0 @@ -# RunningHub 队列优化方案 - -**版本:** v2.2.0 -**更新时间:** 2025-10-20 -**优化类型:** 并发控制 + 队列管理 - ---- - -## 🎯 优化目标 - -解决RunningHub任务轮询时的并发控制问题: -- ✅ **限制并发轮询数**:最多同时轮询100个任务 -- ✅ **队列化管理**:超出限制的任务进入等待队列 -- ✅ **自动调度**:任务完成后自动提交等待队列中的新任务 -- ✅ **防止过载**:避免系统资源耗尽和RunningHub API限流 - ---- - -## 📊 问题分析 - -### 原有架构的问题 - -**无限制提交:** -```java -// 旧代码:直接提交所有RunningHub任务 -if ("runninghub".equals(providerType)) { - submitToRunningHub(task, pointsConfig); // 没有并发控制 -} -``` - -**潜在风险:** -1. **系统资源耗尽** - - 500个并发任务 × 10秒轮询 → CPU使用率50%+ - - 数据库连接池耗尽 - - 内存占用过高 - -2. **RunningHub API限流** - - 每秒查询数过高可能被限流 - - 账户被封禁的风险 - -3. **用户体验差** - - 高并发时轮询延迟增加 - - 任务状态更新不及时 - ---- - -## ✨ 新架构设计 - -### 1. 队列管理服务 - -``` -┌─────────────────────────────────────────────────────────────┐ -│ RunningHubQueueService │ -├─────────────────────────────────────────────────────────────┤ -│ │ -│ ┌──────────────────┐ ┌───────────────────┐ │ -│ │ Polling Tasks │ │ Waiting Queue │ │ -│ │ (Map) │ │ │ │ -│ │ │ │ │ │ -│ │ 最多100个任务 │◄────────┤ 无限长度队列 │ │ -│ └──────────────────┘ └───────────────────┘ │ -│ ▲ │ │ │ -│ │ │ │ │ -│ │ └──────────┐ ┌──────────┘ │ -│ │ │ │ │ -│ 完成时释放 任务完成 │ 新任务提交 │ -│ │ │ │ │ -└─────────┼─────────────┼────┼─────────────────────────────────┘ - │ ▼ ▼ - ┌────┴────┐ ┌─────────────┐ - │ 轮询调度 │ │ 队列处理器 │ - │Scheduler│ │ Processor │ - └─────────┘ └─────────────┘ -``` - -### 2. 核心组件 - -#### A. `RunningHubQueueService` (队列管理服务) - -**职责:** -- 管理正在轮询的任务集合(最多100个) -- 管理等待提交的任务队列(无限长度) -- 提供入队/出队操作 -- 处理任务完成回调 - -**关键方法:** -```java -public interface RunningHubQueueService { - // 将任务加入队列或立即提交 - boolean enqueueOrSubmit(AiTask task); - - // 获取当前轮询任务数 - int getPollingTaskCount(); - - // 获取等待队列长度 - int getWaitingQueueSize(); - - // 处理等待队列(从队列中提交新任务) - int processWaitingQueue(); - - // 任务完成回调 - void onTaskCompleted(String taskNo); -} -``` - -#### B. `RunningHubQueueProcessor` (队列处理器) - -**职责:** -- 每5秒检查一次等待队列 -- 当有空位时自动提交新任务 -- 记录队列状态日志 - -**调度策略:** -```java -@Scheduled(fixedDelay = 5000) // 每5秒执行一次 -public void processWaitingQueue() { - if (有空位 && 队列不为空) { - 提交等待中的任务(); - } -} -``` - -#### C. `AdminRunningHubQueueController` (管理接口) - -**职责:** -- 提供队列状态查询接口 -- 提供手动处理队列接口 -- 仅管理员可访问 - -**接口:** -- `GET /admin/runninghub/queue/status` - 查看队列状态 -- `GET /admin/runninghub/queue/process` - 手动处理队列 - ---- - -## 🔧 实现细节 - -### 1. 配置参数 - -```yaml -# application.yml -ai: - providers: - runninghub: - max-polling-tasks: 100 # 最大并发轮询任务数 - queue-check-interval: 5000 # 队列检查间隔(毫秒) -``` - -### 2. 任务提交流程 - -``` -用户提交任务 - ↓ -创建任务记录 - ↓ -扣除积分 - ↓ -判断provider类型 - ↓ -if (runninghub) - ↓ -检查轮询任务数 - ├── < 100个? - │ ├── 是 → 立即提交到RunningHub - │ │ ↓ - │ │ 加入pollingTasks集合 - │ │ ↓ - │ │ 返回"processing"状态 - │ │ - │ └── 否 → 加入waitingQueue - │ ↓ - │ 返回"queued"状态 - │ ↓ - │ 等待队列处理器调度 - └── -``` - -### 3. 任务完成流程 - -``` -轮询检测到任务完成 - ↓ -更新任务状态 - ↓ -发送WebSocket通知 - ↓ -调用 onTaskCompleted(taskNo) - ↓ -从 pollingTasks 中移除 - ↓ -调用 processWaitingQueue() - ↓ -if (waitingQueue不为空) - ↓ -取出队列头部任务 - ↓ -提交到RunningHub - ↓ -加入 pollingTasks - ↓ -循环直到队列空或轮询满 -``` - -### 4. 并发安全 - -所有关键方法使用 `synchronized` 保证线程安全: - -```java -public synchronized boolean enqueueOrSubmit(AiTask task) { - // 原子操作:检查 + 提交/入队 -} - -public synchronized int processWaitingQueue() { - // 原子操作:出队 + 提交 -} - -public synchronized void onTaskCompleted(String taskNo) { - // 原子操作:移除 + 处理队列 -} -``` - -**数据结构选择:** -- `ConcurrentHashMap` - 存储正在轮询的任务 -- `LinkedBlockingQueue` - 存储等待队列(FIFO) - ---- - -## 📈 性能对比 - -### 无队列控制(旧) - -| 并发任务数 | 轮询频率 | CPU使用率 | 内存占用 | 风险等级 | -|-----------|---------|----------|---------|---------| -| 100 | 10秒/次 | 10% | 1.5GB | ✅ 安全 | -| 200 | 10秒/次 | 20% | 2.5GB | ⚠️ 注意 | -| 500 | 10秒/次 | 50% | 5GB | ❌ 危险 | -| 1000 | 10秒/次 | 80%+ | 10GB+ | ❌ 崩溃 | - -### 有队列控制(新) - -| 并发任务数 | 轮询任务数 | 等待队列 | CPU使用率 | 内存占用 | 风险等级 | -|-----------|-----------|---------|----------|---------|---------| -| 100 | 100 | 0 | 10% | 1.5GB | ✅ 安全 | -| 200 | 100 | 100 | 10% | 1.6GB | ✅ 安全 | -| 500 | 100 | 400 | 10% | 2GB | ✅ 安全 | -| 1000 | 100 | 900 | 10% | 3GB | ✅ 安全 | - -**关键优势:** -- ✅ **CPU使用率稳定**在10%,不随并发增加而增长 -- ✅ **内存占用可控**,轮询任务固定100个 -- ✅ **无崩溃风险**,队列可以无限增长 -- ✅ **自动调度**,任务完成后立即提交新任务 - ---- - -## 🧪 测试验证 - -### 测试场景1:正常负载(100并发) - -```bash -# 提交100个任务 -for i in {1..100}; do - curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d "{\"modelName\":\"rh_sora2_text_portrait\",\"prompt\":\"测试任务$i\"}" -done - -# 查看队列状态 -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" -``` - -**预期结果:** -```json -{ - "maxPollingTasks": 100, - "currentPollingTasks": 100, - "waitingQueueSize": 0, - "availableSlots": 0, - "utilizationRate": "100.0%" -} -``` - -### 测试场景2:超载(200并发) - -```bash -# 提交200个任务 -for i in {1..200}; do - curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d "{\"modelName\":\"rh_sora2_text_portrait\",\"prompt\":\"测试任务$i\"}" -done - -# 查看队列状态 -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" -``` - -**预期结果:** -```json -{ - "maxPollingTasks": 100, - "currentPollingTasks": 100, - "waitingQueueSize": 100, - "availableSlots": 0, - "utilizationRate": "100.0%" -} -``` - -### 测试场景3:任务完成后自动调度 - -```bash -# 等待一些任务完成(3-5分钟) - -# 再次查看队列状态 -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" -``` - -**预期结果:** -```json -{ - "maxPollingTasks": 100, - "currentPollingTasks": 100, // 仍然满载 - "waitingQueueSize": 50, // 队列减少了50个(已自动提交) - "availableSlots": 0, - "utilizationRate": "100.0%" -} -``` - ---- - -## 📊 监控指标 - -### 1. 队列状态监控 - -```sql --- 查看RunningHub任务分布 -SELECT - status, - COUNT(*) as count -FROM ai_task -WHERE provider_type = 'runninghub' - AND create_time > DATE_SUB(NOW(), INTERVAL 1 HOUR) -GROUP BY status; - --- 预期结果: --- queued: 等待队列中的任务 --- processing: 正在轮询的任务(应≤100) --- completed: 已完成的任务 --- failed: 失败的任务 -``` - -### 2. 系统负载监控 - -```bash -# 查看CPU使用率 -top -p $(pgrep -f spring_1818_user_server) - -# 查看内存占用 -ps aux | grep spring_1818_user_server | awk '{print $6/1024 " MB"}' - -# 查看网络流量 -iftop -i eth0 -f "port 8081" -``` - -### 3. 日志监控 - -```bash -# 查看队列处理日志 -sudo journalctl -u spring_1818_user_server | grep "RunningHub队列" - -# 预期日志: -# RunningHub队列状态 - 正在轮询: 100/100, 等待队列: 50 -# RunningHub队列处理器启动 - 正在轮询: 95/100, 等待队列: 50 -# 从等待队列提交任务 TASK_001 到RunningHub,当前轮询: 96/100, 剩余队列: 49 -``` - ---- - -## ⚙️ 配置调优 - -### 不同场景的推荐配置 - -#### 场景1:低并发(<50任务) - -```yaml -ai: - providers: - runninghub: - max-polling-tasks: 50 # 降低上限,节省资源 - queue-check-interval: 10000 # 降低检查频率 - polling-interval: 10000 -``` - -**特点:** -- 资源占用最小 -- 适合初期部署 - ---- - -#### 场景2:中等并发(50-200任务)✅ **推荐** - -```yaml -ai: - providers: - runninghub: - max-polling-tasks: 100 # 默认100个 - queue-check-interval: 5000 # 5秒检查一次 - polling-interval: 10000 -``` - -**特点:** -- 性能与成本平衡 -- 适合大多数场景 - ---- - -#### 场景3:高并发(200-500任务) - -```yaml -ai: - providers: - runninghub: - max-polling-tasks: 200 # 提高上限 - queue-check-interval: 3000 # 加快检查频率 - polling-interval: 15000 # 降低轮询频率 -``` - -**注意事项:** -- 需要增加数据库连接池 -- 需要监控RunningHub API响应 -- 可能需要独立部署轮询服务 - ---- - -## 🔧 故障排查 - -### 问题1:队列一直堆积,不减少 - -**可能原因:** -1. RunningHub API故障 -2. 队列处理器未启动 -3. 任务完成后未调用 `onTaskCompleted` - -**排查步骤:** -```bash -# 1. 检查队列处理器日志 -sudo journalctl -u spring_1818_user_server | grep "RunningHubQueueProcessor" - -# 2. 检查是否有任务完成 -mysql -u root -p 1818ai -e "SELECT COUNT(*) FROM ai_task WHERE status='completed' AND provider_type='runninghub' AND complete_time > DATE_SUB(NOW(), INTERVAL 10 MINUTE);" - -# 3. 手动触发队列处理 -curl "http://localhost:8081/admin/runninghub/queue/process" \ - -H "Authorization: Bearer $ADMIN_TOKEN" -``` - ---- - -### 问题2:任务卡在queued状态很久 - -**可能原因:** -1. 轮询任务数已满(100个) -2. 前面有很多任务在排队 - -**排查步骤:** -```bash -# 查看队列状态 -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" - -# 查看该任务在队列中的位置(从数据库查询) -mysql -u root -p 1818ai -e "SELECT task_no, status, queue_time FROM ai_task WHERE status='queued' AND provider_type='runninghub' ORDER BY queue_time;" -``` - ---- - -### 问题3:队列处理器不工作 - -**可能原因:** -1. `@EnableScheduling` 未启用 -2. 调度器配置错误 - -**解决方案:** -```java -// 检查 Application.java -@SpringBootApplication -@EnableScheduling // 确保启用调度 -@EnableAsync -public class Application { - // ... -} -``` - ---- - -## ✅ 部署清单 - -### 1. 配置文件更新 - -- [x] `application.yml` - 添加 `max-polling-tasks` 和 `queue-check-interval` - -### 2. 新增文件(3个) - -- [x] `RunningHubQueueService.java` - 队列管理服务接口 -- [x] `RunningHubQueueServiceImpl.java` - 队列管理服务实现 -- [x] `RunningHubQueueProcessor.java` - 队列处理调度器 -- [x] `AdminRunningHubQueueController.java` - 管理员监控接口 - -### 3. 修改文件(3个) - -- [x] `AiTaskServiceImpl.java` - 使用队列服务 -- [x] `RunningHubPollingScheduler.java` - 任务完成时通知队列服务 - -### 4. 验证步骤 - -```bash -# 1. 编译 -mvn clean compile -DskipTests - -# 2. 启动服务 -sudo systemctl restart spring_1818_user_server - -# 3. 检查日志 -sudo journalctl -u spring_1818_user_server -f | grep -E "(队列|Queue)" - -# 4. 测试队列状态接口 -curl "http://localhost:8081/admin/runninghub/queue/status" \ - -H "Authorization: Bearer $ADMIN_TOKEN" - -# 5. 提交测试任务 -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer $USER_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{"modelName":"rh_sora2_text_portrait","prompt":"测试"}' -``` - ---- - -## 📝 总结 - -### 优化成果 - -1. ✅ **并发控制**:轮询任务数限制在100个 -2. ✅ **队列管理**:超出部分自动进入等待队列 -3. ✅ **自动调度**:任务完成后立即提交新任务 -4. ✅ **监控接口**:管理员可实时查看队列状态 -5. ✅ **性能稳定**:CPU、内存占用可控 - -### 关键指标 - -| 指标 | 优化前 | 优化后 | 改善 | -|-----|-------|-------|-----| -| 最大轮询任务数 | 无限制 | 100 | ✅ 可控 | -| 500并发时CPU | 50% | 10% | ↓80% | -| 500并发时内存 | 5GB | 2GB | ↓60% | -| 系统崩溃风险 | 高 | 无 | ✅ 消除 | - -### 下一步优化方向 - -1. **Redis队列**:当并发超过1000时,使用Redis替代内存队列 -2. **优先级队列**:VIP用户任务优先处理 -3. **动态限流**:根据RunningHub API响应时间动态调整并发数 -4. **分布式部署**:多个轮询服务实例共享队列 - ---- - -**RunningHub队列优化完成!** 🎉 - -系统现在可以安全处理任意数量的并发任务,不会因为过载而崩溃! - diff --git a/RUNNINGHUB_USAGE_GUIDE.md b/RUNNINGHUB_USAGE_GUIDE.md deleted file mode 100644 index dfab818..0000000 --- a/RUNNINGHUB_USAGE_GUIDE.md +++ /dev/null @@ -1,435 +0,0 @@ -# RunningHub Sora2 使用指南 - -**版本:** v2.1.0 -**更新时间:** 2025-10-20 - ---- - -## 📋 模型列表 - -系统已预配置以下RunningHub Sora2模型(共12个): - -### 文生视频模型(webappId: 1973555977595301890) - -| 模型名称 | 说明 | 时长 | 分辨率 | 积分消耗 | -|---------|------|------|--------|---------| -| `rh_sora2_text_portrait` | 竖屏视频 | 10秒 | 704x1280 | 160 | -| `rh_sora2_text_landscape` | 横屏视频 | 10秒 | 1280x704 | 160 | -| `rh_sora2_text_portrait_hd` | 高清竖屏 | 10秒 | 1024x1792 | 420 | -| `rh_sora2_text_landscape_hd` | 高清横屏 | 10秒 | 1792x1024 | 420 | -| `rh_sora2_text_portrait_15s` | 竖屏视频(长) | 15秒 | 704x1280 | 260 | -| `rh_sora2_text_landscape_15s` | 横屏视频(长) | 15秒 | 1280x704 | 260 | - -### 图生视频模型(webappId: 1973555366057390081) - -| 模型名称 | 说明 | 时长 | 分辨率 | 积分消耗 | -|---------|------|------|--------|---------| -| `rh_sora2_img_portrait` | 竖屏视频 | 10秒 | 704x1280 | 180 | -| `rh_sora2_img_landscape` | 横屏视频 | 10秒 | 1280x704 | 180 | -| `rh_sora2_img_portrait_hd` | 高清竖屏 | 10秒 | 1024x1792 | 480 | -| `rh_sora2_img_landscape_hd` | 高清横屏 | 10秒 | 1792x1024 | 480 | -| `rh_sora2_img_portrait_15s` | 竖屏视频(长) | 15秒 | 704x1280 | 280 | -| `rh_sora2_img_landscape_15s` | 横屏视频(长) | 15秒 | 1280x704 | 280 | - ---- - -## 🚀 使用示例 - -### 1. 文生视频(Text to Video) - -只需要提供 `prompt`,系统会自动选择横竖屏和时长。 - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_OR_API_KEY" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_text_portrait", - "prompt": "第一镜(0–3秒)静谧晨光\n窗外的城市尚在沉睡,镜头推向一只放在床头的 Apple Watch。屏幕亮起的瞬间,柔和的光映照出主人的脸庞,他睁开眼,呼吸与心率同步闪烁。\n第二镜(3–7秒)节奏苏醒\n主角在晨跑,步伐稳健。手表屏幕显示心率曲线与路线图,汗水顺着手臂滑落。阳光从高楼间洒下,镜头追随腕间的微光与动作的力量。\n第三镜(7–10秒)自我回归\n跑步结束,他停在桥上深吸一口气,城市的天际线在他背后延伸。镜头慢慢拉远,Apple Watch的屏幕定格在闪烁的数字上,文字浮现:掌控每一秒的呼吸。" - }' -``` - -**实际发送到RunningHub的请求:** -```json -{ - "webappId": "1973555977595301890", - "apiKey": "5c44cef12da3470e9f24da70c63787dc", - "nodeInfoList": [ - { - "nodeId": "1", - "fieldName": "prompt", - "fieldValue": "第一镜(0–3秒)静谧晨光...", - "description": "输入文本" - }, - { - "nodeId": "1", - "fieldName": "model", - "fieldValue": "portrait", - "fieldData": "[{\"name\":\"portrait\",...}]", - "description": "横竖模式" - }, - { - "nodeId": "1", - "fieldName": "duration_seconds", - "fieldValue": "10", - "fieldData": "[[10, 15], {\"default\": 10}]", - "description": "时长(秒)" - } - ] -} -``` - ---- - -### 2. 图生视频(Image to Video) - -需要提供 `imageUrl` 或 `imageBase64`,以及可选的 `prompt`。 - -#### 方式1:使用图片URL(推荐) - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_OR_API_KEY" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_img_landscape", - "prompt": "镜头一(0s–3s)从空中俯拍,镜头缓缓向下俯冲穿越云层,紫蓝色霓虹反射在摩天大楼玻璃幕墙上...", - "imageUrl": "https://example.com/my-reference-image.jpg" - }' -``` - -#### 方式2:使用图片Base64 - -```bash -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_JWT_OR_API_KEY" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_img_portrait_hd", - "prompt": "让这个场景动起来,添加生动的细节", - "imageBase64": "data:image/jpeg;base64,/9j/4AAQSkZJRg..." - }' -``` - -**实际发送到RunningHub的请求:** -```json -{ - "webappId": "1973555366057390081", - "apiKey": "5c44cef12da3470e9f24da70c63787dc", - "nodeInfoList": [ - { - "nodeId": "2", - "fieldName": "image", - "fieldValue": "https://example.com/my-reference-image.jpg", - "description": "上传图像(不支持真人做图像的输入)" - }, - { - "nodeId": "1", - "fieldName": "prompt", - "fieldValue": "镜头一(0s–3s)从空中俯拍...", - "description": "输入文本" - }, - { - "nodeId": "1", - "fieldName": "model", - "fieldValue": "landscape", - "fieldData": "[{\"name\":\"portrait\",...}]", - "description": "横竖模式" - }, - { - "nodeId": "1", - "fieldName": "duration_seconds", - "fieldValue": "10", - "fieldData": "[[10, 15], {\"default\": 10}]", - "description": "时长(秒)" - } - ] -} -``` - ---- - -## 🔧 关键实现细节 - -### 1. 自动任务类型识别 - -系统根据 `providerConfig.taskType` 自动识别任务类型: - -```java -// points_config表中的配置示例 -{ - "webappId": "1973555366057390081", - "taskType": "image2video", // 或 "text2video" - "model": "landscape", - "duration": 10 -} -``` - -### 2. 图片参数处理 - -- **优先级**:`imageUrl` > `imageBase64` -- **支持格式**: - - 完整URL:`https://example.com/image.jpg` - - RunningHub文件名:`825b8cb2f5603b068704ef435df77d570f081be814a40f652f080b8d4bc6ba03.png` - - Base64编码:`data:image/jpeg;base64,/9j/4AAQSkZJRg...` - -```java -// RunningHubProviderImpl中的逻辑 -if (isImage2Video) { - String imageValue = request.getImageUrl(); - if (imageValue == null || imageValue.trim().isEmpty()) { - imageValue = request.getImageBase64(); - } - - // 添加到nodeInfoList - nodeInfoList.add(RunningHubNodeInfo.builder() - .nodeId("2") - .fieldName("image") - .fieldValue(imageValue) // 支持完整URL - .description("上传图像(不支持真人做图像的输入)") - .build()); -} -``` - -### 3. 节点顺序 - -系统按照RunningHub要求的顺序构建节点: - -**文生视频:** -1. prompt节点(nodeId="1") -2. model节点(nodeId="1") -3. duration_seconds节点(nodeId="1") - -**图生视频:** -1. image节点(nodeId="2") -2. prompt节点(nodeId="1",可选) -3. model节点(nodeId="1") -4. duration_seconds节点(nodeId="1") - ---- - -## 📊 任务流程 - -### 文生视频流程 - -``` -用户提交 - ↓ -提取prompt - ↓ -读取points_config配置 -taskType="text2video" -webappId="1973555977595301890" - ↓ -构建nodeInfoList: -- prompt节点 -- model节点 -- duration节点 - ↓ -调用RunningHub API - ↓ -获得taskId -status='processing' - ↓ -5秒轮询一次 - ↓ -检测到SUCCESS - ↓ -获取视频URL -status='completed' -``` - -### 图生视频流程 - -``` -用户提交 - ↓ -提取prompt + imageUrl - ↓ -读取points_config配置 -taskType="image2video" -webappId="1973555366057390081" - ↓ -构建nodeInfoList: -- image节点(完整URL) -- prompt节点 -- model节点 -- duration节点 - ↓ -调用RunningHub API - ↓ -获得taskId -status='processing' - ↓ -5秒轮询一次 - ↓ -检测到SUCCESS - ↓ -获取视频URL -status='completed' -``` - ---- - -## ⚠️ 注意事项 - -### 1. 图片要求 - -- **图生视频模型不支持真人图像作为输入** -- 建议使用风景、物体、场景类图片 -- 支持完整的HTTP/HTTPS URL,无需预先上传到RunningHub - -### 2. Prompt建议 - -- **文生视频**:详细描述镜头、场景、动作、时间节点 -- **图生视频**:描述如何让图片"动起来",添加什么动态效果 - -### 3. 处理时间 - -- 文生视频:约2-5分钟 -- 图生视频:约2-5分钟(取决于服务器负载) - -### 4. 积分消耗 - -- 任务提交时立即扣除积分(冻结) -- 任务成功:确认消耗积分 -- 任务失败:自动退还积分 - ---- - -## 🧪 测试步骤 - -### 测试1:文生视频(竖屏10秒) - -```bash -# 1. 提交任务 -TASK_RESPONSE=$(curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_text_portrait", - "prompt": "一个人在海边奔跑,镜头从远到近" - }') - -echo $TASK_RESPONSE - -# 2. 提取taskNo -TASK_NO=$(echo $TASK_RESPONSE | jq -r '.data.taskNo') - -# 3. 等待2-5分钟后查询 -curl "http://localhost:8081/user/ai/tasks/$TASK_NO" \ - -H "Authorization: Bearer YOUR_TOKEN" -``` - -### 测试2:图生视频(横屏高清) - -```bash -# 1. 提交任务 -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "rh_sora2_img_landscape_hd", - "prompt": "镜头缓缓向下俯冲穿越云层,紫蓝色霓虹反射在摩天大楼玻璃幕墙上", - "imageUrl": "https://example.com/city-skyline.jpg" - }' - -# 2. 查看日志确认图片URL正确传递 -tail -f logs/application.log | grep "RunningHub Provider" -``` - ---- - -## 📝 数据库配置 - -所有模型配置已通过 `V5__add_provider_support.sql` 自动创建: - -```sql --- 查看所有RunningHub模型 -SELECT model_name, description, points_cost, provider_config -FROM points_config -WHERE provider_type = 'runninghub' -ORDER BY points_cost; - --- 查看某个模型的配置 -SELECT provider_config -FROM points_config -WHERE model_name = 'rh_sora2_img_landscape'; - --- 结果示例: -{ - "webappId": "1973555366057390081", - "taskType": "image2video", - "model": "landscape", - "duration": 10 -} -``` - ---- - -## 🔍 故障排查 - -### 问题1:图生视频任务失败 - -**错误信息:** "图生视频任务必须提供imageUrl或imageBase64" - -**解决方案:** -- 确认请求中包含 `imageUrl` 或 `imageBase64` 字段 -- 检查图片URL是否可访问 -- 确认使用的是图生视频模型(包含 `_img_` 的模型名) - -### 问题2:任务一直处于processing状态 - -**可能原因:** -- RunningHub服务器负载高 -- 网络连接问题 -- 任务确实在处理中 - -**解决方案:** -```bash -# 1. 查看轮询日志 -tail -f logs/application.log | grep "RunningHub轮询" - -# 2. 检查数据库中的provider_task_id -SELECT task_no, provider_task_id, status, update_time -FROM ai_task -WHERE task_no = 'YOUR_TASK_NO'; - -# 3. 手动查询RunningHub状态(仅用于调试) -curl -X POST "https://www.runninghub.cn/task/openapi/status" \ - -H "Content-Type: application/json" \ - -d '{ - "apiKey": "YOUR_API_KEY", - "taskId": "PROVIDER_TASK_ID" - }' -``` - ---- - -## 📊 性能监控 - -```sql --- 查看RunningHub任务统计 -SELECT - status, - COUNT(*) as count, - AVG(TIMESTAMPDIFF(SECOND, start_time, complete_time)) as avg_seconds -FROM ai_task -WHERE provider_type = 'runninghub' - AND create_time > DATE_SUB(NOW(), INTERVAL 1 DAY) -GROUP BY status; - --- 查看最近的失败任务 -SELECT task_no, model_name, error_message, create_time -FROM ai_task -WHERE provider_type = 'runninghub' - AND status = 'failed' -ORDER BY create_time DESC -LIMIT 10; -``` - ---- - -**RunningHub Sora2集成完成!** 🎉 - -系统现已支持文生视频和图生视频两种模式,共12个预配置模型可供使用! diff --git a/SMS_VERIFICATION_GUIDE.md b/SMS_VERIFICATION_GUIDE.md deleted file mode 100644 index aa4aa87..0000000 --- a/SMS_VERIFICATION_GUIDE.md +++ /dev/null @@ -1,902 +0,0 @@ -# 短信验证系统使用指南 - -**版本:** v1.0.0 -**更新时间:** 2025-11-03 -**系统名称:** 1818AI 用户服务短信验证模块 - ---- - -## 📋 目录 - -- [系统概述](#系统概述) -- [配置说明](#配置说明) -- [API接口文档](#api接口文档) -- [业务场景](#业务场景) -- [安全机制](#安全机制) -- [错误处理](#错误处理) -- [使用示例](#使用示例) -- [常见问题](#常见问题) -- [维护指南](#维护指南) - ---- - -## 📖 系统概述 - -### 功能说明 - -短信验证系统基于**阿里云短信服务**实现,提供验证码的发送和校验功能。主要用于用户注册、登录、密码重置等关键业务场景。 - -### 技术架构 - -``` -┌─────────────────────────────────────────────────┐ -│ 前端应用 │ -└──────────────────┬──────────────────────────────┘ - │ HTTP/HTTPS - ▼ -┌─────────────────────────────────────────────────┐ -│ Spring Boot 应用 │ -│ ┌──────────────┐ ┌──────────────┐ │ -│ │MsmController │─────▶│ MsmService │ │ -│ └──────────────┘ └──────┬───────┘ │ -│ │ │ │ -│ ▼ ▼ │ -│ ┌──────────────┐ ┌──────────────┐ │ -│ │Redis缓存 │ │阿里云SMS API │ │ -│ │(验证码存储) │ │(短信发送) │ │ -│ └──────────────┘ └──────────────┘ │ -└─────────────────────────────────────────────────┘ -``` - -### 核心特性 - -- ✅ **6位数字验证码** - 简单易输入 -- ✅ **5分钟有效期** - 自动过期保护 -- ✅ **一次性使用** - 验证后立即失效 -- ✅ **防重复发送** - 验证码存在时拒绝重发 -- ✅ **强制发送模式** - 支持覆盖已存在的验证码 -- ✅ **完整日志记录** - 便于追踪和调试 - ---- - -## ⚙️ 配置说明 - -### 配置文件位置 - -``` -src/main/resources/application.yml -``` - -### 配置内容 - -```yaml -# --- 短信配置 --- -ly: - sms: - accessKeyId: LTAI5t68do3qVXx5Rufugt3X # 阿里云AccessKey ID - accessKeySecret: 2vD9ToIff49Vph4JQXsn0Cy8nXQfzA # 阿里云AccessKey Secret - signName: 星洋智慧 # 短信签名 - verifyTemplateCode: SMS_491985030 # 验证码短信模板编号 -``` - -### 配置项说明 - -| 配置项 | 类型 | 必填 | 说明 | -|--------|------|------|------| -| `accessKeyId` | String | 是 | 阿里云访问密钥ID,从阿里云控制台获取 | -| `accessKeySecret` | String | 是 | 阿里云访问密钥Secret,从阿里云控制台获取 | -| `signName` | String | 是 | 短信签名,需在阿里云短信服务中申请 | -| `verifyTemplateCode` | String | 是 | 短信模板编号,需在阿里云短信服务中申请 | - -### 阿里云短信服务配置步骤 - -#### 1. 开通短信服务 - -1. 登录 [阿里云控制台](https://www.aliyun.com/) -2. 开通"短信服务"产品 -3. 完成实名认证 - -#### 2. 创建短信签名 - -1. 进入"短信服务控制台" → "国内消息" → "签名管理" -2. 点击"添加签名" -3. 填写签名信息: - - **签名名称**:星洋智慧(或您的公司/产品名) - - **签名来源**:企事业单位的全称或简称 - - **适用场景**:验证码 -4. 提交审核(通常1-2个工作日) - -#### 3. 创建短信模板 - -1. 进入"模板管理" → "添加模板" -2. 填写模板信息: - - **模板类型**:验证码 - - **模板名称**:验证码通知 - - **模板内容**:`您的验证码为:${code},5分钟内有效,请勿泄露给他人。` -3. 提交审核(通常1-2个工作日) -4. 审核通过后获得**模板CODE**(如:SMS_491985030) - -#### 4. 获取AccessKey - -1. 进入"AccessKey管理" -2. 创建AccessKey(如果没有) -3. 记录 `AccessKey ID` 和 `AccessKey Secret` - -⚠️ **安全提示**: -- AccessKey Secret 请妥善保管,不要泄露 -- 建议使用子账号AccessKey,并授予最小权限 -- 定期轮换AccessKey - ---- - -## 🔌 API接口文档 - -### 1. 发送短信验证码 - -#### 接口信息 - -``` -GET /user/msm/send/{phone} -``` - -#### 请求参数 - -**路径参数**: - -| 参数名 | 类型 | 必填 | 说明 | 示例 | -|--------|------|------|------|------| -| phone | String | 是 | 手机号(11位) | 13800138000 | - -**Query参数**: - -| 参数名 | 类型 | 必填 | 默认值 | 说明 | -|--------|------|------|--------|------| -| force | Boolean | 否 | false | 是否强制发送新验证码 | - -#### 响应示例 - -**成功响应**: - -```json -{ - "code": 200, - "message": "success", - "data": true -} -``` - -**失败响应**: - -```json -{ - "code": 400, - "message": "验证码已存在,请稍后再试", - "data": null -} -``` - -```json -{ - "code": 500, - "message": "短信发送失败,请稍后重试", - "data": null -} -``` - -#### 业务逻辑 - -``` -1. 检查Redis中是否已有验证码 - ├─ 有验证码 且 force=false → 返回错误(400) - └─ 无验证码 或 force=true → 继续 - ↓ -2. 生成6位随机数字验证码(100000-999999) - ↓ -3. 调用阿里云短信API发送验证码 - ↓ -4. 发送成功 - ├─ 是 → 存入Redis(5分钟过期)→ 返回成功(200) - └─ 否 → 返回错误(500) -``` - -#### 使用示例 - -**普通发送**: - -```bash -curl -X GET "http://localhost:8081/user/msm/send/13800138000" -``` - -**强制发送**(覆盖已存在的验证码): - -```bash -curl -X GET "http://localhost:8081/user/msm/send/13800138000?force=true" -``` - -#### 注意事项 - -- ⏱️ 验证码5分钟内有效 -- 🔒 同一手机号在验证码未过期前不能重复发送(除非force=true) -- 💰 每次发送会产生短信费用 -- 📝 所有操作都会记录详细日志 - ---- - -## 💼 业务场景 - -### 1. 短信登录 - -**接口**:`POST /user/auth/sms-login` - -**流程**: - -``` -用户输入手机号 - ↓ -调用发送验证码接口 - ↓ -用户收到短信 - ↓ -用户输入验证码 - ↓ -调用登录接口(验证码校验) - ↓ -校验成功 → 生成JWT Token → 返回登录成功 -``` - -**请求示例**: - -```json -{ - "phone": "13800138000", - "code": "123456" -} -``` - -**响应示例**: - -```json -{ - "code": 200, - "message": "success", - "data": { - "token": "eyJhbGciOiJIUzI1NiJ9...", - "tokenExpiresAt": "2025-11-10T12:00:00", - "userInfo": { - "userId": 123456, - "phone": "13800138000", - "username": "用户昵称" - } - } -} -``` - -### 2. 用户注册 - -**接口**:`POST /user/auth/register` - -**流程**: - -``` -用户输入手机号和密码 - ↓ -调用发送验证码接口 - ↓ -用户输入验证码 - ↓ -调用注册接口(验证码校验) - ↓ -校验成功 → 创建用户 → 自动登录 → 返回Token -``` - -**请求示例**: - -```json -{ - "phone": "13800138000", - "code": "123456", - "password": "Abc123456", - "inviteCode": "ABC123" // 可选 -} -``` - -### 3. 重置密码 - -**接口**:`POST /user/auth/reset-password` - -**流程**: - -``` -用户输入手机号 - ↓ -调用发送验证码接口 - ↓ -用户输入验证码和新密码 - ↓ -调用重置密码接口(验证码校验) - ↓ -校验成功 → 更新密码 → 返回成功 -``` - -**请求示例**: - -```json -{ - "phone": "13800138000", - "code": "123456", - "newPassword": "NewPass123" -} -``` - -### 4. 修改手机号 - -**接口**:`PUT /user/users/info` - -**流程**: - -``` -用户输入新手机号 - ↓ -向新手机号发送验证码 - ↓ -用户输入验证码 - ↓ -调用修改接口(验证码校验) - ↓ -校验成功 → 更新手机号 → 返回成功 -``` - -### 5. 修改密码(需要验证码) - -**接口**:`PUT /user/users/info` - -**流程**: - -``` -用户输入当前手机号 - ↓ -发送验证码 - ↓ -用户输入验证码和新密码 - ↓ -调用修改接口(验证码校验) - ↓ -校验成功 → 更新密码 → 返回成功 -``` - ---- - -## 🔒 安全机制 - -### 1. 验证码有效期控制 - -```java -// 存储到Redis,5分钟后自动过期 -redisTemplate.opsForValue().set(phone, code, 5, TimeUnit.MINUTES); -``` - -**说明**: -- 验证码在Redis中存储5分钟 -- 5分钟后自动删除,无法继续使用 -- 防止验证码长期有效带来的安全风险 - -### 2. 一次性使用机制 - -```java -// 验证成功后立即删除 -redisTemplate.delete(phone); -``` - -**说明**: -- 验证码验证成功后立即从Redis删除 -- 每个验证码只能使用一次 -- 防止验证码被重复使用 - -### 3. 错误清除机制 - -```java -// 验证失败时清除验证码 -if (!cachedCode.equals(code)) { - redisTemplate.delete(phone); - throw new RuntimeException("验证码错误或已过期"); -} -``` - -**说明**: -- 验证码输入错误时立即清除 -- 防止暴力破解攻击 -- 用户需重新获取验证码 - -### 4. 业务失败清除 - -```java -// 业务逻辑失败时也清除验证码 -if (existingUser != null) { - redisTemplate.delete(phone); - throw new RuntimeException("手机号已注册"); -} -``` - -**说明**: -- 即使验证码正确,但业务逻辑失败时也清除验证码 -- 例如:注册时手机号已存在、登录时用户不存在等 -- 确保一个验证码只用于一次完整的业务操作 - -### 5. 重复发送限制 - -```java -// 检查是否已有验证码 -String existingCode = redisTemplate.opsForValue().get(phone); -if (existingCode != null && !force) { - return Result.error(400, "验证码已存在,请稍后再试"); -} -``` - -**说明**: -- 验证码存在时拒绝重复发送 -- 防止短信轰炸和资源浪费 -- 特殊情况可使用`force=true`强制发送 - -### 安全建议 - -#### ⚠️ 当前缺少的安全措施 - -1. **频率限制** - ``` - 建议:同一手机号1分钟内最多发送1次 - 建议:同一IP每小时最多发送10次 - 建议:单个手机号每天最多发送5次 - ``` - -2. **图形验证码** - ``` - 建议:发送短信前先验证图形验证码 - 防止:自动化机器人攻击 - ``` - -3. **手机号归属地验证** - ``` - 建议:检查手机号归属地是否为国内 - 防止:国际短信费用损失 - ``` - -4. **黑名单机制** - ``` - 建议:维护恶意手机号黑名单 - 防止:滥用和攻击 - ``` - ---- - -## ❌ 错误处理 - -### 错误码说明 - -| 错误码 | 错误信息 | 原因 | 解决方法 | -|--------|---------|------|----------| -| 400 | 验证码已存在,请稍后再试 | Redis中已有未过期的验证码 | 等待5分钟或使用force=true | -| 400 | 验证码错误或已过期 | 验证码不存在或不匹配 | 重新获取验证码 | -| 500 | 短信发送失败,请稍后重试 | 阿里云短信服务调用失败 | 检查配置和网络,查看日志 | -| 500 | 发送短信验证码失败 | 系统异常 | 查看服务器日志 | - -### 阿里云短信服务错误码 - -| 阿里云错误码 | 说明 | 处理方法 | -|-------------|------|----------| -| OK | 发送成功 | - | -| isv.MOBILE_NUMBER_ILLEGAL | 手机号格式错误 | 检查手机号格式 | -| isv.BUSINESS_LIMIT_CONTROL | 业务限流 | 降低发送频率 | -| isv.AMOUNT_NOT_ENOUGH | 账户余额不足 | 充值阿里云短信服务 | -| isv.TEMPLATE_MISSING_PARAMETERS | 模板参数缺失 | 检查模板参数 | -| isv.INVALID_PARAMETERS | 参数无效 | 检查所有参数 | - -### 日志查询 - -```bash -# 查看短信发送日志 -sudo journalctl -u spring_1818_user_server | grep "短信" - -# 查看特定手机号的日志 -sudo journalctl -u spring_1818_user_server | grep "13800138000" - -# 查看错误日志 -sudo journalctl -u spring_1818_user_server | grep -E "ERROR|WARN" | grep "短信" -``` - ---- - -## 📘 使用示例 - -### 完整的登录流程示例 - -#### 步骤1:发送验证码 - -```bash -curl -X GET "http://localhost:8081/user/msm/send/13800138000" \ - -H "Accept: application/json" -``` - -**响应**: -```json -{ - "code": 200, - "message": "success", - "data": true -} -``` - -#### 步骤2:用户收到短信 - -``` -【星洋智慧】您的验证码为:123456,5分钟内有效,请勿泄露给他人。 -``` - -#### 步骤3:使用验证码登录 - -```bash -curl -X POST "http://localhost:8081/user/auth/sms-login" \ - -H "Content-Type: application/json" \ - -d '{ - "phone": "13800138000", - "code": "123456" - }' -``` - -**响应**: -```json -{ - "code": 200, - "message": "success", - "data": { - "token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYiLCJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWF0IjoxNjk5MDA4MDAwLCJleHAiOjE2OTk2MTI4MDB9.xxx", - "tokenExpiresAt": "2025-11-10T12:00:00", - "userInfo": { - "userId": 123456, - "phone": "13800138000", - "username": "测试用户" - } - } -} -``` - -### 强制发送验证码示例 - -**场景**:用户点击"重新发送"时,即使验证码未过期也要发送新的 - -```bash -curl -X GET "http://localhost:8081/user/msm/send/13800138000?force=true" \ - -H "Accept: application/json" -``` - -### JavaScript/TypeScript 示例 - -```typescript -// 发送验证码 -async function sendSmsCode(phone: string, force: boolean = false): Promise { - try { - const response = await fetch( - `http://localhost:8081/user/msm/send/${phone}?force=${force}`, - { - method: 'GET', - headers: { - 'Accept': 'application/json' - } - } - ); - - const result = await response.json(); - - if (result.code === 200) { - console.log('验证码发送成功'); - return true; - } else { - console.error('验证码发送失败:', result.message); - return false; - } - } catch (error) { - console.error('网络错误:', error); - return false; - } -} - -// 短信登录 -async function smsLogin(phone: string, code: string): Promise { - const response = await fetch('http://localhost:8081/user/auth/sms-login', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ phone, code }) - }); - - const result = await response.json(); - - if (result.code === 200) { - // 保存token到localStorage - localStorage.setItem('token', result.data.token); - return result.data; - } else { - throw new Error(result.message); - } -} - -// 使用示例 -async function handleLogin() { - const phone = '13800138000'; - const code = '123456'; - - try { - const loginData = await smsLogin(phone, code); - console.log('登录成功:', loginData); - // 跳转到主页 - window.location.href = '/home'; - } catch (error) { - console.error('登录失败:', error.message); - alert(error.message); - } -} -``` - ---- - -## ❓ 常见问题 - -### Q1: 验证码收不到怎么办? - -**A**: 检查以下几点: -1. 手机号格式是否正确(11位数字) -2. 查看服务器日志,确认是否发送成功 -3. 检查阿里云短信服务余额是否充足 -4. 确认短信签名和模板是否已审核通过 -5. 检查手机是否有信号,是否被拦截为垃圾短信 - -### Q2: 提示"验证码已存在"怎么办? - -**A**: 两种解决方法: -1. 等待5分钟后重试(验证码自动过期) -2. 使用`force=true`参数强制发送新验证码 - -```bash -curl -X GET "http://localhost:8081/user/msm/send/13800138000?force=true" -``` - -### Q3: 验证码输入错误后无法重试? - -**A**: 这是安全机制设计,验证码输入错误后会立即失效。需要重新获取新的验证码。 - -### Q4: 如何查看短信发送记录? - -**A**: 查看服务器日志: - -```bash -# 查看所有短信相关日志 -sudo journalctl -u spring_1818_user_server | grep "短信" - -# 查看特定手机号的发送记录 -sudo journalctl -u spring_1818_user_server | grep "phone: 13800138000" -``` - -### Q5: 短信费用如何计算? - -**A**: -- 国内短信:约0.045元/条 -- 计费由阿里云短信服务收取 -- 可在阿里云控制台查看详细账单 - -### Q6: 如何修改验证码有效期? - -**A**: 修改代码中的过期时间: - -```java -// 当前是5分钟 -redisTemplate.opsForValue().set(phone, code, 5, TimeUnit.MINUTES); - -// 修改为3分钟 -redisTemplate.opsForValue().set(phone, code, 3, TimeUnit.MINUTES); -``` - -### Q7: 如何修改验证码位数? - -**A**: 修改生成验证码的代码: - -```java -// 当前是6位(100000-999999) -String code = String.valueOf((int) ((Math.random() * 9 + 1) * 100000)); - -// 修改为4位(1000-9999) -String code = String.valueOf((int) ((Math.random() * 9 + 1) * 1000)); -``` - -### Q8: 如何添加发送频率限制? - -**A**: 需要在代码中添加额外的Redis计数器: - -```java -// 伪代码示例 -String countKey = "sms:count:" + phone; -Integer count = redisTemplate.opsForValue().get(countKey); - -if (count != null && count >= 5) { - return Result.error(429, "发送次数过多,请明天再试"); -} - -// 发送成功后增加计数 -redisTemplate.opsForValue().increment(countKey); -// 设置24小时过期 -redisTemplate.expire(countKey, 24, TimeUnit.HOURS); -``` - ---- - -## 🛠️ 维护指南 - -### 监控指标 - -#### 1. 短信发送成功率 - -```sql --- 查看今日短信发送情况(需要添加短信发送记录表) -SELECT - DATE(create_time) as date, - COUNT(*) as total, - SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as success, - SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as failed, - ROUND(SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as success_rate -FROM sms_log -WHERE DATE(create_time) = CURDATE() -GROUP BY DATE(create_time); -``` - -#### 2. Redis验证码监控 - -```bash -# 连接Redis -redis-cli - -# 查看所有手机号的验证码(生产环境不建议执行) -KEYS * - -# 查看特定手机号的验证码 -GET 13800138000 - -# 查看验证码剩余过期时间(秒) -TTL 13800138000 -``` - -#### 3. 日志监控 - -```bash -# 统计今日短信发送次数 -sudo journalctl -u spring_1818_user_server --since today | grep "短信验证码发送成功" | wc -l - -# 统计今日短信发送失败次数 -sudo journalctl -u spring_1818_user_server --since today | grep "短信验证码发送失败" | wc -l - -# 查看最近的错误 -sudo journalctl -u spring_1818_user_server -n 100 | grep -E "ERROR.*短信" -``` - -### 定期检查项 - -#### 每日检查 - -- [ ] 查看短信发送成功率 -- [ ] 检查阿里云短信服务余额 -- [ ] 查看错误日志 - -#### 每周检查 - -- [ ] 分析短信发送量趋势 -- [ ] 检查异常手机号(发送失败率高的) -- [ ] 审查Redis使用情况 - -#### 每月检查 - -- [ ] 审查短信费用 -- [ ] 更新AccessKey(建议定期轮换) -- [ ] 检查短信签名和模板有效期 - -### 故障处理 - -#### 故障1:大量短信发送失败 - -**排查步骤**: -1. 检查阿里云短信服务是否正常 -2. 检查网络连接是否正常 -3. 检查AccessKey是否过期 -4. 检查账户余额是否充足 -5. 查看详细错误日志 - -#### 故障2:Redis连接失败 - -**排查步骤**: -1. 检查Redis服务是否运行 -2. 检查Redis连接配置 -3. 检查防火墙设置 -4. 重启Redis服务 - -#### 故障3:验证码无法验证 - -**排查步骤**: -1. 检查Redis中是否存在验证码 -2. 检查验证码是否已过期 -3. 检查代码逻辑是否正确 -4. 查看详细日志 - -### 性能优化建议 - -#### 1. Redis连接池优化 - -```yaml -spring: - redis: - lettuce: - pool: - max-active: 20 # 最大连接数 - max-idle: 10 # 最大空闲连接数 - min-idle: 5 # 最小空闲连接数 -``` - -#### 2. 短信发送异步化 - -```java -// 使用@Async异步发送短信 -@Async -public CompletableFuture sendAsync(Map param, String phone) { - boolean result = send(param, phone); - return CompletableFuture.completedFuture(result); -} -``` - -#### 3. 添加缓存预热 - -```java -// 应用启动时检查Redis连接 -@PostConstruct -public void init() { - try { - redisTemplate.opsForValue().set("health_check", "ok", 10, TimeUnit.SECONDS); - log.info("Redis连接正常"); - } catch (Exception e) { - log.error("Redis连接失败", e); - } -} -``` - ---- - -## 📝 更新日志 - -### v1.0.0 (2025-11-03) - -**初始版本**: -- ✅ 实现基础短信验证码发送功能 -- ✅ 集成阿里云短信服务 -- ✅ 实现Redis验证码存储 -- ✅ 实现5分钟过期机制 -- ✅ 实现一次性使用机制 -- ✅ 添加强制发送模式 -- ✅ 完善日志记录 - ---- - -## 📞 技术支持 - -**遇到问题?** - -1. 查看本文档的[常见问题](#常见问题)章节 -2. 查看服务器日志获取详细错误信息 -3. 检查阿里云短信服务控制台 -4. 联系技术团队 - -**相关文档**: -- [阿里云短信服务文档](https://help.aliyun.com/document_detail/101414.html) -- [Redis官方文档](https://redis.io/documentation) -- [Spring Boot Redis文档](https://docs.spring.io/spring-boot/docs/current/reference/html/data.html#data.nosql.redis) - ---- - -**文档版本**: v1.0.0 -**最后更新**: 2025-11-03 -**维护团队**: 1818AI技术团队 - diff --git a/SYSTEM_UPGRADE_SUMMARY_20251020.md b/SYSTEM_UPGRADE_SUMMARY_20251020.md deleted file mode 100644 index 1bd7e00..0000000 --- a/SYSTEM_UPGRADE_SUMMARY_20251020.md +++ /dev/null @@ -1,391 +0,0 @@ -# 系统升级总结 - API Key认证与图生视频功能 - -**升级日期:** 2025-10-20 -**版本号:** v2.0.0 - ---- - -## 📋 升级概述 - -本次升级实现了以下核心功能: - -1. ✅ **API Key认证系统** - 支持不通过JWT也能调用API -2. ✅ **积分独立使用** - 非会员用户可以单独充值积分使用AI服务 -3. ✅ **图生视频功能** - 支持上传参考图片生成视频 -4. ✅ **会员体系优化** - 会员和积分系统解耦,互不影响 - ---- - -## 🎯 核心改动 - -### 1. API Key认证过滤器 - -**文件:** `src/main/java/com/dora/config/ApiKeyAuthenticationFilter.java` - -**功能:** -- 新增Spring Security过滤器,支持API Key认证 -- 从HTTP Header `Authorization: Bearer {api_key}` 中提取API Key -- 与JWT认证共存,JWT优先级更高 -- 所有用户(会员/非会员)都可以通过API Key认证 - -**关键代码:** -```java -@Component -public class ApiKeyAuthenticationFilter extends OncePerRequestFilter { - // 检查JWT是否已认证 - if (SecurityContextHolder.getContext().getAuthentication() != null) { - filterChain.doFilter(request, response); - return; - } - - // 验证API Key - User user = apiKeyService.validateApiKeyForNonMember(apiKey); - if (user != null) { - UsernamePasswordAuthenticationToken authentication = - UsernamePasswordAuthenticationToken.authenticated(...); - SecurityContextHolder.getContext().setAuthentication(authentication); - } -} -``` - ---- - -### 2. API Key服务优化 - -**文件:** `src/main/java/com/dora/service/ApiKeyService.java` - -**改动:** -- ❌ **旧逻辑**:只有会员(role >= 2)才能生成API Key -- ✅ **新逻辑**:所有用户都可以生成API Key,通过积分使用服务 - -**新增方法:** -```java -public User validateApiKeyForNonMember(String keyValue) { - // 不再检查会员身份,所有用户都可以使用API Key - // 只要有积分就可以调用服务 -} -``` - -**影响的方法:** -- `generateApiKey()` - 移除会员检查 -- `refreshApiKey()` - 移除会员检查 -- `validateApiKeyForNonMember()` - 新增方法 - ---- - -### 3. 图生视频功能 - -#### 3.1 数据库扩展 - -**文件:** `V4__add_image_fields_to_ai_task.sql` - -```sql -ALTER TABLE `ai_task` -ADD COLUMN `image_url` VARCHAR(500) NULL COMMENT '参考图片URL(用于图生视频)', -ADD COLUMN `image_base64` TEXT NULL COMMENT '参考图片Base64编码(用于图生视频)', -ADD COLUMN `aspect_ratio` VARCHAR(10) NULL COMMENT '图片宽高比(如2:3, 3:2, 1:1)'; -``` - -#### 3.2 DTO扩展 - -**文件:** `src/main/java/com/dora/dto/TaskSubmitRequest.java` - -```java -@Data -public class TaskSubmitRequest { - private String modelName; - private String prompt; - private String imageUrl; // 新增:图片URL - private String imageBase64; // 新增:图片Base64 - private String aspectRatio; // 新增:宽高比 - - public boolean isImageToVideo() { - return (imageUrl != null && !imageUrl.trim().isEmpty()) || - (imageBase64 != null && !imageBase64.trim().isEmpty()); - } -} -``` - -#### 3.3 第三方API调用扩展 - -**文件:** `src/main/java/com/dora/service/impl/ThirdPartyApiServiceImpl.java` - -**新增支持:** -- 简单文本消息(文生图/视频) -- 复杂内容消息(文本 + 图片,图生视频) - -```java -if (imageParam != null && !imageParam.trim().isEmpty()) { - // 图生视频:构建复杂内容 - List contentItems = new ArrayList<>(); - contentItems.add(ContentItem.text(prompt)); - contentItems.add(ContentItem.imageUrl(imageParam)); - userMessage = new Message("user", contentItems); -} else { - // 文生图/视频:简单文本 - userMessage = new Message("user", prompt); -} -``` - ---- - -### 4. 安全配置更新 - -**文件:** `src/main/java/com/dora/config/SecurityConfig.java` - -**改动:** -```java -@RequiredArgsConstructor -public class SecurityConfig { - private final JwtAuthenticationFilter jwtAuthenticationFilter; - private final ApiKeyAuthenticationFilter apiKeyAuthenticationFilter; // 新增 - - @Bean - public SecurityFilterChain filterChain(HttpSecurity http) { - http - // API Key认证过滤器(在JWT之后) - .addFilterBefore(apiKeyAuthenticationFilter, UsernamePasswordAuthenticationFilter.class) - // JWT认证过滤器 - .addFilterBefore(jwtAuthenticationFilter, ApiKeyAuthenticationFilter.class); - } -} -``` - -**过滤器链顺序:** -1. ApiKeyAuthenticationFilter -2. JwtAuthenticationFilter -3. UsernamePasswordAuthenticationFilter - ---- - -### 5. 控制器优化 - -**文件:** `src/main/java/com/dora/controller/AiTaskController.java` - -**改动:** -- 移除硬编码的 `currentUserId = 1L` -- 使用 `SecurityUtil.getCurrentUserId()` 动态获取用户ID -- 支持JWT和API Key两种认证方式 -- 添加详细的Swagger文档 - -**示例:** -```java -@PostMapping("/submit") -public Result submitTask(@RequestBody TaskSubmitRequest request) { - try { - // 从Spring Security上下文获取用户ID(支持JWT和API Key) - Long currentUserId = SecurityUtil.getCurrentUserId(); - - // 构建任务DTO,包含图片参数 - CreateTaskDto createTaskDto = CreateTaskDto.builder() - .userId(currentUserId) - .modelName(request.getModelName()) - .prompt(request.getPrompt()) - .imageUrl(request.getImageUrl()) - .imageBase64(request.getImageBase64()) - .aspectRatio(request.getAspectRatio()) - .build(); - - AiTask createdTask = aiTaskService.createTask(createTaskDto); - return Result.success(response, "任务提交成功"); - - } catch (AuthenticationException e) { - return Result.error(401, "未认证,请提供有效的JWT Token或API Key"); - } -} -``` - ---- - -## 📊 文件变更清单 - -### 新增文件 - -| 文件路径 | 说明 | -|---------|------| -| `src/main/java/com/dora/config/ApiKeyAuthenticationFilter.java` | API Key认证过滤器 | -| `src/main/java/com/dora/dto/api/ContentItem.java` | 复杂消息内容项(支持文本+图片) | -| `V4__add_image_fields_to_ai_task.sql` | 数据库迁移脚本 | -| `AI_API_KEY_INTEGRATION_GUIDE.md` | API使用指南 | -| `SYSTEM_UPGRADE_SUMMARY_20251020.md` | 本文档 | - -### 修改文件 - -| 文件路径 | 主要改动 | -|---------|---------| -| `src/main/java/com/dora/config/SecurityConfig.java` | 添加API Key过滤器 | -| `src/main/java/com/dora/service/ApiKeyService.java` | 移除会员限制 | -| `src/main/java/com/dora/dto/TaskSubmitRequest.java` | 添加图片字段 | -| `src/main/java/com/dora/dto/CreateTaskDto.java` | 添加图片字段 | -| `src/main/java/com/dora/entity/AiTask.java` | 添加图片字段 | -| `src/main/java/com/dora/dto/api/Message.java` | 支持复杂内容 | -| `src/main/java/com/dora/service/ThirdPartyApiService.java` | 添加图生视频方法 | -| `src/main/java/com/dora/service/impl/ThirdPartyApiServiceImpl.java` | 实现图生视频 | -| `src/main/java/com/dora/service/AsyncTaskExecutor.java` | 支持图片参数 | -| `src/main/java/com/dora/service/impl/AiTaskServiceImpl.java` | 保存图片参数 | -| `src/main/java/com/dora/controller/AiTaskController.java` | 支持API Key认证 | -| `src/main/resources/mapper/AiTaskMapper.xml` | 添加图片字段SQL | - ---- - -## 🔄 兼容性说明 - -### ✅ 向后兼容 - -1. **现有JWT认证**:完全兼容,不受影响 -2. **原有API接口**:所有接口保持不变,仅新增认证方式 -3. **数据库**:新增字段允许NULL,不影响现有数据 -4. **会员体系**:会员用户的权益不受影响 - -### ⚠️ 注意事项 - -1. **数据库迁移**:需要执行 `V4__add_image_fields_to_ai_task.sql` -2. **依赖注入**:`SecurityConfig` 需要注入 `ApiKeyAuthenticationFilter` -3. **API Key生成**:现在所有用户都可以生成,需要更新前端提示文案 - ---- - -## 🧪 测试建议 - -### 1. API Key认证测试 - -```bash -# 1. 生成API Key(需要JWT登录) -curl -X POST "http://localhost:8081/user/v1/api-key/generate" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" - -# 2. 使用API Key提交任务 -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer ak_your_api_key_here" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "sora_image", - "prompt": "测试图片" - }' - -# 3. 使用API Key查询任务 -curl -X GET "http://localhost:8081/user/ai/tasks/TASK_NUMBER" \ - -H "Authorization: Bearer ak_your_api_key_here" -``` - -### 2. 图生视频测试 - -```bash -# 使用图片URL -curl -X POST "http://localhost:8081/user/ai/tasks/submit" \ - -H "Authorization: Bearer ak_your_api_key_here" \ - -H "Content-Type: application/json" \ - -d '{ - "modelName": "sora_video2", - "prompt": "让场景动起来", - "imageUrl": "https://example.com/test.jpg" - }' -``` - -### 3. 非会员用户测试 - -1. 创建一个普通用户(role = 0) -2. 充值积分(例如1000积分) -3. 生成API Key -4. 使用API Key提交任务 -5. 验证积分正常扣除 - ---- - -## 📈 性能影响 - -### 过滤器链 - -- **新增过滤器**:1个(ApiKeyAuthenticationFilter) -- **性能影响**:微小(<5ms per request) -- **原因**: - - 如果已有JWT认证,直接跳过 - - API Key验证仅需1次数据库查询(带索引) - - 查询结果可缓存 - -### 数据库 - -- **新增字段**:3个(image_url, image_base64, aspect_ratio) -- **存储影响**: - - `image_url`: ~200 bytes - - `image_base64`: ~100 KB(Base64编码后) - - `aspect_ratio`: ~10 bytes -- **建议**:优先使用 `image_url`,避免存储大量Base64数据 - ---- - -## 🚀 部署步骤 - -### 1. 数据库迁移 - -```bash -# 执行SQL脚本 -mysql -u root -p your_database < V4__add_image_fields_to_ai_task.sql -``` - -### 2. 代码部署 - -```bash -# 编译项目 -mvn clean package -DskipTests - -# 备份旧版本 -cp target/1818_user_server-1.0-SNAPSHOT.jar target/1818_user_server-1.0-SNAPSHOT.jar.bak - -# 停止服务 -sudo systemctl stop spring_1818_user_server - -# 部署新版本 -sudo cp target/1818_user_server-1.0-SNAPSHOT.jar /www/wwwroot/1818_user_server/ - -# 启动服务 -sudo systemctl start spring_1818_user_server - -# 检查日志 -sudo journalctl -u spring_1818_user_server -f -``` - -### 3. 验证部署 - -```bash -# 检查服务状态 -curl http://localhost:8081/actuator/health - -# 测试API Key认证 -curl -X GET "http://localhost:8081/user/v1/api-key/info" \ - -H "Authorization: Bearer YOUR_JWT_TOKEN" -``` - ---- - -## 📚 相关文档 - -- [API使用指南](./AI_API_KEY_INTEGRATION_GUIDE.md) -- [积分系统设计](./POINTS_SYSTEM_DESIGN.md) -- [管理端API文档](./ADMIN_AI_POINTS_API_GUIDE.md) - ---- - -## 🐛 已知问题 - -无 - ---- - -## 🎉 总结 - -本次升级成功实现了: - -1. ✅ **API Key认证体系** - 支持开发者和第三方集成 -2. ✅ **积分独立使用** - 非会员用户可以单独使用AI服务 -3. ✅ **图生视频功能** - 丰富了AI生成能力 -4. ✅ **向后兼容** - 不影响现有功能和用户 - -系统更加灵活开放,为未来的商业化和生态建设打下了基础!🚀 - ---- - -**升级负责人:** AI Assistant -**审核人:** 待定 -**发布日期:** 2025-10-20 - diff --git a/V10__add_plaza_feature.sql b/V10__add_plaza_feature.sql deleted file mode 100644 index b462815..0000000 --- a/V10__add_plaza_feature.sql +++ /dev/null @@ -1,166 +0,0 @@ --- ============================================================ --- V10: 添加广场功能(用户作品展示与分享) --- 描述: 用户可以将AI生成的作品发布到广场,支持按类型查询、点赞、浏览统计 --- 作者: 1818AI --- 日期: 2025-10-26 --- ============================================================ - -USE `1818ai`; - --- ============================================================ --- 1. 创建广场作品表 --- ============================================================ - -CREATE TABLE IF NOT EXISTS `plaza_work` ( - `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `work_no` VARCHAR(50) NOT NULL COMMENT '作品编号(唯一标识)', - `user_id` BIGINT NOT NULL COMMENT '发布者用户ID', - `task_no` VARCHAR(50) NOT NULL COMMENT '关联的任务编号', - `task_type` VARCHAR(50) NOT NULL COMMENT '任务类型:text_to_image/image_to_image/text_to_video/image_to_video等', - `model_name` VARCHAR(100) NOT NULL COMMENT '使用的模型名称', - `prompt` TEXT NOT NULL COMMENT '生成提示词', - `result_url` VARCHAR(500) NOT NULL COMMENT '作品结果URL(图片或视频)', - `image_url` VARCHAR(500) DEFAULT NULL COMMENT '参考图URL(图生图/图生视频任务使用)', - `aspect_ratio` VARCHAR(20) DEFAULT NULL COMMENT '宽高比:1:1/2:3/3:2/9:16/16:9等', - - `title` VARCHAR(200) DEFAULT NULL COMMENT '作品标题(可选)', - `description` TEXT DEFAULT NULL COMMENT '作品描述(可选)', - `tags` VARCHAR(500) DEFAULT NULL COMMENT '标签(JSON数组字符串)', - - `view_count` INT DEFAULT 0 COMMENT '浏览次数', - `like_count` INT DEFAULT 0 COMMENT '点赞数', - `share_count` INT DEFAULT 0 COMMENT '分享数', - `comment_count` INT DEFAULT 0 COMMENT '评论数(预留)', - - `is_public` TINYINT(1) DEFAULT 1 COMMENT '是否公开:0-仅自己可见,1-公开', - `status` VARCHAR(20) DEFAULT 'published' COMMENT '状态:draft-草稿,published-已发布,hidden-已隐藏', - - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `is_deleted` TINYINT(1) DEFAULT 0 COMMENT '是否删除:0-未删除,1-已删除', - - PRIMARY KEY (`id`), - UNIQUE KEY `uk_work_no` (`work_no`), - KEY `idx_user_id` (`user_id`), - KEY `idx_task_no` (`task_no`), - KEY `idx_task_type` (`task_type`), - KEY `idx_create_time` (`create_time`), - KEY `idx_like_count` (`like_count`), - KEY `idx_status_public` (`status`, `is_public`, `is_deleted`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='广场作品表'; - --- ============================================================ --- 2. 创建点赞表 --- ============================================================ - -CREATE TABLE IF NOT EXISTS `plaza_work_like` ( - `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `work_id` BIGINT NOT NULL COMMENT '作品ID', - `user_id` BIGINT NOT NULL COMMENT '点赞用户ID', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', - - PRIMARY KEY (`id`), - UNIQUE KEY `uk_work_user` (`work_id`, `user_id`), - KEY `idx_user_id` (`user_id`), - KEY `idx_create_time` (`create_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='广场作品点赞表'; - --- ============================================================ --- 3. 创建浏览记录表(可选,用于统计) --- ============================================================ - -CREATE TABLE IF NOT EXISTS `plaza_work_view` ( - `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `work_id` BIGINT NOT NULL COMMENT '作品ID', - `user_id` BIGINT DEFAULT NULL COMMENT '浏览用户ID(可为空,支持匿名浏览)', - `ip_address` VARCHAR(50) DEFAULT NULL COMMENT 'IP地址', - `user_agent` VARCHAR(500) DEFAULT NULL COMMENT '用户代理', - `view_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '浏览时间', - - PRIMARY KEY (`id`), - KEY `idx_work_id` (`work_id`), - KEY `idx_user_id` (`user_id`), - KEY `idx_view_time` (`view_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='广场作品浏览记录表'; - --- ============================================================ --- 4. 插入示例数据(可选) --- ============================================================ - --- 假设用户ID 17563793187762127 发布了几个作品 --- INSERT INTO `plaza_work` (`work_no`, `user_id`, `task_no`, `task_type`, `model_name`, `prompt`, `result_url`, `title`, `tags`, `is_public`) VALUES --- ('WORK-20251026-001', 17563793187762127, 'TASK-20251026183750127-8554', 'image_to_video', 'sc_sora2_img_landscape_15s_small', '根据参考图生成战场短视频', 'https://oss-1818ai-user-img.oss-cn-hangzhou.aliyuncs.com/result.mp4', '战场气氛短视频', '["视频","战争","特效"]', 1), --- ('WORK-20251026-002', 17563793187762127, 'TASK-20251026120000000-0001', 'text_to_image', 'sc_soraimg_text_1x1', '一只可爱的橘猫在窗台晒太阳', 'https://oss-1818ai-user-img.oss-cn-hangzhou.aliyuncs.com/cat.png', '窗台上的橘猫', '["猫咪","温馨","治愈"]', 1); - --- ============================================================ --- 5. 添加索引优化查询性能 --- ============================================================ - --- 复合索引:按任务类型和创建时间查询热门作品 -CREATE INDEX `idx_type_like_time` ON `plaza_work`(`task_type`, `like_count` DESC, `create_time` DESC); - --- 复合索引:按状态和公开性查询 -CREATE INDEX `idx_status_public_time` ON `plaza_work`(`status`, `is_public`, `create_time` DESC); - --- ============================================================ --- 6. 创建视图:热门作品 --- ============================================================ - -CREATE OR REPLACE VIEW `v_plaza_hot_works` AS -SELECT - pw.id, - pw.work_no, - pw.user_id, - pw.task_type, - pw.model_name, - pw.title, - pw.result_url, - pw.like_count, - pw.view_count, - pw.create_time, - u.nickname AS user_nickname, - u.avatar_url AS user_avatar -FROM plaza_work pw -LEFT JOIN user u ON pw.user_id = u.id -WHERE pw.status = 'published' - AND pw.is_public = 1 - AND pw.is_deleted = 0 -ORDER BY pw.like_count DESC, pw.create_time DESC; - --- ============================================================ --- 7. 创建视图:最新作品 --- ============================================================ - -CREATE OR REPLACE VIEW `v_plaza_latest_works` AS -SELECT - pw.id, - pw.work_no, - pw.user_id, - pw.task_type, - pw.model_name, - pw.title, - pw.result_url, - pw.like_count, - pw.view_count, - pw.create_time, - u.nickname AS user_nickname, - u.avatar_url AS user_avatar -FROM plaza_work pw -LEFT JOIN user u ON pw.user_id = u.id -WHERE pw.status = 'published' - AND pw.is_public = 1 - AND pw.is_deleted = 0 -ORDER BY pw.create_time DESC; - --- ============================================================ --- 验证表结构 --- ============================================================ - -SHOW CREATE TABLE plaza_work; -SHOW CREATE TABLE plaza_work_like; -SHOW CREATE TABLE plaza_work_view; - --- ============================================================ --- V10脚本结束 --- ============================================================ - diff --git a/V11__add_sora2pro_models.sql b/V11__add_sora2pro_models.sql deleted file mode 100644 index b1b9a45..0000000 --- a/V11__add_sora2pro_models.sql +++ /dev/null @@ -1,95 +0,0 @@ --- ============================================================ --- V11: 添加速创API(SuChuang)的Sora2Pro模型配置 --- 描述: Sora2Pro 是速创的新视频生成模型,使用 /api/sora2pro/submit 接口 --- 特点: --- - 定价:400积分 --- - 支持15秒和25秒时长 --- - 25秒只能标清,15秒有高清和标清选项 --- - 支持9:16(竖屏)和16:9(横屏) --- - 支持文生视频和图生视频 --- 作者: 1818AI --- 日期: 2025-01-XX --- ============================================================ - -USE `1818ai`; - --- 插入速创Sora2Pro模型配置 --- 文生视频模型(6个) --- 9:16 竖屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2pro_text_portrait_15s_small', '速创Sora2Pro 文生视频-竖屏-15秒-标清', 400, 'suchuang', - '{"aspectRatio":"9:16","duration":"15"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_text_portrait_15s_large', '速创Sora2Pro 文生视频-竖屏-15秒-高清', 400, 'suchuang', - '{"aspectRatio":"9:16","duration":"15"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_text_portrait_25s_small', '速创Sora2Pro 文生视频-竖屏-25秒-标清', 400, 'suchuang', - '{"aspectRatio":"9:16","duration":"25"}', - 'text_to_video', 1, NOW(), NOW()); - --- 16:9 横屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2pro_text_landscape_15s_small', '速创Sora2Pro 文生视频-横屏-15秒-标清', 400, 'suchuang', - '{"aspectRatio":"16:9","duration":"15"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_text_landscape_15s_large', '速创Sora2Pro 文生视频-横屏-15秒-高清', 400, 'suchuang', - '{"aspectRatio":"16:9","duration":"15"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_text_landscape_25s_small', '速创Sora2Pro 文生视频-横屏-25秒-标清', 400, 'suchuang', - '{"aspectRatio":"16:9","duration":"25"}', - 'text_to_video', 1, NOW(), NOW()); - --- 图生视频模型(6个) --- 9:16 竖屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2pro_img_portrait_15s_small', '速创Sora2Pro 图生视频-竖屏-15秒-标清', 400, 'suchuang', - '{"aspectRatio":"9:16","duration":"15","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_img_portrait_15s_large', '速创Sora2Pro 图生视频-竖屏-15秒-高清', 400, 'suchuang', - '{"aspectRatio":"9:16","duration":"15","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_img_portrait_25s_small', '速创Sora2Pro 图生视频-竖屏-25秒-标清', 400, 'suchuang', - '{"aspectRatio":"9:16","duration":"25","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()); - --- 16:9 横屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2pro_img_landscape_15s_small', '速创Sora2Pro 图生视频-横屏-15秒-标清', 400, 'suchuang', - '{"aspectRatio":"16:9","duration":"15","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_img_landscape_15s_large', '速创Sora2Pro 图生视频-横屏-15秒-高清', 400, 'suchuang', - '{"aspectRatio":"16:9","duration":"15","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2pro_img_landscape_25s_small', '速创Sora2Pro 图生视频-横屏-25秒-标清', 400, 'suchuang', - '{"aspectRatio":"16:9","duration":"25","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()); - --- 验证插入的模型 -SELECT - model_name, - description, - points_cost, - provider_type, - task_type, - provider_config, - is_enabled -FROM points_config -WHERE model_name LIKE 'sc_sora2pro%' -ORDER BY task_type, model_name; - --- ============================================================ --- V11脚本结束 --- ============================================================ - diff --git a/V2__add_ai_task_and_points_schema.sql b/V2__add_ai_task_and_points_schema.sql deleted file mode 100644 index 1b95fc9..0000000 --- a/V2__add_ai_task_and_points_schema.sql +++ /dev/null @@ -1,117 +0,0 @@ --- ================================================================= --- V2: AI任务与积分消费系统 数据库结构定义 --- 时间: 2025-10-19 --- 描述: 为集成第三方AI模型和积分商业化,新增相关表结构。 --- 此脚本为增量更新,不修改现有表,保证向前兼容。 --- ================================================================= - --- 1. AI生成任务表 (核心) --- 作用: 持久化用户的每一次AI生成请求,追踪其完整的生命周期。 --- ================================================================= -CREATE TABLE IF NOT EXISTS `ai_task` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `task_no` varchar(64) UNIQUE NOT NULL COMMENT '任务编号 (系统生成的唯一ID)', - `user_id` bigint NOT NULL COMMENT '关联的用户ID', - `model_name` varchar(64) NOT NULL COMMENT '请求的模型名称 (如: sora_image)', - `task_type` varchar(32) NOT NULL COMMENT '任务类型 (image/video)', - `prompt` text NOT NULL COMMENT '用户提交的提示词', - `status` varchar(32) NOT NULL DEFAULT 'created' COMMENT '任务状态 (created, queued, processing, completed, failed, cancelled)', - `progress` int DEFAULT 0 COMMENT '生成进度百分比 (0-100)', - `progress_message` varchar(255) DEFAULT NULL COMMENT '当前进度文本描述', - `points_frozen` int NOT NULL COMMENT '本次任务冻结的积分', - `points_consumed` int DEFAULT 0 COMMENT '任务成功后实际消耗的积分', - `result_url` varchar(512) DEFAULT NULL COMMENT '生成结果的URL', - `error_message` text DEFAULT NULL COMMENT '任务失败时的错误信息', - `queue_time` datetime DEFAULT NULL COMMENT '进入队列的时间', - `start_time` datetime DEFAULT NULL COMMENT '开始处理的时间', - `complete_time` datetime DEFAULT NULL COMMENT '任务完成或失败的时间', - `expire_time` datetime DEFAULT NULL COMMENT '结果URL的过期时间 (根据第三方API策略设定)', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', - `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_task_no` (`task_no`), - KEY `idx_user_status` (`user_id`, `status`), - KEY `idx_status_time` (`status`, `create_time`), - FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI生成任务表'; - --- ================================================================= --- 2. 积分消费配置表 --- 作用: 管理员可在此配置不同AI模型的积分价格,实现动态调价。 --- ================================================================= -CREATE TABLE IF NOT EXISTS `points_config` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `model_name` varchar(64) UNIQUE NOT NULL COMMENT '模型名称 (如: sora_image)', - `points_cost` int NOT NULL COMMENT '调用一次消耗的积分', - `description` varchar(255) DEFAULT NULL COMMENT '模型描述', - `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用 (0:禁用, 1:启用)', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分消费配置表'; - --- ================================================================= --- 3. 积分消费记录表 --- 作用: 提供完整的积分变动审计日志,便于追踪和对账。 --- ================================================================= -CREATE TABLE IF NOT EXISTS `points_consumption_log` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` bigint NOT NULL COMMENT '关联的用户ID', - `task_no` varchar(64) DEFAULT NULL COMMENT '关联的AI任务编号', - `change_type` varchar(32) NOT NULL COMMENT '变动类型 (consume:消费, refund:退款, admin_adjust:管理员调整)', - `change_amount` int NOT NULL COMMENT '变动积分数量 (正数表示增加,负数表示减少)', - `balance_before` int NOT NULL COMMENT '变动前积分余额', - `balance_after` int NOT NULL COMMENT '变动后积分余额', - `description` varchar(255) DEFAULT NULL COMMENT '变动描述', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', - PRIMARY KEY (`id`), - KEY `idx_user_id_type` (`user_id`, `change_type`), - FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分消费记录表'; - --- ================================================================= --- 4. 系统配置表 --- 作用: 存储可由管理员在后台动态调整的系统级参数。 --- ================================================================= -CREATE TABLE IF NOT EXISTS `system_config` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `config_key` varchar(64) UNIQUE NOT NULL COMMENT '配置键 (如: ai.queue.max_concurrent)', - `config_value` varchar(512) NOT NULL COMMENT '配置值', - `description` varchar(255) DEFAULT NULL COMMENT '配置说明', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表'; - --- ================================================================= --- 初始化默认配置数据 --- 作用: 插入一些基础配置,保证系统首次启动时功能正常。 --- ================================================================= - --- 初始化系统配置 -INSERT INTO `system_config` (`config_key`, `config_value`, `description`) VALUES - ('ai.queue.max_concurrent', '50', '每个AI模型的最大并发处理数'), - ('ai.queue.max_user_concurrent', '3', '单个用户的最大并发任务数'), - ('ai.task.timeout_minutes', '10', '任务处理超时时间(分钟)'), - ('ai.task.max_retry', '2', '任务失败后的最大自动重试次数') -ON DUPLICATE KEY UPDATE `config_value` = VALUES(`config_value`); - --- 初始化图片模型定价 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`) VALUES - ('sora_image', 11, 'Sora高质量图片生成', 1), - ('gpt-4o-image', 11, 'GPT-4o图片生成', 1) -ON DUPLICATE KEY UPDATE `points_cost` = VALUES(`points_cost`); - --- 初始化视频模型定价 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`) VALUES - ('sora_video2', 160, 'Sora视频生成 (竖屏10秒)', 1), - ('sora_video2-landscape', 160, 'Sora视频生成 (横屏10秒)', 1), - ('sora_video2-15s', 260, 'Sora视频生成 (竖屏15秒)', 1), - ('sora_video2-landscape-15s', 260, 'Sora视频生成 (横屏15秒)', 1), - ('sora-2-pro-all', 420, 'Sora Pro高清视频', 1) -ON DUPLICATE KEY UPDATE `points_cost` = VALUES(`points_cost`); - --- ================================================================= --- V2脚本结束 --- ================================================================= diff --git a/V3__add_is_deleted_to_new_tables.sql b/V3__add_is_deleted_to_new_tables.sql deleted file mode 100644 index 6beda56..0000000 --- a/V3__add_is_deleted_to_new_tables.sql +++ /dev/null @@ -1,22 +0,0 @@ --- ================================================================= --- V3: 为AI任务与积分系统的新表添加逻辑删除字段 --- 时间: 2025-10-19 --- 描述: 补充 V2 脚本中遗漏的 is_deleted 字段,保持与项目其他表的一致性。 --- ================================================================= - --- 为 points_config 表添加逻辑删除字段 -ALTER TABLE `points_config` -ADD COLUMN `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识' AFTER `update_time`; - --- 为 points_consumption_log 表添加逻辑删除字段 -ALTER TABLE `points_consumption_log` -ADD COLUMN `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识' AFTER `create_time`; - --- 为 system_config 表添加逻辑删除字段 -ALTER TABLE `system_config` -ADD COLUMN `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识' AFTER `update_time`; - --- ================================================================= --- V3脚本结束 --- ================================================================= - diff --git a/V4__add_image_fields_to_ai_task.sql b/V4__add_image_fields_to_ai_task.sql deleted file mode 100644 index 128a828..0000000 --- a/V4__add_image_fields_to_ai_task.sql +++ /dev/null @@ -1,21 +0,0 @@ --- ============================================================ --- V4: 为AI任务表添加图片参数支持 --- 描述: 支持图生视频功能,允许用户上传参考图片 --- 作者: 1818AI --- 日期: 2025-10-20 --- ============================================================ - --- 添加图片相关字段到ai_task表 -ALTER TABLE `ai_task` -ADD COLUMN `image_url` VARCHAR(500) NULL COMMENT '参考图片URL(用于图生视频)' AFTER `prompt`, -ADD COLUMN `image_base64` TEXT NULL COMMENT '参考图片Base64编码(用于图生视频)' AFTER `image_url`, -ADD COLUMN `aspect_ratio` VARCHAR(10) NULL COMMENT '图片宽高比(如2:3, 3:2, 1:1)' AFTER `image_base64`; - --- 添加索引以优化查询性能 -CREATE INDEX `idx_task_type` ON `ai_task`(`task_type`); - --- 记录迁移日志 -INSERT INTO `migration_log` (`version`, `description`, `executed_at`) -VALUES ('V4', '为AI任务表添加图片参数支持(图生视频功能)', NOW()) -ON DUPLICATE KEY UPDATE `executed_at` = NOW(); - diff --git a/V4__add_image_fields_to_ai_task_FIXED.sql b/V4__add_image_fields_to_ai_task_FIXED.sql deleted file mode 100644 index 0d4080d..0000000 --- a/V4__add_image_fields_to_ai_task_FIXED.sql +++ /dev/null @@ -1,94 +0,0 @@ --- ============================================================ --- V4: 为AI任务表添加图片参数支持(修复版) --- 描述: 支持图生视频功能,允许用户上传参考图片 --- 作者: 1818AI --- 日期: 2025-10-20 --- ============================================================ - --- 指定数据库 -USE `1818ai`; - --- 1. 添加 image_url 字段(如果不存在) -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'ai_task' - AND COLUMN_NAME = 'image_url' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `ai_task` ADD COLUMN `image_url` VARCHAR(500) NULL COMMENT ''参考图片URL(用于图生视频)'' AFTER `prompt`', - 'SELECT ''Column image_url already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 添加 image_base64 字段(如果不存在) -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'ai_task' - AND COLUMN_NAME = 'image_base64' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `ai_task` ADD COLUMN `image_base64` TEXT NULL COMMENT ''参考图片Base64编码(用于图生视频)'' AFTER `image_url`', - 'SELECT ''Column image_base64 already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 添加 aspect_ratio 字段(如果不存在) -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'ai_task' - AND COLUMN_NAME = 'aspect_ratio' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `ai_task` ADD COLUMN `aspect_ratio` VARCHAR(10) NULL COMMENT ''图片宽高比(如2:3, 3:2, 1:1)'' AFTER `image_base64`', - 'SELECT ''Column aspect_ratio already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 4. 添加索引(如果不存在) -SET @index_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.STATISTICS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'ai_task' - AND INDEX_NAME = 'idx_task_type' -); - -SET @sql = IF(@index_exists = 0, - 'CREATE INDEX `idx_task_type` ON `ai_task`(`task_type`)', - 'SELECT ''Index idx_task_type already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 5. 验证字段是否添加成功 -SELECT - COLUMN_NAME, - COLUMN_TYPE, - IS_NULLABLE, - COLUMN_COMMENT -FROM INFORMATION_SCHEMA.COLUMNS -WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'ai_task' - AND COLUMN_NAME IN ('image_url', 'image_base64', 'aspect_ratio') -ORDER BY ORDINAL_POSITION; - --- ============================================================ --- V4脚本结束 --- ============================================================ - diff --git a/V5_MIGRATION_FIX_GUIDE.md b/V5_MIGRATION_FIX_GUIDE.md deleted file mode 100644 index 319254d..0000000 --- a/V5_MIGRATION_FIX_GUIDE.md +++ /dev/null @@ -1,367 +0,0 @@ -# V5 数据库迁移修复指南 - -**问题:** 执行V5迁移脚本时出现 `#1060 - Duplicate column name 'provider_type'` 错误 - -**原因:** -1. `provider_type` 列已经存在(之前执行过V5的ALTER TABLE部分) -2. V5中插入的RunningHub模型的 `provider_type` 值为空字符串 `''`,应该是 `'runninghub'` - ---- - -## 📋 解决方案 - -### 方案1:修复现有数据库(推荐) - -如果你已经执行过V5脚本的ALTER TABLE部分,只需要更新数据: - -```bash -# 1. 执行修复脚本 -mysql -u root -p 1818ai < FIX_V5_provider_type.sql -``` - -**修复脚本内容:** -```sql --- 更新所有RunningHub模型的provider_type -UPDATE `points_config` -SET `provider_type` = 'runninghub' -WHERE `model_name` LIKE 'rh_sora2_%' - AND (`provider_type` = '' OR `provider_type` IS NULL); - --- 验证更新结果 -SELECT model_name, provider_type, description -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; -``` - -**验证步骤:** -```sql --- 1. 检查列是否存在 -SHOW COLUMNS FROM `points_config` LIKE 'provider_type'; -SHOW COLUMNS FROM `ai_task` LIKE 'provider_type'; - --- 2. 检查RunningHub模型配置 -SELECT model_name, provider_type, points_cost, description -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; - --- 预期结果:12个模型,provider_type都是'runninghub' -``` - ---- - -### 方案2:从头执行(全新数据库) - -如果是全新的数据库或需要重新迁移,使用修正版脚本: - -```bash -# 使用修正版脚本 -mysql -u root -p 1818ai < V5__add_provider_support_CORRECTED.sql -``` - -**修正版特点:** -- ✅ 使用 `ADD COLUMN IF NOT EXISTS` 避免重复列错误 -- ✅ 使用 `CREATE INDEX IF NOT EXISTS` 避免重复索引错误 -- ✅ `provider_type` 值正确设置为 `'runninghub'` -- ✅ ON DUPLICATE KEY UPDATE 包含所有必要字段 - ---- - -## 🔍 问题诊断 - -### 检查当前数据库状态 - -```sql --- 1. 检查points_config表结构 -DESC `points_config`; - --- 2. 检查是否有provider_type列 -SELECT COUNT(*) as has_column -FROM INFORMATION_SCHEMA.COLUMNS -WHERE TABLE_SCHEMA = '1818ai' - AND TABLE_NAME = 'points_config' - AND COLUMN_NAME = 'provider_type'; --- 结果为1表示列已存在,0表示不存在 - --- 3. 检查现有RunningHub模型的provider_type值 -SELECT - model_name, - provider_type, - CASE - WHEN provider_type = '' THEN '空字符串(错误)' - WHEN provider_type = 'runninghub' THEN '正确' - WHEN provider_type IS NULL THEN 'NULL(错误)' - ELSE CONCAT('其他值: ', provider_type) - END as status -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; - --- 4. 检查是否有RunningHub模型记录 -SELECT COUNT(*) as runninghub_model_count -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; --- 应该是12个 -``` - ---- - -## 📝 分步修复流程 - -### 步骤1:备份数据库 - -```bash -# 备份整个数据库 -mysqldump -u root -p 1818ai > backup_before_v5_fix_$(date +%Y%m%d_%H%M%S).sql - -# 只备份points_config表 -mysqldump -u root -p 1818ai points_config > backup_points_config_$(date +%Y%m%d_%H%M%S).sql -``` - -### 步骤2:检查表结构 - -```sql --- 检查points_config是否有provider相关列 -SHOW COLUMNS FROM `points_config` WHERE Field IN ('provider_type', 'provider_config'); - --- 检查ai_task是否有provider相关列 -SHOW COLUMNS FROM `ai_task` WHERE Field IN ('provider_type', 'provider_task_id', 'provider_response'); -``` - -**预期结果:** -``` --- points_config应该有: -provider_type | varchar(50) | NO | | openai -provider_config | text | YES | | NULL - --- ai_task应该有: -provider_type | varchar(50) | YES | | NULL -provider_task_id | varchar(100) | YES | | NULL -provider_response | text | YES | | NULL -``` - -### 步骤3:根据情况执行修复 - -**情况A:列已存在,但RunningHub模型的provider_type值错误** -```sql --- 直接执行修复脚本 -source FIX_V5_provider_type.sql; -``` - -**情况B:列不存在** -```sql --- 执行完整的V5脚本(建议使用修正版) -source V5__add_provider_support_CORRECTED.sql; -``` - -**情况C:部分列存在** -```sql --- 1. 手动添加缺失的列 -ALTER TABLE `points_config` -ADD COLUMN IF NOT EXISTS `provider_type` VARCHAR(50) NOT NULL DEFAULT 'openai' - COMMENT 'AI服务提供商类型' AFTER `is_enabled`, -ADD COLUMN IF NOT EXISTS `provider_config` TEXT NULL - COMMENT '服务商特定配置(JSON格式)' AFTER `provider_type`; - -ALTER TABLE `ai_task` -ADD COLUMN IF NOT EXISTS `provider_type` VARCHAR(50) NULL - COMMENT 'AI服务提供商类型' AFTER `task_type`, -ADD COLUMN IF NOT EXISTS `provider_task_id` VARCHAR(100) NULL - COMMENT '服务商返回的任务ID' AFTER `provider_type`, -ADD COLUMN IF NOT EXISTS `provider_response` TEXT NULL - COMMENT '服务商原始响应(JSON)' AFTER `provider_task_id`; - --- 2. 执行修复脚本 -source FIX_V5_provider_type.sql; -``` - -### 步骤4:验证修复结果 - -```sql --- 1. 检查RunningHub模型数量 -SELECT COUNT(*) as count -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; --- 预期:12 - --- 2. 检查provider_type值 -SELECT - COUNT(*) as total, - SUM(CASE WHEN provider_type = 'runninghub' THEN 1 ELSE 0 END) as correct, - SUM(CASE WHEN provider_type != 'runninghub' THEN 1 ELSE 0 END) as incorrect -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; --- 预期:total=12, correct=12, incorrect=0 - --- 3. 查看所有RunningHub模型 -SELECT model_name, provider_type, points_cost, description -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%' -ORDER BY points_cost, model_name; - --- 预期输出: -/* -model_name | provider_type | points_cost | description -----------------------------|---------------|-------------|--------------------------- -rh_sora2_text_portrait | runninghub | 160 | RunningHub Sora2 文生视频-竖屏(10秒) -rh_sora2_text_landscape | runninghub | 160 | RunningHub Sora2 文生视频-横屏(10秒) -rh_sora2_img_portrait | runninghub | 180 | RunningHub Sora2 图生视频-竖屏(10秒) -rh_sora2_img_landscape | runninghub | 180 | RunningHub Sora2 图生视频-横屏(10秒) -...(共12条) -*/ - --- 4. 检查provider_config是否为有效JSON -SELECT - model_name, - provider_config, - CASE - WHEN JSON_VALID(provider_config) THEN '有效JSON' - ELSE '无效JSON' - END as json_status -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; --- 所有记录的json_status应该是'有效JSON' -``` - ---- - -## ⚠️ 常见错误处理 - -### 错误1:Duplicate column name 'provider_type' - -**错误信息:** -``` -#1060 - Duplicate column name 'provider_type' -``` - -**原因:** 列已经存在 - -**解决:** -```sql --- 跳过ALTER TABLE,直接执行修复脚本 -source FIX_V5_provider_type.sql; -``` - ---- - -### 错误2:Duplicate entry for key 'PRIMARY' - -**错误信息:** -``` -#1062 - Duplicate entry 'rh_sora2_text_portrait' for key 'PRIMARY' -``` - -**原因:** RunningHub模型已经插入过 - -**解决:** -```sql --- 使用UPDATE而非INSERT -UPDATE `points_config` -SET - provider_type = 'runninghub', - provider_config = '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait","duration":10}', - update_time = NOW() -WHERE model_name = 'rh_sora2_text_portrait'; - --- 或者直接执行修复脚本(批量更新) -source FIX_V5_provider_type.sql; -``` - ---- - -### 错误3:provider_type值为空字符串 - -**症状:** -```sql -SELECT model_name, provider_type -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; - --- 结果:provider_type显示为空或'' -``` - -**解决:** -```sql --- 执行修复脚本 -source FIX_V5_provider_type.sql; -``` - ---- - -## ✅ 验证清单 - -修复完成后,确认以下所有项: - -- [ ] `points_config` 表有 `provider_type` 和 `provider_config` 列 -- [ ] `ai_task` 表有 `provider_type`、`provider_task_id`、`provider_response` 列 -- [ ] 有12个RunningHub模型记录 -- [ ] 所有RunningHub模型的 `provider_type` 值为 `'runninghub'` -- [ ] 所有RunningHub模型的 `provider_config` 是有效的JSON -- [ ] 索引 `idx_provider_task_id` 和 `idx_provider_type_status` 存在 - -**验证命令:** -```bash -# 执行完整验证 -mysql -u root -p 1818ai << 'EOF' --- 1. 检查列 -SELECT 'points_config columns' as check_item, COUNT(*) as result -FROM INFORMATION_SCHEMA.COLUMNS -WHERE TABLE_SCHEMA = '1818ai' AND TABLE_NAME = 'points_config' - AND COLUMN_NAME IN ('provider_type', 'provider_config'); --- 预期:2 - -SELECT 'ai_task columns' as check_item, COUNT(*) as result -FROM INFORMATION_SCHEMA.COLUMNS -WHERE TABLE_SCHEMA = '1818ai' AND TABLE_NAME = 'ai_task' - AND COLUMN_NAME IN ('provider_type', 'provider_task_id', 'provider_response'); --- 预期:3 - --- 2. 检查RunningHub模型 -SELECT 'RunningHub models' as check_item, COUNT(*) as result -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; --- 预期:12 - --- 3. 检查provider_type正确性 -SELECT 'Correct provider_type' as check_item, COUNT(*) as result -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%' AND `provider_type` = 'runninghub'; --- 预期:12 - --- 4. 检查索引 -SELECT 'Indexes' as check_item, COUNT(*) as result -FROM INFORMATION_SCHEMA.STATISTICS -WHERE TABLE_SCHEMA = '1818ai' AND TABLE_NAME = 'ai_task' - AND INDEX_NAME IN ('idx_provider_task_id', 'idx_provider_type_status'); --- 预期:2(至少) - -EOF -``` - ---- - -## 📞 技术支持 - -如果遇到其他问题,请提供以下信息: - -```sql --- 1. 数据库版本 -SELECT VERSION(); - --- 2. 表结构 -SHOW CREATE TABLE `points_config`; -SHOW CREATE TABLE `ai_task`; - --- 3. 现有数据 -SELECT model_name, provider_type, provider_config -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%' OR model_name LIKE 'sora_%'; - --- 4. 错误信息截图 -``` - ---- - -**修复完成!** ✅ - -执行完修复脚本后,系统应该可以正常使用RunningHub功能了。 - - diff --git a/V5__add_provider_support.sql b/V5__add_provider_support.sql deleted file mode 100644 index e502653..0000000 --- a/V5__add_provider_support.sql +++ /dev/null @@ -1,82 +0,0 @@ --- ============================================================ --- V5: 添加多AI服务提供商支持 --- 描述: 支持接入多个AI服务提供商(OpenAI格式、等) --- 作者: 1818AI --- 日期: 2025-10-20 --- ============================================================ - --- 1. 扩展points_config表,添加服务商配置 -ALTER TABLE `points_config` -ADD COLUMN `provider_type` VARCHAR(50) NOT NULL DEFAULT 'openai' - COMMENT 'AI服务提供商类型:openai, ' AFTER `is_enabled`, -ADD COLUMN `provider_config` TEXT NULL - COMMENT '服务商特定配置(JSON格式)' AFTER `provider_type`; - --- 2. 扩展ai_task表,添加服务商相关字段 -ALTER TABLE `ai_task` -ADD COLUMN `provider_type` VARCHAR(50) NULL - COMMENT 'AI服务提供商类型' AFTER `task_type`, -ADD COLUMN `provider_task_id` VARCHAR(100) NULL - COMMENT '服务商返回的任务ID' AFTER `provider_type`, -ADD COLUMN `provider_response` TEXT NULL - COMMENT '服务商原始响应(JSON)' AFTER `provider_task_id`; - --- 3. 添加索引以优化查询性能 -CREATE INDEX `idx_provider_task_id` ON `ai_task`(`provider_task_id`); -CREATE INDEX `idx_provider_type_status` ON `ai_task`(`provider_type`, `status`); - --- 4. 更新现有数据,设置默认provider_type为openai -UPDATE `ai_task` SET `provider_type` = 'openai' WHERE `provider_type` IS NULL; -UPDATE `points_config` SET `provider_type` = 'openai' WHERE `provider_type` = 'openai'; - --- 5. 插入模型配置(文生视频 + 图生视频) -INSERT INTO `points_config` -(model_name, points_cost, description, is_enabled, provider_type, provider_config, create_time, update_time) -VALUES --- Sora2 文生视频(webappId: 1973555977595301890) -('rh_sora2_text_portrait', 160, ' Sora2 文生视频-竖屏(10秒)', 1, '', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait","duration":10}', NOW(), NOW()), - -('rh_sora2_text_landscape', 160, ' Sora2 文生视频-横屏(10秒)', 1, '', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"landscape","duration":10}', NOW(), NOW()), - -('rh_sora2_text_portrait_hd', 420, ' Sora2 文生视频-高清竖屏(10秒)', 1, '', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait-hd","duration":10}', NOW(), NOW()), - -('rh_sora2_text_landscape_hd', 420, ' Sora2 文生视频-高清横屏(10秒)', 1, '', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"landscape-hd","duration":10}', NOW(), NOW()), - --- Sora2 图生视频(webappId: 1973555366057390081) -('rh_sora2_img_portrait', 180, ' Sora2 图生视频-竖屏(10秒)', 1, '', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"portrait","duration":10}', NOW(), NOW()), - -('rh_sora2_img_landscape', 180, ' Sora2 图生视频-横屏(10秒)', 1, '', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"landscape","duration":10}', NOW(), NOW()), - -('rh_sora2_img_portrait_hd', 480, ' Sora2 图生视频-高清竖屏(10秒)', 1, '', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"portrait-hd","duration":10}', NOW(), NOW()), - -('rh_sora2_img_landscape_hd', 480, ' Sora2 图生视频-高清横屏(10秒)', 1, '', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"landscape-hd","duration":10}', NOW(), NOW()), - --- 15秒版本 -('rh_sora2_text_portrait_15s', 260, ' Sora2 文生视频-竖屏(15秒)', 1, '', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait","duration":15}', NOW(), NOW()), - -('rh_sora2_text_landscape_15s', 260, ' Sora2 文生视频-横屏(15秒)', 1, '', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"landscape","duration":15}', NOW(), NOW()), - -('rh_sora2_img_portrait_15s', 280, ' Sora2 图生视频-竖屏(15秒)', 1, '', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"portrait","duration":15}', NOW(), NOW()), - -('rh_sora2_img_landscape_15s', 280, ' Sora2 图生视频-横屏(15秒)', 1, '', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"landscape","duration":15}', NOW(), NOW()) -ON DUPLICATE KEY UPDATE - description = VALUES(description), - provider_config = VALUES(provider_config); - --- 6. 记录迁移日志 -INSERT INTO `migration_log` (`version`, `description`, `executed_at`) -VALUES ('V5', '添加多AI服务提供商支持(OpenAI、)', NOW()) -ON DUPLICATE KEY UPDATE `executed_at` = NOW(); - diff --git a/V5__add_provider_support_CORRECTED.sql b/V5__add_provider_support_CORRECTED.sql deleted file mode 100644 index f6b7014..0000000 --- a/V5__add_provider_support_CORRECTED.sql +++ /dev/null @@ -1,89 +0,0 @@ --- ============================================================ --- V5: 添加多AI服务提供商支持(修正版) --- 描述: 支持接入多个AI服务提供商(OpenAI、RunningHub等) --- 作者: 1818AI --- 日期: 2025-10-20 --- ============================================================ - --- 1. 扩展points_config表,添加服务商配置 -ALTER TABLE `points_config` -ADD COLUMN IF NOT EXISTS `provider_type` VARCHAR(50) NOT NULL DEFAULT 'openai' - COMMENT 'AI服务提供商类型:openai, runninghub' AFTER `is_enabled`, -ADD COLUMN IF NOT EXISTS `provider_config` TEXT NULL - COMMENT '服务商特定配置(JSON格式)' AFTER `provider_type`; - --- 2. 扩展ai_task表,添加服务商相关字段 -ALTER TABLE `ai_task` -ADD COLUMN IF NOT EXISTS `provider_type` VARCHAR(50) NULL - COMMENT 'AI服务提供商类型' AFTER `task_type`, -ADD COLUMN IF NOT EXISTS `provider_task_id` VARCHAR(100) NULL - COMMENT '服务商返回的任务ID' AFTER `provider_type`, -ADD COLUMN IF NOT EXISTS `provider_response` TEXT NULL - COMMENT '服务商原始响应(JSON)' AFTER `provider_task_id`; - --- 3. 添加索引以优化查询性能(如果不存在) -CREATE INDEX IF NOT EXISTS `idx_provider_task_id` ON `ai_task`(`provider_task_id`); -CREATE INDEX IF NOT EXISTS `idx_provider_type_status` ON `ai_task`(`provider_type`, `status`); - --- 4. 更新现有数据,设置默认provider_type为openai -UPDATE `ai_task` SET `provider_type` = 'openai' WHERE `provider_type` IS NULL; - --- 5. 插入RunningHub模型配置(文生视频 + 图生视频) -INSERT INTO `points_config` -(model_name, points_cost, description, is_enabled, provider_type, provider_config, create_time, update_time) -VALUES --- RunningHub Sora2 文生视频(webappId: 1973555977595301890) -('rh_sora2_text_portrait', 160, 'RunningHub Sora2 文生视频-竖屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait","duration":10}', NOW(), NOW()), - -('rh_sora2_text_landscape', 160, 'RunningHub Sora2 文生视频-横屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"landscape","duration":10}', NOW(), NOW()), - -('rh_sora2_text_portrait_hd', 420, 'RunningHub Sora2 文生视频-高清竖屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait-hd","duration":10}', NOW(), NOW()), - -('rh_sora2_text_landscape_hd', 420, 'RunningHub Sora2 文生视频-高清横屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"landscape-hd","duration":10}', NOW(), NOW()), - --- RunningHub Sora2 图生视频(webappId: 1973555366057390081) -('rh_sora2_img_portrait', 180, 'RunningHub Sora2 图生视频-竖屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"portrait","duration":10}', NOW(), NOW()), - -('rh_sora2_img_landscape', 180, 'RunningHub Sora2 图生视频-横屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"landscape","duration":10}', NOW(), NOW()), - -('rh_sora2_img_portrait_hd', 480, 'RunningHub Sora2 图生视频-高清竖屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"portrait-hd","duration":10}', NOW(), NOW()), - -('rh_sora2_img_landscape_hd', 480, 'RunningHub Sora2 图生视频-高清横屏(10秒)', 1, 'runninghub', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"landscape-hd","duration":10}', NOW(), NOW()), - --- 15秒版本 -('rh_sora2_text_portrait_15s', 260, 'RunningHub Sora2 文生视频-竖屏(15秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"portrait","duration":15}', NOW(), NOW()), - -('rh_sora2_text_landscape_15s', 260, 'RunningHub Sora2 文生视频-横屏(15秒)', 1, 'runninghub', - '{"webappId":"1973555977595301890","taskType":"text2video","model":"landscape","duration":15}', NOW(), NOW()), - -('rh_sora2_img_portrait_15s', 280, 'RunningHub Sora2 图生视频-竖屏(15秒)', 1, 'runninghub', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"portrait","duration":15}', NOW(), NOW()), - -('rh_sora2_img_landscape_15s', 280, 'RunningHub Sora2 图生视频-横屏(15秒)', 1, 'runninghub', - '{"webappId":"1973555366057390081","taskType":"image2video","model":"landscape","duration":15}', NOW(), NOW()) -ON DUPLICATE KEY UPDATE - description = VALUES(description), - points_cost = VALUES(points_cost), - provider_type = VALUES(provider_type), - provider_config = VALUES(provider_config), - update_time = NOW(); - --- 6. 验证插入结果 -SELECT model_name, provider_type, points_cost, description -FROM `points_config` -WHERE `model_name` LIKE 'rh_sora2_%'; - --- 7. 记录迁移日志 -INSERT INTO `migration_log` (`version`, `description`, `executed_at`) -VALUES ('V5', '添加多AI服务提供商支持(OpenAI、RunningHub)', NOW()) -ON DUPLICATE KEY UPDATE `executed_at` = NOW(); - diff --git a/V6__add_points_recharge_system.sql b/V6__add_points_recharge_system.sql deleted file mode 100644 index 176836a..0000000 --- a/V6__add_points_recharge_system.sql +++ /dev/null @@ -1,174 +0,0 @@ --- ============================================================ --- V6: 添加积分充值系统 --- 描述: 支持用户直接购买积分(支付宝/微信支付) --- 作者: 1818AI --- 日期: 2025-10-21 --- ============================================================ - --- 1. 创建积分套餐表 -CREATE TABLE IF NOT EXISTS `points_package` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) NOT NULL COMMENT '套餐名称', - `description` varchar(255) DEFAULT NULL COMMENT '套餐描述', - `points` int NOT NULL COMMENT '基础积分数量', - `bonus_points` int NOT NULL DEFAULT 0 COMMENT '赠送积分数量', - `total_points` int NOT NULL COMMENT '总积分(基础+赠送)', - `price` decimal(10,2) NOT NULL COMMENT '价格(元)', - `original_price` decimal(10,2) DEFAULT NULL COMMENT '原价(用于显示优惠)', - `points_expire_days` int NOT NULL DEFAULT 365 COMMENT '积分有效期(天)', - `discount_label` varchar(32) DEFAULT NULL COMMENT '优惠标签(如:首充特惠、限时优惠)', - `sort_order` int NOT NULL DEFAULT 0 COMMENT '排序(数字越小越靠前)', - `is_hot` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否热门推荐', - `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否上架', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', - PRIMARY KEY (`id`), - KEY `idx_points_package_active` (`is_active`), - KEY `idx_points_package_sort` (`sort_order`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分套餐表'; - --- 2. 扩展订单表,添加积分订单相关字段(使用IF NOT EXISTS避免重复) --- 检查并添加 order_type 字段 -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'order' - AND COLUMN_NAME = 'order_type' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `order` ADD COLUMN `order_type` tinyint NOT NULL DEFAULT 1 COMMENT ''订单类型(1-会员订单/2-积分订单)'' AFTER `order_no`', - 'SELECT ''Column order_type already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 检查并添加 points_package_id 字段 -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'order' - AND COLUMN_NAME = 'points_package_id' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `order` ADD COLUMN `points_package_id` bigint DEFAULT NULL COMMENT ''积分套餐ID(积分订单)'' AFTER `plan_id`', - 'SELECT ''Column points_package_id already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 检查并添加 points_amount 字段 -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'order' - AND COLUMN_NAME = 'points_amount' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `order` ADD COLUMN `points_amount` int DEFAULT NULL COMMENT ''积分数量(积分订单)'' AFTER `points_package_id`', - 'SELECT ''Column points_amount already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 添加索引(如果不存在) -SET @index_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.STATISTICS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'order' - AND INDEX_NAME = 'idx_order_type' -); - -SET @sql = IF(@index_exists = 0, - 'CREATE INDEX `idx_order_type` ON `order`(`order_type`)', - 'SELECT ''Index idx_order_type already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SET @index_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.STATISTICS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'order' - AND INDEX_NAME = 'idx_order_points_package' -); - -SET @sql = IF(@index_exists = 0, - 'CREATE INDEX `idx_order_points_package` ON `order`(`points_package_id`)', - 'SELECT ''Index idx_order_points_package already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 扩展积分消费记录表,支持充值类型 --- points_consumption_log 表已存在,只需确保支持 change_type='recharge' --- 修改注释以明确支持的类型 -ALTER TABLE `points_consumption_log` -MODIFY COLUMN `change_type` varchar(32) NOT NULL - COMMENT '变动类型 (recharge:充值, consume:消费, refund:退款, expire:过期, admin_adjust:管理员调整)'; - --- 4. 插入默认积分套餐数据 -INSERT INTO `points_package` -(name, description, points, bonus_points, total_points, price, original_price, points_expire_days, discount_label, sort_order, is_hot, is_active) -VALUES --- 基础套餐 -('体验包', '新手体验,小额充值', 100, 0, 100, 10.00, NULL, 365, NULL, 1, 0, 1), -('标准包', '日常使用推荐', 500, 50, 550, 48.00, 50.00, 365, '赠送50积分', 2, 1, 1), -('超值包', '性价比之选', 1000, 150, 1150, 88.00, 100.00, 365, '赠送150积分', 3, 1, 1), -('豪华包', '重度用户首选', 3000, 500, 3500, 258.00, 300.00, 365, '赠送500积分', 4, 0, 1), -('至尊包', '超值优惠', 5000, 1000, 6000, 398.00, 500.00, 365, '赠送1000积分', 5, 1, 1), -('旗舰包', '一次购买全年无忧', 10000, 3000, 13000, 688.00, 1000.00, 365, '赠送3000积分', 6, 0, 1) -ON DUPLICATE KEY UPDATE - description = VALUES(description), - points = VALUES(points), - bonus_points = VALUES(bonus_points), - total_points = VALUES(total_points), - price = VALUES(price), - original_price = VALUES(original_price), - update_time = NOW(); - --- 5. 初始化系统配置(积分充值相关) -INSERT INTO `system_config` (`config_key`, `config_value`, `description`) VALUES - ('points.recharge.min_amount', '10.00', '最低充值金额(元)'), - ('points.recharge.max_amount', '10000.00', '最高充值金额(元)'), - ('points.default_expire_days', '365', '默认积分有效期(天)'), - ('points.first_recharge_bonus', '0.1', '首次充值额外赠送比例(10%)') -ON DUPLICATE KEY UPDATE `config_value` = VALUES(`config_value`); - --- 6. 创建积分充值统计视图(便于管理员查看) -CREATE OR REPLACE VIEW `v_points_recharge_stats` AS -SELECT - DATE(o.create_time) as recharge_date, - COUNT(o.id) as order_count, - SUM(o.amount) as total_amount, - SUM(o.points_amount) as total_points, - AVG(o.amount) as avg_amount -FROM `order` o -WHERE o.order_type = 2 - AND o.status = 1 - AND o.is_deleted = 0 -GROUP BY DATE(o.create_time) -ORDER BY recharge_date DESC; - --- 7. 记录迁移日志 -INSERT INTO `migration_log` (`version`, `description`, `executed_at`) -VALUES ('V6', '添加积分充值系统(积分套餐、支付购买)', NOW()) -ON DUPLICATE KEY UPDATE `executed_at` = NOW(); - --- ============================================================ --- V6脚本结束 --- ============================================================ - diff --git a/V7__add_task_type_to_points_config.sql b/V7__add_task_type_to_points_config.sql deleted file mode 100644 index fe54750..0000000 --- a/V7__add_task_type_to_points_config.sql +++ /dev/null @@ -1,157 +0,0 @@ --- ================================================================= --- V7: 为 points_config 表添加 task_type 字段,支持更细致的任务类型分类 --- 时间: 2025-10-22 --- 描述: 添加任务类型字段,区分文生图、图生图、图生视频、文生视频等 --- ================================================================= - --- 指定数据库(请根据实际情况修改数据库名) -USE `1818_user_server`; - --- 1. 添加 task_type 字段(如果不存在) --- 检查字段是否存在,如果不存在则添加 -SET @col_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'points_config' - AND COLUMN_NAME = 'task_type' -); - -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE `points_config` ADD COLUMN `task_type` VARCHAR(50) NULL COMMENT ''任务类型:text_to_image(文生图)/image_to_image(图生图)/text_to_video(文生视频)/image_to_video(图生视频)/llm(大语言模型)/text_to_audio(文生音频)/image_to_text(图生文)/other(其他)'' AFTER `provider_config`', - 'SELECT ''Column task_type already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 根据现有模型名称更新 task_type --- OpenAI 模型(文生图) -UPDATE `points_config` -SET `task_type` = 'text_to_image' -WHERE `model_name` IN ('sora_image', 'gpt-4o-image') - AND `task_type` IS NULL; - --- RunningHub Sora2 文生视频模型(竖屏/横屏,10秒/15秒) -UPDATE `points_config` -SET `task_type` = 'text_to_video' -WHERE `model_name` IN ( - 'sora_video2', -- 竖屏10秒 - 'sora_video2-landscape', -- 横屏10秒 - 'sora_video2-15s', -- 竖屏15秒 - 'sora_video2-landscape-15s', -- 横屏15秒 - 'rh_sora2_text_portrait', -- RunningHub 文生视频-竖屏 - 'rh_sora2_text_landscape', -- RunningHub 文生视频-横屏 - 'rh_sora2_text_portrait_hd', -- RunningHub 文生视频-高清竖屏 - 'rh_sora2_text_landscape_hd', -- RunningHub 文生视频-高清横屏 - 'rh_sora2_text_portrait_15s', -- RunningHub 文生视频-竖屏15秒 - 'rh_sora2_text_landscape_15s' -- RunningHub 文生视频-横屏15秒 -) AND `task_type` IS NULL; - --- RunningHub Sora2 图生视频模型 -UPDATE `points_config` -SET `task_type` = 'image_to_video' -WHERE `model_name` IN ( - 'rh_sora2_img_portrait', -- RunningHub 图生视频-竖屏 - 'rh_sora2_img_landscape', -- RunningHub 图生视频-横屏 - 'rh_sora2_img_portrait_hd', -- RunningHub 图生视频-高清竖屏 - 'rh_sora2_img_landscape_hd', -- RunningHub 图生视频-高清横屏 - 'rh_sora2_img_portrait_15s', -- RunningHub 图生视频-竖屏15秒 - 'rh_sora2_img_landscape_15s' -- RunningHub 图生视频-横屏15秒 -) AND `task_type` IS NULL; - --- RunningHub Sora Pro 高清视频 -UPDATE `points_config` -SET `task_type` = 'text_to_video' -WHERE `model_name` = 'sora-2-pro-all' - AND `task_type` IS NULL; - --- 3. 添加新的模型配置示例(可选) --- 如果需要添加更多模型类型,可以在这里插入 - --- 文生图模型示例 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`, `provider_type`, `task_type`) VALUES - ('dall-e-3', 15, 'DALL-E 3 高质量图片生成', 0, 'openai', 'text_to_image'), - ('midjourney-v6', 20, 'Midjourney V6 艺术图片生成', 0, 'midjourney', 'text_to_image'), - ('rh_dalle-3', 12, 'RunningHub DALL-E 3 图片生成', 1, 'runninghub', 'text_to_image'), - ('rh_midjourney', 18, 'RunningHub Midjourney 图片生成', 1, 'runninghub', 'text_to_image') -ON DUPLICATE KEY UPDATE - `task_type` = VALUES(`task_type`), - `description` = VALUES(`description`); - --- 图生图模型示例 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`, `provider_type`, `task_type`) VALUES - ('stable-diffusion-img2img', 12, 'Stable Diffusion 图片转换', 0, 'stability', 'image_to_image') -ON DUPLICATE KEY UPDATE - `task_type` = VALUES(`task_type`), - `description` = VALUES(`description`); - --- LLM大语言模型示例 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`, `provider_type`, `task_type`) VALUES - ('gpt-4-turbo', 5, 'GPT-4 Turbo 对话模型', 0, 'openai', 'llm'), - ('claude-3-opus', 6, 'Claude 3 Opus 对话模型', 0, 'anthropic', 'llm'), - ('gemini-pro', 4, 'Google Gemini Pro 对话模型', 0, 'google', 'llm') -ON DUPLICATE KEY UPDATE - `task_type` = VALUES(`task_type`), - `description` = VALUES(`description`); - --- 文生音频模型示例 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`, `provider_type`, `task_type`) VALUES - ('tts-1', 3, 'OpenAI TTS 语音合成', 0, 'openai', 'text_to_audio'), - ('elevenlabs-tts', 4, 'ElevenLabs 高质量语音合成', 0, 'elevenlabs', 'text_to_audio') -ON DUPLICATE KEY UPDATE - `task_type` = VALUES(`task_type`), - `description` = VALUES(`description`); - --- 图生文模型示例 -INSERT INTO `points_config` (`model_name`, `points_cost`, `description`, `is_enabled`, `provider_type`, `task_type`) VALUES - ('gpt-4-vision', 8, 'GPT-4 Vision 图片理解', 0, 'openai', 'image_to_text'), - ('claude-3-vision', 7, 'Claude 3 图片分析', 0, 'anthropic', 'image_to_text') -ON DUPLICATE KEY UPDATE - `task_type` = VALUES(`task_type`), - `description` = VALUES(`description`); - --- 4. 为未分类的模型设置默认类型 -UPDATE `points_config` -SET `task_type` = 'other' -WHERE `task_type` IS NULL; - --- 5. 添加索引以提升查询性能(如果不存在) --- 检查并添加 task_type 索引 -SET @index_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.STATISTICS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'points_config' - AND INDEX_NAME = 'idx_points_config_task_type' -); - -SET @sql = IF(@index_exists = 0, - 'CREATE INDEX `idx_points_config_task_type` ON `points_config`(`task_type`)', - 'SELECT ''Index idx_points_config_task_type already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 检查并添加复合索引 -SET @index_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.STATISTICS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'points_config' - AND INDEX_NAME = 'idx_points_config_provider_task' -); - -SET @sql = IF(@index_exists = 0, - 'CREATE INDEX `idx_points_config_provider_task` ON `points_config`(`provider_type`, `task_type`)', - 'SELECT ''Index idx_points_config_provider_task already exists'' AS info' -); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- ================================================================= --- V7脚本结束 --- ================================================================= - diff --git a/V8__add_suchuang_models.sql b/V8__add_suchuang_models.sql deleted file mode 100644 index a50b8a8..0000000 --- a/V8__add_suchuang_models.sql +++ /dev/null @@ -1,106 +0,0 @@ --- ============================================================ --- V8: 添加速创API(SuChuang)的Sora2模型配置 --- 描述: 速创API只有一个Sora2接口,通过参数区分不同功能 --- 作者: 1818AI --- 日期: 2025-10-23 --- ============================================================ - -USE `1818ai`; - --- 插入速创Sora2模型配置 --- 速创不区分具体模型,通过参数控制:aspectRatio, duration, size, url(图生视频时) - --- 文生视频模型(8个) --- 9:16 竖屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2_text_portrait_10s_small', '速创Sora2 文生视频-竖屏-10秒-标清', 80, 'suchuang', - '{"aspectRatio":"9:16","duration":"10","size":"small"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2_text_portrait_10s_large', '速创Sora2 文生视频-竖屏-10秒-高清', 200, 'suchuang', - '{"aspectRatio":"9:16","duration":"10","size":"large"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2_text_portrait_15s_small', '速创Sora2 文生视频-竖屏-15秒-标清', 130, 'suchuang', - '{"aspectRatio":"9:16","duration":"15","size":"small"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2_text_portrait_15s_large', '速创Sora2 文生视频-竖屏-15秒-高清', 320, 'suchuang', - '{"aspectRatio":"9:16","duration":"15","size":"large"}', - 'text_to_video', 1, NOW(), NOW()); - --- 16:9 横屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2_text_landscape_10s_small', '速创Sora2 文生视频-横屏-10秒-标清', 80, 'suchuang', - '{"aspectRatio":"16:9","duration":"10","size":"small"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2_text_landscape_10s_large', '速创Sora2 文生视频-横屏-10秒-高清', 200, 'suchuang', - '{"aspectRatio":"16:9","duration":"10","size":"large"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2_text_landscape_15s_small', '速创Sora2 文生视频-横屏-15秒-标清', 130, 'suchuang', - '{"aspectRatio":"16:9","duration":"15","size":"small"}', - 'text_to_video', 1, NOW(), NOW()), - -('sc_sora2_text_landscape_15s_large', '速创Sora2 文生视频-横屏-15秒-高清', 320, 'suchuang', - '{"aspectRatio":"16:9","duration":"15","size":"large"}', - 'text_to_video', 1, NOW(), NOW()); - --- 图生视频模型(8个) --- 9:16 竖屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2_img_portrait_10s_small', '速创Sora2 图生视频-竖屏-10秒-标清', 90, 'suchuang', - '{"aspectRatio":"9:16","duration":"10","size":"small","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2_img_portrait_10s_large', '速创Sora2 图生视频-竖屏-10秒-高清', 240, 'suchuang', - '{"aspectRatio":"9:16","duration":"10","size":"large","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2_img_portrait_15s_small', '速创Sora2 图生视频-竖屏-15秒-标清', 140, 'suchuang', - '{"aspectRatio":"9:16","duration":"15","size":"small","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2_img_portrait_15s_large', '速创Sora2 图生视频-竖屏-15秒-高清', 360, 'suchuang', - '{"aspectRatio":"9:16","duration":"15","size":"large","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()); - --- 16:9 横屏 -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sc_sora2_img_landscape_10s_small', '速创Sora2 图生视频-横屏-10秒-标清', 90, 'suchuang', - '{"aspectRatio":"16:9","duration":"10","size":"small","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2_img_landscape_10s_large', '速创Sora2 图生视频-横屏-10秒-高清', 240, 'suchuang', - '{"aspectRatio":"16:9","duration":"10","size":"large","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2_img_landscape_15s_small', '速创Sora2 图生视频-横屏-15秒-标清', 140, 'suchuang', - '{"aspectRatio":"16:9","duration":"15","size":"small","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()), - -('sc_sora2_img_landscape_15s_large', '速创Sora2 图生视频-横屏-15秒-高清', 360, 'suchuang', - '{"aspectRatio":"16:9","duration":"15","size":"large","requireImage":true}', - 'image_to_video', 1, NOW(), NOW()); - --- 验证插入的模型 -SELECT - model_name, - description, - points_cost, - provider_type, - task_type, - is_enabled -FROM points_config -WHERE provider_type = 'suchuang' -ORDER BY task_type, model_name; - --- ============================================================ --- V8脚本结束 --- ============================================================ - diff --git a/V9__add_suchuang_image_models.sql b/V9__add_suchuang_image_models.sql deleted file mode 100644 index b03e35c..0000000 --- a/V9__add_suchuang_image_models.sql +++ /dev/null @@ -1,128 +0,0 @@ --- ============================================================ --- V9: 添加速创API(SuChuang)的生图模型配置(img/draw) --- 描述: 速创生图接口,支持文生图和图生图,通过size参数控制输出比例 --- 作者: 1818AI --- 日期: 2025-10-26 --- ============================================================ - -USE `1818ai`; - --- 插入速创生图模型配置 --- 速创生图使用 /api/img/draw 接口,通过参数控制: --- - model: "sora-image" (固定) --- - size: "auto" | "1:1" | "2:3" | "3:2" --- - img_url: 可选,用于图生图 - --- ============================================================ --- 文生图模型(text_to_image)- 4个比例 --- ============================================================ - -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES --- 自动比例 -('sc_soraimg_text_auto', '速创生图 文生图-自动比例', 30, 'suchuang', - '{"aspectRatio":"auto","imgSize":"auto"}', - 'text_to_image', 1, NOW(), NOW()), - --- 1:1 正方形 -('sc_soraimg_text_1x1', '速创生图 文生图-正方形(1:1)', 30, 'suchuang', - '{"aspectRatio":"1:1","imgSize":"1:1"}', - 'text_to_image', 1, NOW(), NOW()), - --- 2:3 竖图 -('sc_soraimg_text_2x3', '速创生图 文生图-竖图(2:3)', 30, 'suchuang', - '{"aspectRatio":"2:3","imgSize":"2:3"}', - 'text_to_image', 1, NOW(), NOW()), - --- 3:2 横图 -('sc_soraimg_text_3x2', '速创生图 文生图-横图(3:2)', 30, 'suchuang', - '{"aspectRatio":"3:2","imgSize":"3:2"}', - 'text_to_image', 1, NOW(), NOW()); - --- ============================================================ --- 图生图模型(image_to_image)- 4个比例,需要参考图 --- ============================================================ - -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES --- 自动比例 -('sc_soraimg_img2img_auto', '速创生图 图生图-自动比例', 35, 'suchuang', - '{"aspectRatio":"auto","imgSize":"auto","requireImage":true}', - 'image_to_image', 1, NOW(), NOW()), - --- 1:1 正方形 -('sc_soraimg_img2img_1x1', '速创生图 图生图-正方形(1:1)', 35, 'suchuang', - '{"aspectRatio":"1:1","imgSize":"1:1","requireImage":true}', - 'image_to_image', 1, NOW(), NOW()), - --- 2:3 竖图 -('sc_soraimg_img2img_2x3', '速创生图 图生图-竖图(2:3)', 35, 'suchuang', - '{"aspectRatio":"2:3","imgSize":"2:3","requireImage":true}', - 'image_to_image', 1, NOW(), NOW()), - --- 3:2 横图 -('sc_soraimg_img2img_3x2', '速创生图 图生图-横图(3:2)', 35, 'suchuang', - '{"aspectRatio":"3:2","imgSize":"3:2","requireImage":true}', - 'image_to_image', 1, NOW(), NOW()); - --- ============================================================ --- 兼容旧版本:添加 sora-image 通用模型(自动比例) --- ============================================================ - -INSERT INTO `points_config` (`model_name`, `description`, `points_cost`, `provider_type`, `provider_config`, `task_type`, `is_enabled`, `create_time`, `update_time`) -VALUES -('sora-image', '速创生图 通用模型(兼容)', 30, 'suchuang', - '{"aspectRatio":"auto","imgSize":"auto"}', - 'text_to_image', 1, NOW(), NOW()) -ON DUPLICATE KEY UPDATE - `provider_type` = VALUES(`provider_type`), - `provider_config` = VALUES(`provider_config`), - `task_type` = VALUES(`task_type`), - `description` = VALUES(`description`), - `update_time` = NOW(); - --- ============================================================ --- 验证插入的生图模型 --- ============================================================ - -SELECT - model_name, - description, - points_cost, - provider_type, - task_type, - provider_config, - is_enabled -FROM points_config -WHERE provider_type = 'suchuang' AND task_type IN ('text_to_image', 'image_to_image') -ORDER BY task_type, model_name; - --- ============================================================ --- 使用说明 --- ============================================================ --- --- 文生图示例: --- { --- "modelName": "sc_soraimg_text_1x1", --- "taskType": "text_to_image", --- "prompt": "一个可爱的卡通猫咪", --- "aspectRatio": "1:1" // 可选,会从provider_config读取 --- } --- --- 图生图示例: --- { --- "modelName": "sc_soraimg_img2img_1x1", --- "taskType": "image_to_image", --- "prompt": "把我的图片转化为卡通风格", --- "imageUrl": "https://example.com/image.jpg", --- "aspectRatio": "1:1" // 可选,会从provider_config读取 --- } --- --- img_url 参数支持: --- - 单个字符串: "https://example.com/image.jpg" --- - JSON数组字符串: "[\"https://a.jpg\",\"https://b.jpg\"]" --- --- ============================================================ --- V9脚本结束 --- ============================================================ - diff --git a/WECHAT_PAY_INTEGRATION.md b/WECHAT_PAY_INTEGRATION.md deleted file mode 100644 index 7052ab1..0000000 --- a/WECHAT_PAY_INTEGRATION.md +++ /dev/null @@ -1,480 +0,0 @@ -# 微信支付积分充值集成完成 - -## ✅ 真实微信支付已集成 - -### 实现概览 - -本系统已完整集成真实的微信支付功能,用户可以通过微信支付直接购买积分。 - ---- - -## 🔧 核心实现 - -### 1. 支付下单流程 - -**文件**:`PointsRechargeServiceImpl.java` - -```java -// 真实调用微信支付SDK -PayProduct payProduct = payFactory.init(PayType.WX_V2); - -PayReqVO payReqVO = new PayReqVO(); -payReqVO.setAmounts(order.getAmount()); -payReqVO.setOrderNo(order.getOrderNo()); -payReqVO.setDescription("积分充值 - " + order.getPointsAmount() + "积分"); -payReqVO.setTradeType(request.getTradeType()); // JSAPI/APP -payReqVO.setOpenid(request.getOpenid()); // 用户OpenID -payReqVO.setNotifyUrl(wechatNotifyUrl); // 回调URL - -Map result = payProduct.placeOrder(payReqVO); -``` - -**特点**: -- ✅ 使用现有的微信支付SDK(PayFactory) -- ✅ 支持小程序支付(JSAPI)和APP支付 -- ✅ 自动计算订单金额 -- ✅ 动态生成支付参数 - ---- - -### 2. 支付回调处理 - -**文件**:`PaymentCallbackController.java` - -```java -@RequestMapping("/wechat") -public String wechatCallback(HttpServletRequest request) { - // 1. 验证签名 - boolean signValid = servletAdapter.verifyWxPayCallback(requestMap, mchKey); - - // 2. 查询订单类型 - Order order = orderMapper.selectByOrderNo(orderNo); - - // 3. 根据订单类型处理 - if (order.getOrderType() == 2) { - // 积分订单 - 调用积分充值服务 - pointsRechargeService.handleRechargePaymentSuccess(orderNo); - } else { - // 会员订单 - 调用会员服务 - // ... - } - - return convertMapToXml(createSuccessResponse()); -} -``` - -**特点**: -- ✅ 复用现有的签名验证逻辑 -- ✅ 自动识别订单类型(会员/积分) -- ✅ 金额验证(防篡改) -- ✅ 防重复处理 - ---- - -### 3. 积分到账逻辑 - -**文件**:`PointsRechargeServiceImpl.handleRechargePaymentSuccess()` - -```java -public void handleRechargePaymentSuccess(String orderNo) { - // 1. 查询订单 - Order order = orderMapper.selectByOrderNo(orderNo); - - // 2. 防重复处理 - if (order.getStatus() != 0) { - return; // 已处理过 - } - - // 3. 更新用户积分 - user.setPoints(newPoints); - user.setPointsExpiresAt(newPointsExpiresAt); - userMapper.updateById(user); - - // 4. 记录积分变动日志 - pointsConsumptionLogMapper.insert(log); - - // 5. 更新订单状态 - orderMapper.updateById(order); -} -``` - ---- - -## 📦 API接口 - -### 创建充值订单 - -**接口**:`POST /user/points/recharge` - -**请求示例**: -```json -{ - "packageId": 2, - "paymentMethod": 2, - "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", - "tradeType": "JSAPI" -} -``` - -**参数说明**: -- `packageId`:套餐ID(必填) -- `paymentMethod`:支付方式,固定为 `2`(微信支付) -- `openid`:微信用户OpenID(必填,JSAPI支付) -- `tradeType`:交易类型 - - `JSAPI`:小程序支付(默认) - - `APP`:APP支付 - -**响应示例**: -```json -{ - "code": 200, - "data": { - "orderNo": "ORD20251021123456", - "amount": 48.00, - "pointsAmount": 605, - "paymentMethod": 2, - "paymentParams": "{\"appId\":\"wx123...\",\"timeStamp\":\"1634567890\",\"nonceStr\":\"abc123\",\"package\":\"prepay_id=wx20211021...\",\"signType\":\"RSA\",\"paySign\":\"...\"}" - } -} -``` - -**前端调起支付**: -```javascript -const params = JSON.parse(response.data.paymentParams); - -wx.requestPayment({ - timeStamp: params.timeStamp, - nonceStr: params.nonceStr, - package: params.package, - signType: params.signType, - paySign: params.paySign, - success: function(res) { - console.log('支付成功'); - }, - fail: function(err) { - console.log('支付失败', err); - } -}); -``` - ---- - -### 支付回调 - -**接口**:`POST /payment/callback/wechat` - -**处理流程**: -1. 接收微信服务器通知 -2. 验证签名 -3. 解析回调参数 -4. 验证订单金额 -5. 识别订单类型 -6. 处理积分充值 -7. 返回成功响应 - -**回调URL配置**: -```yaml -# application.yml -wx2: - notifyUrl: https://yourdomain.com/payment/callback/wechat - mchKey: your_mch_key_here -``` - ---- - -## 🔄 完整业务流程 - -``` -用户选择套餐 - ↓ -【前端】获取用户openid - ↓ -【前端】调用充值接口 /user/points/recharge - ↓ -【后端】创建订单(order_type=2) - ↓ -【后端】调用微信支付下单API - ↓ -【后端】返回支付参数给前端 - ↓ -【前端】调起微信支付 wx.requestPayment() - ↓ -【用户】完成微信支付 - ↓ -【微信】异步回调 /payment/callback/wechat - ↓ -【后端】验证签名 ✓ - ↓ -【后端】验证金额 ✓ - ↓ -【后端】识别订单类型 → 积分订单 - ↓ -【后端】增加用户积分 - ↓ -【后端】更新订单状态 → 已完成 - ↓ -【后端】记录积分变动日志 - ↓ -【后端】返回SUCCESS给微信 - ↓ -【前端】查询充值结果 ✓ -``` - ---- - -## 🧪 测试步骤 - -### 1. 小程序端测试 - -```javascript -// 1. 获取用户openid -wx.login({ - success: (res) => { - // 调用后端接口换取openid - fetch('/user/auth/wechat-login', { - method: 'POST', - body: JSON.stringify({ code: res.code }) - }).then(response => { - const openid = response.data.openid; - // 保存openid用于支付 - }); - } -}); - -// 2. 创建充值订单 -fetch('/user/points/recharge', { - method: 'POST', - headers: { - 'Authorization': 'Bearer ' + token, - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - packageId: 2, - paymentMethod: 2, - openid: openid, - tradeType: 'JSAPI' - }) -}).then(response => { - if (response.code === 200) { - const params = JSON.parse(response.data.paymentParams); - - // 3. 调起支付 - wx.requestPayment({ - ...params, - success: () => { - wx.showToast({ title: '充值成功' }); - // 刷新积分余额 - }, - fail: (err) => { - console.error('支付失败', err); - } - }); - } -}); -``` - ---- - -### 2. 开发测试(模拟回调) - -```bash -# 使用测试回调接口 -curl -X POST "http://localhost:8080/payment/callback/test?orderNo=ORD20251021123456" - -# 查看用户积分 -curl -X GET "http://localhost:8080/user/info" \ - -H "Authorization: Bearer YOUR_TOKEN" - -# 查看充值记录 -curl -X GET "http://localhost:8080/user/points/recharge/records?page=1&size=10" \ - -H "Authorization: Bearer YOUR_TOKEN" -``` - ---- - -## ⚙️ 配置说明 - -### application.yml 配置 - -```yaml -# 微信支付配置 -wx2: - appid: wx1234567890abcdef # 小程序AppID - mchId: 1234567890 # 商户号 - mchKey: your_mch_key_32_chars # 商户密钥(32位) - notifyUrl: https://yourdomain.com/payment/callback/wechat # 回调URL - certPath: /path/to/apiclient_cert.p12 # 证书路径(退款用) -``` - -**注意事项**: -1. `notifyUrl` 必须是外网可访问的HTTPS地址 -2. 回调URL需要在微信商户平台配置白名单 -3. 本地开发可以使用内网穿透工具(如ngrok) - ---- - -## 🔐 安全机制 - -### 1. 签名验证 -- ✅ 使用 `ServletAdapter.verifyWxPayCallback()` 验证签名 -- ✅ 防止回调参数被篡改 - -### 2. 金额验证 -```java -BigDecimal paidAmount = new BigDecimal(totalFee).divide(new BigDecimal("100")); -if (order.getAmount().compareTo(paidAmount) != 0) { - return createFailResponse("金额不匹配"); -} -``` - -### 3. 防重复处理 -```java -if (order.getStatus() != 0) { - log.warn("订单已处理过"); - return; // 直接返回,不重复充值 -} -``` - -### 4. 事务保证 -```java -@Transactional(rollbackFor = Exception.class) -public void handleRechargePaymentSuccess(String orderNo) { - // 所有数据库操作在同一事务中 - // 要么全部成功,要么全部回滚 -} -``` - ---- - -## 📊 数据库设计 - -### 订单表扩展 - -```sql -ALTER TABLE `order` -ADD COLUMN `order_type` tinyint DEFAULT 1 COMMENT '1-会员/2-积分', -ADD COLUMN `points_package_id` bigint COMMENT '积分套餐ID', -ADD COLUMN `points_amount` int COMMENT '积分数量'; -``` - -**订单类型识别**: -- `order_type = 1`:会员订单 -- `order_type = 2`:积分订单 - ---- - -## ❓ 常见问题 - -### Q1: 如何获取用户的openid? - -**小程序端**: -```javascript -wx.login({ - success: (res) => { - // 将code发送到后端 - fetch('/user/auth/wechat-login', { - method: 'POST', - body: JSON.stringify({ code: res.code }) - }).then(response => { - const openid = response.data.openid; - // 使用openid创建支付订单 - }); - } -}); -``` - -**后端处理**: -```java -// TODO: 需要实现微信登录接口 -@PostMapping("/user/auth/wechat-login") -public Result> wechatLogin(@RequestBody Map params) { - String code = params.get("code"); - // 调用微信API换取openid - String openid = wechatService.getOpenid(code); - return Result.success(Map.of("openid", openid)); -} -``` - ---- - -### Q2: 支付失败如何处理? - -**系统自动处理**: -- 订单状态自动更新为 `3`(支付失败) -- 用户可以重新发起支付 - -**查看失败订单**: -```sql -SELECT * FROM `order` -WHERE user_id = ? - AND order_type = 2 - AND status = 3 -ORDER BY create_time DESC; -``` - ---- - -### Q3: 如何测试回调? - -**方法1:使用测试回调接口** -```bash -curl -X POST "http://localhost:8080/payment/callback/test?orderNo=ORD123" -``` - -**方法2:使用微信支付沙箱环境** -- 申请沙箱密钥 -- 配置沙箱参数 -- 使用沙箱专用AppID测试 - -**方法3:使用内网穿透** -```bash -# 使用ngrok暴露本地服务 -ngrok http 8080 - -# 配置回调URL -wx2.notifyUrl: https://abc123.ngrok.io/payment/callback/wechat -``` - ---- - -### Q4: 生产环境部署checklist - -- [ ] 配置真实的微信商户号和密钥 -- [ ] 配置HTTPS回调URL -- [ ] 在微信商户平台配置回调URL白名单 -- [ ] 上传支付证书(用于退款) -- [ ] 小额测试(¥0.01) -- [ ] 验证积分到账 -- [ ] 验证首充奖励 -- [ ] 监控日志配置 - ---- - -## 🎯 总结 - -### ✅ 已实现 -1. **真实微信支付下单** - 调用PayFactory SDK -2. **支付参数生成** - 返回给前端调起支付 -3. **支付回调处理** - 验证签名、金额、订单类型 -4. **积分自动到账** - 事务保证数据一致性 -5. **首充奖励** - 自动识别并赠送10% -6. **防重复处理** - 订单状态检查 -7. **完整日志** - 所有关键步骤都有日志记录 - -### 🔧 技术栈 -- 微信支付SDK:PayFactory + PayProduct -- 签名验证:ServletAdapter.verifyWxPayCallback() -- 订单管理:OrderMapper -- 积分管理:PointsRechargeService -- 事务管理:Spring @Transactional - -### 📝 关键文件 -1. `PointsRechargeServiceImpl.java` - 支付下单 -2. `PaymentCallbackController.java` - 支付回调 -3. `PointsRechargeDto.java` - API DTO -4. `V6__add_points_recharge_system.sql` - 数据库迁移 - ---- - -**系统已完全对接真实微信支付,可以直接上线使用!** 🎉 - diff --git a/WebSocket任务通知接收示例.md b/WebSocket任务通知接收示例.md deleted file mode 100644 index d9a1b5e..0000000 --- a/WebSocket任务通知接收示例.md +++ /dev/null @@ -1,789 +0,0 @@ -# WebSocket 任务通知接收示例 - -## 一、WebSocket 配置说明 - -### 后端配置 -- **连接端点**: `/user/websocket`(支持 SockJS 备用方案) -- **用户前缀**: `/user` -- **订阅目的地**: `/user/queue/tasks-progress` -- **协议**: STOMP over WebSocket - -### 消息格式(TaskProgressDto) -```typescript -interface TaskProgressDto { - taskNo: string; // 任务编号 - status: string; // 任务状态: created/queued/processing/completed/failed - progress: number; // 进度百分比 0-100 - message: string; // 进度消息 - resultUrl?: string; // 结果URL(完成时) - errorMessage?: string; // 错误信息(失败时) -} -``` - ---- - -## 二、前端依赖安装 - -### 使用 npm -```bash -npm install @stomp/stompjs sockjs-client -``` - -### 使用 yarn -```bash -yarn add @stomp/stompjs sockjs-client -``` - -### CDN 引入(HTML) -```html - - -``` - ---- - -## 三、基础连接示例 - -### 1. 原生 JavaScript + STOMP.js - -```javascript -// 引入依赖(如果使用模块化) -import SockJS from 'sockjs-client'; -import { Client } from '@stomp/stompjs'; - -// WebSocket 配置 -const WEBSOCKET_URL = 'http://localhost:8081/ws'; -const AUTH_TOKEN = 'YOUR_JWT_TOKEN'; - -// 创建 STOMP 客户端 -const stompClient = new Client({ - // 使用 SockJS 作为 WebSocket 实现 - webSocketFactory: () => new SockJS(WEBSOCKET_URL), - - // 连接头(携带认证信息) - connectHeaders: { - Authorization: `Bearer ${AUTH_TOKEN}` - }, - - // 连接成功回调 - onConnect: (frame) => { - console.log('WebSocket 连接成功:', frame); - - // 订阅任务进度更新 - stompClient.subscribe('/user/queue/tasks-progress', (message) => { - const notification = JSON.parse(message.body); - console.log('收到任务通知:', notification); - - // 处理通知 - handleTaskNotification(notification); - }); - }, - - // 连接失败回调 - onStompError: (frame) => { - console.error('STOMP 错误:', frame); - }, - - // WebSocket 错误回调 - onWebSocketError: (error) => { - console.error('WebSocket 错误:', error); - }, - - // WebSocket 关闭回调 - onWebSocketClose: (event) => { - console.log('WebSocket 连接关闭:', event); - }, - - // 自动重连配置 - reconnectDelay: 5000, // 5秒后重连 - heartbeatIncoming: 4000, - heartbeatOutgoing: 4000 -}); - -// 激活连接 -stompClient.activate(); - -// 处理任务通知 -function handleTaskNotification(notification) { - const { taskNo, status, progress, message, resultUrl, errorMessage } = notification; - - switch(status) { - case 'created': - console.log(`[${taskNo}] 任务已创建`); - break; - case 'queued': - console.log(`[${taskNo}] 任务排队中: ${message}`); - break; - case 'processing': - console.log(`[${taskNo}] 处理中 ${progress}%: ${message}`); - updateProgressBar(taskNo, progress); - break; - case 'completed': - console.log(`[${taskNo}] 任务完成: ${resultUrl}`); - showCompletedNotification(taskNo, resultUrl); - break; - case 'failed': - console.error(`[${taskNo}] 任务失败: ${errorMessage || message}`); - showErrorNotification(taskNo, errorMessage || message); - break; - } -} - -// 断开连接 -function disconnect() { - if (stompClient.connected) { - stompClient.deactivate(); - console.log('WebSocket 已断开'); - } -} -``` - ---- - -## 四、完整封装类(推荐) - -### TaskWebSocketClient.js - -```javascript -import SockJS from 'sockjs-client'; -import { Client } from '@stomp/stompjs'; - -class TaskWebSocketClient { - constructor(baseUrl = 'http://localhost:8081', token) { - this.baseUrl = baseUrl; - this.token = token; - this.client = null; - this.listeners = { - onTaskUpdate: [], - onConnect: [], - onDisconnect: [], - onError: [] - }; - } - - /** - * 连接 WebSocket - */ - connect() { - if (this.client && this.client.connected) { - console.warn('WebSocket 已连接'); - return Promise.resolve(); - } - - return new Promise((resolve, reject) => { - this.client = new Client({ - webSocketFactory: () => new SockJS(`${this.baseUrl}/ws`), - - connectHeaders: { - Authorization: `Bearer ${this.token}` - }, - - onConnect: (frame) => { - console.log('✅ WebSocket 连接成功'); - - // 订阅任务进度更新 - this.client.subscribe('/user/queue/tasks-progress', (message) => { - try { - const notification = JSON.parse(message.body); - this._notifyListeners('onTaskUpdate', notification); - } catch (error) { - console.error('解析消息失败:', error); - } - }); - - this._notifyListeners('onConnect', frame); - resolve(frame); - }, - - onStompError: (frame) => { - console.error('❌ STOMP 错误:', frame); - this._notifyListeners('onError', frame); - reject(frame); - }, - - onWebSocketError: (error) => { - console.error('❌ WebSocket 错误:', error); - this._notifyListeners('onError', error); - }, - - onWebSocketClose: (event) => { - console.log('🔌 WebSocket 连接关闭'); - this._notifyListeners('onDisconnect', event); - }, - - reconnectDelay: 5000, - heartbeatIncoming: 4000, - heartbeatOutgoing: 4000 - }); - - this.client.activate(); - }); - } - - /** - * 断开 WebSocket - */ - disconnect() { - if (this.client && this.client.connected) { - this.client.deactivate(); - console.log('WebSocket 已断开'); - } - } - - /** - * 添加任务更新监听器 - */ - onTaskUpdate(callback) { - this.listeners.onTaskUpdate.push(callback); - return () => this._removeListener('onTaskUpdate', callback); - } - - /** - * 添加连接监听器 - */ - onConnect(callback) { - this.listeners.onConnect.push(callback); - return () => this._removeListener('onConnect', callback); - } - - /** - * 添加断开连接监听器 - */ - onDisconnect(callback) { - this.listeners.onDisconnect.push(callback); - return () => this._removeListener('onDisconnect', callback); - } - - /** - * 添加错误监听器 - */ - onError(callback) { - this.listeners.onError.push(callback); - return () => this._removeListener('onError', callback); - } - - /** - * 通知所有监听器 - */ - _notifyListeners(event, data) { - this.listeners[event].forEach(callback => { - try { - callback(data); - } catch (error) { - console.error(`监听器执行错误 (${event}):`, error); - } - }); - } - - /** - * 移除监听器 - */ - _removeListener(event, callback) { - const index = this.listeners[event].indexOf(callback); - if (index > -1) { - this.listeners[event].splice(index, 1); - } - } - - /** - * 检查连接状态 - */ - isConnected() { - return this.client && this.client.connected; - } -} - -export default TaskWebSocketClient; -``` - ---- - -## 五、使用示例 - -### 1. React 组件示例 - -```jsx -import React, { useEffect, useState } from 'react'; -import TaskWebSocketClient from './TaskWebSocketClient'; - -function TaskMonitor() { - const [tasks, setTasks] = useState({}); - const [wsClient, setWsClient] = useState(null); - - useEffect(() => { - // 获取 Token(从 localStorage 或其他地方) - const token = localStorage.getItem('jwt_token'); - - // 创建 WebSocket 客户端 - const client = new TaskWebSocketClient('http://localhost:8081', token); - - // 监听任务更新 - const unsubscribe = client.onTaskUpdate((notification) => { - console.log('任务更新:', notification); - - // 更新任务状态 - setTasks(prev => ({ - ...prev, - [notification.taskNo]: notification - })); - - // 根据状态显示不同提示 - if (notification.status === 'completed') { - showSuccessToast(`任务 ${notification.taskNo} 已完成!`); - } else if (notification.status === 'failed') { - showErrorToast(`任务 ${notification.taskNo} 失败: ${notification.errorMessage}`); - } - }); - - // 连接 WebSocket - client.connect().catch(error => { - console.error('连接失败:', error); - }); - - setWsClient(client); - - // 清理函数 - return () => { - unsubscribe(); - client.disconnect(); - }; - }, []); - - return ( -
-

任务监控

- {Object.values(tasks).map(task => ( -
-

{task.taskNo}

-

状态: {task.status}

-

进度: {task.progress}%

-

{task.message}

- {task.resultUrl && ( - - 查看结果 - - )} -
- ))} -
- ); -} - -export default TaskMonitor; -``` - -### 2. Vue 3 组件示例 - -```vue - - - -``` - -### 3. 原生 JavaScript 完整示例 - -```html - - - - 任务监控 - - - - -

AI 任务实时监控

-
未连接
-
- - - - - - -``` - ---- - -## 六、完整业务流程示例 - -```javascript -import TaskWebSocketClient from './TaskWebSocketClient'; -import SuChuangImageGenerator from './SuChuangImageGenerator'; - -class AITaskManager { - constructor(token, baseUrl = 'http://localhost:8081') { - this.wsClient = new TaskWebSocketClient(baseUrl, token); - this.generator = new SuChuangImageGenerator(token, baseUrl); - this.pendingTasks = new Map(); - } - - /** - * 初始化(连接 WebSocket 并设置监听器) - */ - async init() { - // 监听任务更新 - this.wsClient.onTaskUpdate((notification) => { - this.handleTaskUpdate(notification); - }); - - // 连接 WebSocket - await this.wsClient.connect(); - console.log('AI 任务管理器已初始化'); - } - - /** - * 提交文生图任务 - */ - async submitTextToImage(prompt, aspectRatio = '1:1', onProgress, onComplete, onError) { - try { - // 提交任务 - const taskNo = await this.generator.generateImage(prompt, aspectRatio); - - // 注册回调 - this.pendingTasks.set(taskNo, { onProgress, onComplete, onError }); - - return taskNo; - } catch (error) { - if (onError) onError(error); - throw error; - } - } - - /** - * 提交图生图任务 - */ - async submitImageToImage(prompt, imageUrl, aspectRatio = '1:1', onProgress, onComplete, onError) { - try { - const taskNo = await this.generator.transformImage(prompt, imageUrl, aspectRatio); - this.pendingTasks.set(taskNo, { onProgress, onComplete, onError }); - return taskNo; - } catch (error) { - if (onError) onError(error); - throw error; - } - } - - /** - * 处理任务更新 - */ - handleTaskUpdate(notification) { - const { taskNo, status, progress, message, resultUrl, errorMessage } = notification; - const callbacks = this.pendingTasks.get(taskNo); - - if (!callbacks) return; - - const { onProgress, onComplete, onError } = callbacks; - - switch(status) { - case 'processing': - if (onProgress) onProgress(progress, message); - break; - - case 'completed': - if (onComplete) onComplete(resultUrl); - this.pendingTasks.delete(taskNo); - break; - - case 'failed': - if (onError) onError(new Error(errorMessage || message)); - this.pendingTasks.delete(taskNo); - break; - } - } - - /** - * 清理资源 - */ - destroy() { - this.wsClient.disconnect(); - this.pendingTasks.clear(); - } -} - -// 使用示例 -const taskManager = new AITaskManager(YOUR_JWT_TOKEN); - -// 初始化 -await taskManager.init(); - -// 提交任务并监听进度 -const taskNo = await taskManager.submitTextToImage( - '一只可爱的柴犬', - '1:1', - (progress, message) => { - console.log(`进度: ${progress}% - ${message}`); - updateProgressBar(progress); - }, - (resultUrl) => { - console.log('生成完成:', resultUrl); - displayImage(resultUrl); - }, - (error) => { - console.error('生成失败:', error); - showErrorMessage(error.message); - } -); - -console.log('任务已提交:', taskNo); -``` - ---- - -## 七、常见问题 - -### 1. 跨域问题 -如果前端和后端不在同一域名,确保后端已配置 CORS: - -```java -// WebSocketConfig.java 中已配置 -registry.addEndpoint("/ws").setAllowedOriginPatterns("*").withSockJS(); -``` - -### 2. 认证失败 -确保在连接时传递了正确的 JWT Token: - -```javascript -connectHeaders: { - Authorization: `Bearer ${YOUR_JWT_TOKEN}` -} -``` - -### 3. 连接断开自动重连 -STOMP 客户端已配置自动重连: - -```javascript -reconnectDelay: 5000 // 5秒后自动重连 -``` - -### 4. 心跳检测 -防止连接超时: - -```javascript -heartbeatIncoming: 4000, // 接收心跳间隔 -heartbeatOutgoing: 4000 // 发送心跳间隔 -``` - ---- - -## 八、调试技巧 - -### 1. 开启详细日志 -```javascript -const client = new Client({ - // ... 其他配置 - debug: (str) => { - console.log('STOMP Debug:', str); - } -}); -``` - -### 2. 监控连接状态 -```javascript -client.onConnect = () => console.log('✅ 已连接'); -client.onDisconnect = () => console.log('🔌 已断开'); -client.onWebSocketError = (error) => console.error('❌ 错误:', error); -``` - -### 3. 测试消息接收 -```javascript -client.subscribe('/user/queue/tasks-progress', (message) => { - console.log('收到原始消息:', message.body); - const data = JSON.parse(message.body); - console.log('解析后的数据:', data); -}); -``` - ---- - -## 九、安全建议 - -1. **不要在前端暴露敏感信息** - - Token 应通过 localStorage 或 sessionStorage 安全存储 - - 避免在 URL 中传递 Token - -2. **设置合理的超时时间** - - 避免长时间保持空闲连接 - -3. **处理连接断开** - - 实现重连逻辑 - - 提示用户连接状态 - -4. **验证消息来源** - - 确认 taskNo 是否为当前用户的任务 - ---- - -## 十、完整目录结构 - -``` -src/ -├── websocket/ -│ ├── TaskWebSocketClient.js # WebSocket 封装类 -│ └── AITaskManager.js # 任务管理器 -├── api/ -│ └── SuChuangImageGenerator.js # 任务提交API -├── components/ -│ ├── TaskMonitor.jsx # React 任务监控组件 -│ └── TaskMonitor.vue # Vue 任务监控组件 -└── utils/ - └── notification.js # 浏览器通知工具 -``` - ---- - -## 总结 - -前端通过以下步骤接收 WebSocket 通知: - -1. **连接**: `new SockJS('http://localhost:8081/ws')` -2. **认证**: 在 `connectHeaders` 中传递 JWT Token -3. **订阅**: `client.subscribe('/user/queue/tasks-progress', callback)` -4. **处理**: 根据 `status` 字段处理不同状态的通知 - -**关键点**: -- ✅ 端点以 `/ws` 开头(不是 `/user/ws`) -- ✅ 订阅地址为 `/user/queue/tasks-progress` -- ✅ Spring 会自动将消息路由到当前用户 -- ✅ 支持自动重连和心跳检测 - diff --git a/debug_points_config.sql b/debug_points_config.sql deleted file mode 100644 index a4ddc8c..0000000 --- a/debug_points_config.sql +++ /dev/null @@ -1,38 +0,0 @@ --- 检查 points_config 表中的数据 --- 执行以下SQL来排查问题 - --- 1. 查看所有数据 -SELECT id, model_name, points_cost, description, is_enabled, provider_type, task_type -FROM points_config -WHERE is_deleted = 0 -ORDER BY id; - --- 2. 查看 RunningHub 的模型 -SELECT id, model_name, points_cost, description, is_enabled, provider_type, task_type -FROM points_config -WHERE provider_type = 'runninghub' - AND is_deleted = 0 -ORDER BY id; - --- 3. 查看文生图类型的模型 -SELECT id, model_name, points_cost, description, is_enabled, provider_type, task_type -FROM points_config -WHERE task_type = 'text_to_image' - AND is_deleted = 0 -ORDER BY id; - --- 4. 查看 RunningHub + 文生图的组合 -SELECT id, model_name, points_cost, description, is_enabled, provider_type, task_type -FROM points_config -WHERE provider_type = 'runninghub' - AND task_type = 'text_to_image' - AND is_deleted = 0 -ORDER BY id; - --- 5. 查看已启用的 RunningHub 模型 -SELECT id, model_name, points_cost, description, is_enabled, provider_type, task_type -FROM points_config -WHERE provider_type = 'runninghub' - AND is_enabled = 1 - AND is_deleted = 0 -ORDER BY id; diff --git a/docs/admin-tool-config-api.md b/docs/admin-tool-config-api.md new file mode 100644 index 0000000..b5391f3 --- /dev/null +++ b/docs/admin-tool-config-api.md @@ -0,0 +1,501 @@ +# 工具配置管理(管理端)API 文档 + +## 概述 + +管理端工具配置API,用于管理工具配置和查看使用统计。 + +- **Base URL**: `/admin/tools` +- **认证方式**: 需要管理员权限(`ROLE_ADMIN`) +- **请求头**: `Authorization: Bearer {admin_jwt_token}` + +--- + +## 一、工具配置管理 + +### 1.1 获取所有工具配置 + +获取所有工具配置列表。 + +**请求** +``` +GET /admin/tools/configs +``` + +**响应** +```json +{ + "code": 200, + "message": "success", + "data": [ + { + "id": 1, + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 5, + "isEnabled": 1, + "sortOrder": 1, + "createTime": "2026-01-02T10:00:00", + "updateTime": "2026-01-02T10:00:00" + } + ] +} +``` + +--- + +### 1.2 获取工具配置详情 + +根据ID获取工具配置详情。 + +**请求** +``` +GET /admin/tools/configs/{id} +``` + +**路径参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| id | Long | 是 | 工具ID | + +**响应** +```json +{ + "code": 200, + "message": "success", + "data": { + "id": 1, + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 5, + "isEnabled": 1, + "sortOrder": 1, + "createTime": "2026-01-02T10:00:00", + "updateTime": "2026-01-02T10:00:00" + } +} +``` + +--- + +### 1.3 创建工具配置 + +创建新的工具配置。 + +**请求** +``` +POST /admin/tools/configs +Content-Type: application/json +``` + +**请求体** +```json +{ + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 5, + "isEnabled": 1, + "sortOrder": 1 +} +``` + +**请求体参数说明** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| toolCode | String | 是 | 工具编码(唯一标识) | +| toolName | String | 是 | 工具名称 | +| category | String | 是 | 工具分类(douyin/xiaohongshu/wechat_mp) | +| description | String | 否 | 工具描述 | +| apiEndpoint | String | 是 | API端点路径 | +| requestMethod | String | 否 | 请求方法(GET/POST),默认GET | +| pointsCost | Integer | 否 | 积分消耗,默认1 | +| isEnabled | Integer | 否 | 是否启用(0禁用/1启用),默认1 | +| sortOrder | Integer | 否 | 排序顺序,默认0 | + +**响应** +```json +{ + "code": 200, + "message": "创建成功", + "data": { + "id": 1, + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 5, + "isEnabled": 1, + "sortOrder": 1, + "createTime": "2026-01-02T10:00:00", + "updateTime": "2026-01-02T10:00:00" + } +} +``` + +--- + +### 1.4 更新工具配置 + +更新指定工具配置。 + +**请求** +``` +PUT /admin/tools/configs/{id} +Content-Type: application/json +``` + +**路径参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| id | Long | 是 | 工具ID | + +**请求体** +```json +{ + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 10, + "isEnabled": 1, + "sortOrder": 1 +} +``` + +**响应** +```json +{ + "code": 200, + "message": "更新成功", + "data": { + "id": 1, + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 10, + "isEnabled": 1, + "sortOrder": 1, + "createTime": "2026-01-02T10:00:00", + "updateTime": "2026-01-02T11:00:00" + } +} +``` + +--- + +### 1.5 更新积分消耗 + +单独更新工具的积分消耗配置。 + +**请求** +``` +PATCH /admin/tools/configs/{id}/points-cost?pointsCost={pointsCost} +``` + +**参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| id | Long | 是 | 工具ID(路径参数) | +| pointsCost | Integer | 是 | 积分消耗(查询参数) | + +**响应** +```json +{ + "code": 200, + "message": "更新成功", + "data": null +} +``` + +--- + +### 1.6 更新工具状态 + +启用或禁用工具。 + +**请求** +``` +PATCH /admin/tools/configs/{id}/status?isEnabled={isEnabled} +``` + +**参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| id | Long | 是 | 工具ID(路径参数) | +| isEnabled | Integer | 是 | 是否启用(0禁用/1启用)(查询参数) | + +**响应** +```json +{ + "code": 200, + "message": "更新成功", + "data": null +} +``` + +--- + +### 1.7 删除工具配置 + +删除指定工具配置(逻辑删除)。 + +**请求** +``` +DELETE /admin/tools/configs/{id} +``` + +**路径参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| id | Long | 是 | 工具ID | + +**响应** +```json +{ + "code": 200, + "message": "删除成功", + "data": null +} +``` + +--- + +## 二、使用统计 + +### 2.1 获取统计概览 + +获取工具数量和今日调用统计。 + +**请求** +``` +GET /admin/tools/stats/info +``` + +**响应** +```json +{ + "code": 200, + "message": "success", + "data": { + "totalTools": 8, + "enabledTools": 8, + "todayCalls": 156, + "todayPointsCost": 780 + } +} +``` + +**响应字段说明** +| 字段 | 类型 | 说明 | +|------|------|------| +| totalTools | Long | 工具总数 | +| enabledTools | Long | 已启用工具数 | +| todayCalls | Long | 今日调用次数 | +| todayPointsCost | Long | 今日消耗积分 | + +--- + +### 2.2 获取统计汇总 + +获取指定日期范围内的统计汇总。 + +**请求** +``` +GET /admin/tools/stats/summary?startDate={startDate}&endDate={endDate} +``` + +**查询参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| startDate | String | 否 | 开始日期(yyyy-MM-dd),默认30天前 | +| endDate | String | 否 | 结束日期(yyyy-MM-dd),默认今天 | + +**响应** +```json +{ + "code": 200, + "message": "success", + "data": { + "totalCalls": 1560, + "successCalls": 1500, + "failedCalls": 60, + "totalPointsCost": 7800, + "uniqueUsers": null, + "toolStats": [ + { + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": null, + "totalCalls": 500, + "successCalls": 480, + "totalPointsCost": 2500 + }, + { + "toolCode": "xiaohongshu_search_notes", + "toolName": "搜索笔记", + "category": null, + "totalCalls": 300, + "successCalls": 290, + "totalPointsCost": 1500 + } + ] + } +} +``` + +**响应字段说明** +| 字段 | 类型 | 说明 | +|------|------|------| +| totalCalls | Long | 总调用次数 | +| successCalls | Long | 成功次数 | +| failedCalls | Long | 失败次数 | +| totalPointsCost | Long | 总消耗积分 | +| uniqueUsers | Long | 独立用户数 | +| toolStats | Array | 按工具分类统计 | + +--- + +### 2.3 获取每日统计 + +获取每日统计数据列表。 + +**请求** +``` +GET /admin/tools/stats/daily?startDate={startDate}&endDate={endDate}&toolCode={toolCode} +``` + +**查询参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| startDate | String | 否 | 开始日期(yyyy-MM-dd),默认7天前 | +| endDate | String | 否 | 结束日期(yyyy-MM-dd),默认今天 | +| toolCode | String | 否 | 工具编码,用于筛选特定工具 | + +**响应** +```json +{ + "code": 200, + "message": "success", + "data": [ + { + "statsDate": "2026-01-02", + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "totalCalls": 100, + "successCalls": 95, + "failedCalls": 5, + "totalPointsCost": 500, + "uniqueUsers": 20 + }, + { + "statsDate": "2026-01-01", + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "totalCalls": 80, + "successCalls": 78, + "failedCalls": 2, + "totalPointsCost": 400, + "uniqueUsers": 15 + } + ] +} +``` + +**响应字段说明** +| 字段 | 类型 | 说明 | +|------|------|------| +| statsDate | String | 统计日期 | +| toolCode | String | 工具编码 | +| toolName | String | 工具名称 | +| totalCalls | Integer | 调用总次数 | +| successCalls | Integer | 成功次数 | +| failedCalls | Integer | 失败次数 | +| totalPointsCost | Integer | 消耗总积分 | +| uniqueUsers | Integer | 独立用户数 | + +--- + +### 2.4 刷新每日统计 + +手动刷新指定日期的统计数据。 + +**请求** +``` +POST /admin/tools/stats/refresh?date={date} +``` + +**查询参数** +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| date | String | 否 | 日期(yyyy-MM-dd),默认今天 | + +**响应** +```json +{ + "code": 200, + "message": "刷新成功", + "data": null +} +``` + +--- + +## 三、错误响应 + +所有接口在发生错误时返回统一格式: + +```json +{ + "code": 500, + "message": "错误描述信息", + "data": null +} +``` + +**常见错误码** +| 错误码 | 说明 | +|--------|------| +| 401 | 未认证或Token过期 | +| 403 | 无权限(非管理员) | +| 500 | 服务器内部错误 | + +--- + +## 四、数据字典 + +### 工具分类(category) +| 值 | 说明 | +|------|------| +| douyin | 抖音 | +| xiaohongshu | 小红书 | +| wechat_mp | 微信公众号 | + +### 请求方法(requestMethod) +| 值 | 说明 | +|------|------| +| GET | GET请求 | +| POST | POST请求 | + +### 启用状态(isEnabled) +| 值 | 说明 | +|------|------| +| 0 | 禁用 | +| 1 | 启用 | diff --git a/docs/plaza-work-report-feature-summary.md b/docs/plaza-work-report-feature-summary.md new file mode 100644 index 0000000..9999753 --- /dev/null +++ b/docs/plaza-work-report-feature-summary.md @@ -0,0 +1,195 @@ +# 广场作品投诉功能实施总结 + +## 概述 +成功实现广场作品投诉功能,用户可以对违规作品进行投诉,管理员审核投诉并处理。 + +## 功能特性 + +### 1. 投诉类型 +支持6种投诉类型: +- `political` - 政治敏感 +- `pornographic` - 色情低俗 +- `violent` - 暴力血腥 +- `dangerous` - 危险行为 +- `uncomfortable` - 引人不适 +- `other` - 其他 + +### 2. 投诉限制机制 +- **每日投诉限制**:每个用户每天最多投诉10次 +- **防重复投诉**:同一用户不能重复投诉同一作品 +- **防自投诉**:不能投诉自己发布的作品 +- **自动重置**:每日0点自动重置投诉计数 + +### 3. 投诉状态 +- `pending` - 待审核 +- `approved` - 投诉成立 +- `rejected` - 投诉不成立 + +### 4. 管理员审核 +- **投诉成立**:下架作品(修改审核状态为 `rejected`,状态改为 `hidden`) +- **投诉不成立**:驳回投诉 +- **处理备注**:必须填写审核备注说明处理原因 + +## 数据库设计 + +### 1. plaza_work_report(投诉表) +```sql +CREATE TABLE `plaza_work_report` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `report_no` VARCHAR(50) NOT NULL COMMENT '投诉编号', + `work_id` BIGINT NOT NULL COMMENT '被投诉的作品ID', + `work_no` VARCHAR(50) NOT NULL COMMENT '被投诉的作品编号', + `reporter_id` BIGINT NOT NULL COMMENT '投诉人用户ID', + `report_type` VARCHAR(20) NOT NULL COMMENT '投诉类型', + `report_reason` TEXT COMMENT '投诉原因描述', + `report_status` VARCHAR(20) DEFAULT 'pending' COMMENT '投诉状态', + `audit_admin_id` BIGINT COMMENT '审核管理员ID', + `audit_admin_name` VARCHAR(100) COMMENT '审核管理员名称', + `audit_remark` TEXT COMMENT '审核备注', + `audit_time` DATETIME COMMENT '审核时间', + `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP, + `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` TINYINT(1) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_report_no` (`report_no`), + KEY `idx_work_id` (`work_id`), + KEY `idx_reporter_id` (`reporter_id`), + KEY `idx_report_status` (`report_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +``` + +### 2. plaza_work_report_limit(投诉限制表) +```sql +CREATE TABLE `plaza_work_report_limit` ( + `id` BIGINT NOT NULL AUTO_INCREMENT, + `user_id` BIGINT NOT NULL, + `report_count` INT DEFAULT 0 COMMENT '今日投诉次数', + `last_report_time` DATETIME COMMENT '最后投诉时间', + `reset_date` DATE NOT NULL COMMENT '重置日期', + `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP, + `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_user_id` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +``` + +## API 接口 + +### 用户端接口 + +#### 1. 提交投诉 +``` +POST /user/plaza/reports/submit +``` +**请求体:** +```json +{ + "workNo": "WORK-20251026-001", + "reportType": "pornographic", + "reportReason": "该作品包含不当内容" +} +``` + +#### 2. 查询我的投诉列表 +``` +GET /user/plaza/reports/my?page=1&size=10 +``` + +### 管理员端接口 + +#### 1. 查询投诉列表 +``` +GET /admin/plaza/reports/list?page=1&size=20&reportStatus=pending&reportType=pornographic&workNo=WORK-xxx&reporterId=123 +``` + +#### 2. 审核投诉 +``` +POST /admin/plaza/reports/audit +``` +**请求体:** +```json +{ + "reportNo": "REPORT-20251114-001", + "auditResult": "approved", + "auditRemark": "经审核,该作品确实存在违规内容,已下架处理" +} +``` + +#### 3. 获取待审核投诉数量 +``` +GET /admin/plaza/reports/pending/count +``` + +## 代码文件清单 + +### 数据库 +- ✅ `V12__add_plaza_work_report.sql` - 创建投诉表和限制表 + +### 实体类 +- ✅ `PlazaWorkReport.java` - 投诉实体类 +- ✅ `PlazaWorkReportLimit.java` - 投诉限制实体类 + +### DTO +- ✅ `PlazaWorkReportDto.java` - 投诉相关DTO + +### Mapper +- ✅ `PlazaWorkReportMapper.java` - 投诉Mapper接口 +- ✅ `PlazaWorkReportLimitMapper.java` - 投诉限制Mapper接口 + +### Service +- ✅ `PlazaWorkReportService.java` - 投诉服务接口 +- ✅ `PlazaWorkReportServiceImpl.java` - 投诉服务实现 + +### Controller +- ✅ `PlazaWorkReportController.java` - 用户端投诉控制器 +- ✅ `AdminPlazaWorkReportController.java` - 管理员端投诉控制器 + +### 修改文件 +- ✅ `PlazaWorkMapper.java` - 更新update方法支持审核状态修改 + +## 业务流程 + +### 用户投诉流程 +1. 用户选择作品并填写投诉信息 +2. 系统检查投诉限制(每日10次) +3. 系统检查是否重复投诉 +4. 系统检查是否投诉自己的作品 +5. 创建投诉记录,状态为 `pending` +6. 更新用户投诉计数 + +### 管理员审核流程 +1. 管理员查看待审核投诉列表 +2. 管理员查看投诉详情(包含作品信息) +3. 管理员审核投诉: + - **投诉成立**:更新投诉状态为 `approved`,下架作品(修改作品审核状态为 `rejected`,状态改为 `hidden`) + - **投诉不成立**:更新投诉状态为 `rejected` +4. 记录审核管理员信息和备注 + +## 部署步骤 + +1. **执行数据库脚本** + ```sql + source V12__add_plaza_work_report.sql; + ``` + +2. **部署代码** + - 部署所有新增和修改的文件 + - 重启应用服务 + +3. **验证功能** + - 测试用户提交投诉 + - 测试投诉限制机制 + - 测试管理员审核投诉 + - 测试投诉成立后作品下架 + +## 注意事项 + +1. **投诉限制**:每日最多10次,跨天自动重置 +2. **防重复投诉**:同一用户对同一作品只能投诉一次 +3. **防自投诉**:不能投诉自己发布的作品 +4. **作品下架**:投诉成立时,作品审核状态改为 `rejected`,状态改为 `hidden` +5. **审核备注**:管理员审核时必须填写处理备注 + +## 完成时间 +2025-11-14 + diff --git a/docs/sora2pro-integration-summary.md b/docs/sora2pro-integration-summary.md index 2c39838..e73a093 100644 --- a/docs/sora2pro-integration-summary.md +++ b/docs/sora2pro-integration-summary.md @@ -70,7 +70,7 @@ boolean isSora2Pro = isSora2ProModel(request.getModelName()); // 使用不同的接口 -String requestUrl = isSora2Pro ? apiUrl + "/api/sora2pro/submit" : apiUrl + "/api/sora2/submit"; +String requestUrl = isSora2Pro ? apiUrl + "/api/sora2pro/submit" : apiUrl + "/api/sora2-new/submit"; // sora2pro 不需要 size 参数 if (!isSora2Pro) { @@ -128,7 +128,7 @@ if (!isSora2Pro) { ## 注意事项 -1. **接口差异**: sora2pro 使用 `/api/sora2pro/submit`,而 sora2 使用 `/api/sora2/submit` +1. **接口差异**: sora2pro 使用 `/api/sora2pro/submit`,而 sora2 使用 `/api/sora2-new/submit` 2. **参数差异**: sora2pro 不需要 `size` 参数 3. **时长限制**: 25秒只能生成标清,15秒支持高清和标清 4. **查询接口**: sora2pro 和 sora2 共用 `/api/sora2/detail` 查询接口 diff --git a/docs/tool-service-api.md b/docs/tool-service-api.md new file mode 100644 index 0000000..7f300e0 --- /dev/null +++ b/docs/tool-service-api.md @@ -0,0 +1,234 @@ +# 工具服务模块 API 文档 + +## 概述 + +工具服务模块提供第三方数据采集工具的调用功能,支持抖音、小红书、微信公众号等平台的数据获取。 + +## 认证方式 + +工具接口支持两种认证方式: + +### 1. JWT Token(Web端) +登录后自动使用,适合Web前端调用。 + +### 2. API Key(开发者) +在请求头添加 `Authorization: Bearer {your_api_key}`,适合后端服务或脚本调用。 + +**获取API Key**: +1. 登录系统 +2. 进入个人中心 -> API密钥管理 +3. 生成API密钥 + +**调用示例**: +```bash +curl -X POST "https://api.1818ai.com/user/tools/call/douyin_user_videos" \ + -H "Authorization: Bearer ak_1234567890abcdef1234567890abcdef" \ + -H "Content-Type: application/json" \ + -d '{"sec_user_id": "MS4wLjABAAAA...", "max_cursor": 0, "count": 20}' +``` + +## 功能特性 + +1. **工具配置管理**:管理员可配置每个工具的积分消耗 +2. **积分扣除**:用户调用工具时自动扣除积分 +3. **调用记录**:完整记录每次工具调用 +4. **使用统计**:按天统计每个工具的使用次数 + +## 数据库表 + +### tool_config(工具配置表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键 | +| tool_code | varchar(64) | 工具编码(唯一) | +| tool_name | varchar(128) | 工具名称 | +| category | varchar(32) | 分类(douyin/xiaohongshu/wechat_mp) | +| api_endpoint | varchar(256) | API端点路径 | +| points_cost | int | 调用消耗积分 | +| is_enabled | tinyint | 是否启用 | + +### tool_usage_log(调用记录表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键 | +| usage_no | varchar(64) | 调用流水号 | +| user_id | bigint | 用户ID | +| tool_code | varchar(64) | 工具编码 | +| points_cost | int | 消耗积分 | +| status | varchar(20) | 状态(success/failed) | +| create_time | datetime | 调用时间 | + +### tool_usage_daily_stats(每日统计表) +| 字段 | 类型 | 说明 | +|------|------|------| +| stats_date | date | 统计日期 | +| tool_code | varchar(64) | 工具编码 | +| total_calls | int | 调用总次数 | +| success_calls | int | 成功次数 | +| total_points_cost | int | 消耗总积分 | + +--- + +## 用户端 API + +### 1. 获取工具列表 +``` +GET /user/tools/list +``` + +**响应示例:** +```json +{ + "code": 200, + "message": "success", + "data": [ + { + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "pointsCost": 5 + } + ] +} +``` + +### 2. 按分类获取工具 +``` +GET /user/tools/list/{category} +``` +- category: douyin / xiaohongshu / wechat_mp + +### 3. 调用工具 +``` +POST /user/tools/call/{toolCode} +``` + +**请求示例(抖音获取用户视频):** +```json +{ + "sec_user_id": "MS4wLjABAAAAnxkX6qJBxkyBnNhE__dpuYxdNFzihx1UoxfoKKkAlO8", + "max_cursor": 0, + "count": 20 +} +``` + +**响应示例:** +```json +{ + "code": 200, + "message": "success", + "data": { + "usageNo": "TU1735789012345ABCD1234", + "pointsCost": 5, + "remainingPoints": 95, + "data": { + "aweme_list": [...], + "max_cursor": 1528366024000, + "has_more": 1 + } + } +} +``` + +### 4. 获取调用记录 +``` +GET /user/tools/usage/logs?page=1&size=10&toolCode=douyin_user_videos +``` + +--- + +## 管理端 API + +### 1. 获取所有工具配置 +``` +GET /admin/tools/configs +``` + +### 2. 创建工具配置 +``` +POST /admin/tools/configs +``` + +**请求示例:** +```json +{ + "toolCode": "douyin_user_videos", + "toolName": "获取用户主页视频", + "category": "douyin", + "description": "根据sec_user_id获取用户发布的视频列表", + "apiEndpoint": "/api/v1/douyin/app/v3/fetch_user_post_videos", + "requestMethod": "GET", + "pointsCost": 5, + "isEnabled": 1, + "sortOrder": 1 +} +``` + +### 3. 更新积分消耗 +``` +PATCH /admin/tools/configs/{id}/points-cost?pointsCost=10 +``` + +### 4. 启用/禁用工具 +``` +PATCH /admin/tools/configs/{id}/status?isEnabled=0 +``` + +### 5. 获取统计概览 +``` +GET /admin/tools/stats/info +``` + +**响应示例:** +```json +{ + "code": 200, + "data": { + "totalTools": 8, + "enabledTools": 8, + "todayCalls": 156, + "todayPointsCost": 780 + } +} +``` + +### 6. 获取统计汇总 +``` +GET /admin/tools/stats/summary?startDate=2026-01-01&endDate=2026-01-02 +``` + +### 7. 获取每日统计 +``` +GET /admin/tools/stats/daily?startDate=2026-01-01&endDate=2026-01-07&toolCode=douyin_user_videos +``` + +--- + +## 配置说明 + +### application.yml 配置 +```yaml +tikhub: + api: + base-url: https://api.tikhub.io + key: YOUR_TIKHUB_API_KEY +``` + +### 初始化数据库 +执行 `src/main/resources/sql/tool_tables.sql` 创建表和初始数据。 + +--- + +## 预置工具列表 + +| 工具编码 | 名称 | 分类 | 积分 | +|---------|------|------|------| +| douyin_user_videos | 获取用户主页视频 | douyin | 5 | +| douyin_video_by_share | 根据分享链接获取视频 | douyin | 3 | +| xiaohongshu_user_notes | 获取用户笔记列表 | xiaohongshu | 5 | +| xiaohongshu_search_notes | 搜索笔记 | xiaohongshu | 5 | +| xiaohongshu_note_detail | 获取笔记详情 | xiaohongshu | 3 | +| wechat_mp_article_list | 获取文章列表 | wechat_mp | 5 | +| wechat_mp_article_json | 获取文章详情(JSON) | wechat_mp | 10 | +| wechat_mp_article_html | 获取文章详情(HTML) | wechat_mp | 100 | diff --git a/fix_wechat_menu_data.sql b/fix_wechat_menu_data.sql deleted file mode 100644 index fe5bffd..0000000 --- a/fix_wechat_menu_data.sql +++ /dev/null @@ -1,142 +0,0 @@ --- ================================================ --- 微信菜单数据修复脚本 --- ================================================ --- 此脚本用于检查和修复数据库中的无效微信菜单数据 - --- ------------------------------------------------ --- 1. 检查所有可能有问题的菜单数据 --- ------------------------------------------------ - --- 检查 view 类型但 URL 为空的菜单 -SELECT - id, - menu_name AS '菜单名称', - menu_type AS '类型', - menu_url AS 'URL', - menu_key AS 'Key', - parent_id AS '父菜单ID', - '问题:view类型缺少URL' AS '问题描述' -FROM wechat_menu -WHERE menu_type = 'view' - AND (menu_url IS NULL OR menu_url = '') - AND is_enabled = 1; - --- 检查 click 类型但 Key 为空的菜单 -SELECT - id, - menu_name AS '菜单名称', - menu_type AS '类型', - menu_key AS 'Key', - parent_id AS '父菜单ID', - '问题:click类型缺少Key' AS '问题描述' -FROM wechat_menu -WHERE menu_type = 'click' - AND (menu_key IS NULL OR menu_key = '') - AND is_enabled = 1; - --- 检查 miniprogram 类型但缺少必要字段的菜单 -SELECT - id, - menu_name AS '菜单名称', - menu_type AS '类型', - menu_url AS 'URL', - appid AS 'AppID', - pagepath AS 'PagePath', - parent_id AS '父菜单ID', - '问题:miniprogram类型缺少必要字段' AS '问题描述' -FROM wechat_menu -WHERE menu_type = 'miniprogram' - AND (menu_url IS NULL OR menu_url = '' - OR appid IS NULL OR appid = '' - OR pagepath IS NULL OR pagepath = '') - AND is_enabled = 1; - --- ------------------------------------------------ --- 2. 修复方案(请根据实际情况选择执行) --- ------------------------------------------------ - --- 方案A:禁用所有无效的菜单(推荐,不会删除数据) --- 禁用 view 类型但 URL 为空的菜单 -UPDATE wechat_menu -SET is_enabled = 0, - description = CONCAT(IFNULL(description, ''), ' [自动禁用:缺少URL]') -WHERE menu_type = 'view' - AND (menu_url IS NULL OR menu_url = '') - AND is_enabled = 1; - --- 禁用 click 类型但 Key 为空的菜单 -UPDATE wechat_menu -SET is_enabled = 0, - description = CONCAT(IFNULL(description, ''), ' [自动禁用:缺少Key]') -WHERE menu_type = 'click' - AND (menu_key IS NULL OR menu_key = '') - AND is_enabled = 1; - --- 禁用 miniprogram 类型但缺少必要字段的菜单 -UPDATE wechat_menu -SET is_enabled = 0, - description = CONCAT(IFNULL(description, ''), ' [自动禁用:缺少必要字段]') -WHERE menu_type = 'miniprogram' - AND (menu_url IS NULL OR menu_url = '' - OR appid IS NULL OR appid = '' - OR pagepath IS NULL OR pagepath = '') - AND is_enabled = 1; - --- ------------------------------------------------ --- 方案B:手动修复特定菜单(示例) --- ------------------------------------------------ - --- 如果您想保留 "首页" 菜单,可以为其添加URL --- UPDATE wechat_menu --- SET menu_url = 'https://your-website.com' --- WHERE menu_name = '首页' AND menu_type = 'view'; - --- 如果您想保留 "帮助中心" 菜单,可以为其添加URL --- UPDATE wechat_menu --- SET menu_url = 'https://your-website.com/help' --- WHERE menu_name = '帮助中心' AND menu_type = 'view'; - --- 或者,如果您想将这些菜单改为 click 类型: --- UPDATE wechat_menu --- SET menu_type = 'click', menu_key = 'MENU_HOME', menu_url = NULL --- WHERE menu_name = '首页'; - --- ------------------------------------------------ --- 方案C:删除无效菜单(慎用!) --- ------------------------------------------------ - --- 如果您确定要删除这些无效菜单,取消下面的注释 --- DELETE FROM wechat_menu --- WHERE menu_type = 'view' --- AND (menu_url IS NULL OR menu_url = '') --- AND is_enabled = 1; - --- ------------------------------------------------ --- 3. 修复后验证 --- ------------------------------------------------ - --- 查看所有启用的菜单 -SELECT - id, - parent_id, - menu_name, - menu_type, - menu_key, - menu_url, - is_enabled, - sort_order -FROM wechat_menu -WHERE is_enabled = 1 -ORDER BY parent_id ASC, sort_order ASC; - --- 统计菜单数量 -SELECT - is_enabled, - COUNT(*) as count, - CASE - WHEN is_enabled = 1 THEN '启用' - ELSE '禁用' - END as status -FROM wechat_menu -GROUP BY is_enabled; - diff --git a/logs/1818-user-server-error.2026-01-08.log b/logs/1818-user-server-error.2026-01-08.log new file mode 100644 index 0000000..3f5bfba --- /dev/null +++ b/logs/1818-user-server-error.2026-01-08.log @@ -0,0 +1,958 @@ +2026-01-08 12:49:59.170 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:49:59.175 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:00.231 [MessageBroker-10] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:00.232 [MessageBroker-10] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:01.289 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:01.289 [MessageBroker-5] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:02.344 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:02.345 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-08 12:50:03.397 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:03.398 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:04.451 [MessageBroker-11] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:04.451 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-08 12:50:08.882 [MessageBroker-11] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:08.882 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted diff --git a/logs/1818-user-server-error.2026-01-13.log b/logs/1818-user-server-error.2026-01-13.log new file mode 100644 index 0000000..23fea9d --- /dev/null +++ b/logs/1818-user-server-error.2026-01-13.log @@ -0,0 +1,11281 @@ +2026-01-13 14:05:15.839 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:15.845 [MessageBroker-5] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:16.910 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:16.911 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:17.970 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:17.971 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:19.037 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:19.038 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:20.099 [MessageBroker-12] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:20.100 [MessageBroker-12] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:21.157 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:21.157 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:25.534 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:25.534 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:30.535 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:30.535 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:35.536 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:35.537 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:37.978 [MessageBroker-7] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:37.978 [MessageBroker-7] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:40.535 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:40.535 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:45.541 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:45.541 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:50.527 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:50.527 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:51.593 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:51.593 [MessageBroker-2] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:55.541 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:55.541 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:59.056 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:59.057 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:00.524 [MessageBroker-8] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:00.524 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:05.552 [MessageBroker-8] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:05.552 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:10.530 [MessageBroker-8] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:10.531 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:15.548 [MessageBroker-12] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:15.548 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:16.604 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:16.605 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:20.133 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:20.133 [MessageBroker-15] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:21.190 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:21.191 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:22.654 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:22.654 [MessageBroker-16] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:25.519 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:25.520 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:30.537 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:30.537 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:35.524 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:35.524 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:40.529 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:40.530 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:41.590 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:41.591 [MessageBroker-14] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:45.537 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:45.537 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:50.530 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:50.531 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:53.718 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:53.718 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:55.532 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:55.532 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:00.574 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:00.576 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:02.746 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:02.747 [MessageBroker-15] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:05.528 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:05.529 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:10.533 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:10.533 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:15.540 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:15.541 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:16.611 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:16.612 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:17.693 [http-nio-8082-exec-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy107.selectByKeyValue(Unknown Source) + at com.dora.service.ApiKeyService.validateApiKeyForNonMember(ApiKeyService.java:186) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.ApiKeyService$$SpringCGLIB$$0.validateApiKeyForNonMember() + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:17.693 [http-nio-8082-exec-1] ERROR com.dora.config.ApiKeyAuthenticationFilter - API Key认证过程中发生错误: null +2026-01-13 14:07:18.746 [http-nio-8082-exec-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.countAllWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getCategories(WorkflowServiceImpl.java:60) + at com.dora.controller.WorkflowController.getCategories(WorkflowController.java:50) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getCategories() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:18.747 [http-nio-8082-exec-3] ERROR com.dora.service.impl.WorkflowServiceImpl - 获取工作流分类列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.countAllWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getCategories(WorkflowServiceImpl.java:60) + at com.dora.controller.WorkflowController.getCategories(WorkflowController.java:50) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getCategories() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\WorkflowMapper.xml] +### The error may involve com.dora.mapper.WorkflowMapper.countAllWorkflows +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 130 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 138 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 150 common frames omitted +2026-01-13 14:07:18.748 [http-nio-8082-exec-3] ERROR com.dora.controller.WorkflowController - 获取工作流分类列表失败 +com.dora.exception.BusinessException: 获取工作流分类列表失败 + at com.dora.service.impl.WorkflowServiceImpl.getCategories(WorkflowServiceImpl.java:101) + at com.dora.controller.WorkflowController.getCategories(WorkflowController.java:50) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getCategories() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:19.804 [http-nio-8082-exec-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy135.selectAllEnabled(Unknown Source) + at com.dora.service.impl.BannerServiceImpl.getAllEnabledBanners(BannerServiceImpl.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.BannerServiceImpl$$SpringCGLIB$$0.getAllEnabledBanners() + at com.dora.controller.BannerController.getBannerList(BannerController.java:31) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:19.806 [http-nio-8082-exec-2] ERROR com.dora.controller.BannerController - 获取Banner列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy135.selectAllEnabled(Unknown Source) + at com.dora.service.impl.BannerServiceImpl.getAllEnabledBanners(BannerServiceImpl.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.BannerServiceImpl$$SpringCGLIB$$0.getAllEnabledBanners() + at com.dora.controller.BannerController.getBannerList(BannerController.java:31) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\BannerMapper.xml] +### The error may involve com.dora.mapper.BannerMapper.selectAllEnabled +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 125 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 131 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 143 common frames omitted +2026-01-13 14:07:20.872 [http-nio-8082-exec-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy137.countAllCourses(Unknown Source) + at com.dora.service.impl.CourseServiceImpl.getCategories(CourseServiceImpl.java:66) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.CourseServiceImpl$$SpringCGLIB$$0.getCategories() + at com.dora.controller.CourseController.getCategories(CourseController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:20.873 [http-nio-8082-exec-4] ERROR com.dora.service.impl.CourseServiceImpl - 获取课程分类列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy137.countAllCourses(Unknown Source) + at com.dora.service.impl.CourseServiceImpl.getCategories(CourseServiceImpl.java:66) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.CourseServiceImpl$$SpringCGLIB$$0.getCategories() + at com.dora.controller.CourseController.getCategories(CourseController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\CourseMapper.xml] +### The error may involve com.dora.mapper.CourseMapper.countAllCourses +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 124 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 132 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 144 common frames omitted +2026-01-13 14:07:20.874 [http-nio-8082-exec-4] ERROR com.dora.controller.CourseController - 获取课程分类列表失败 +com.dora.exception.BusinessException: 获取课程分类列表失败 + at com.dora.service.impl.CourseServiceImpl.getCategories(CourseServiceImpl.java:107) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.CourseServiceImpl$$SpringCGLIB$$0.getCategories() + at com.dora.controller.CourseController.getCategories(CourseController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:21.924 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:21.925 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:22.979 [http-nio-8082-exec-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.selectHotWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getHotWorkflows(WorkflowServiceImpl.java:111) + at com.dora.controller.WorkflowController.getHotWorkflows(WorkflowController.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getHotWorkflows() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:22.980 [http-nio-8082-exec-5] ERROR com.dora.service.impl.WorkflowServiceImpl - 获取热门工作流列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.selectHotWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getHotWorkflows(WorkflowServiceImpl.java:111) + at com.dora.controller.WorkflowController.getHotWorkflows(WorkflowController.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getHotWorkflows() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\WorkflowMapper.xml] +### The error may involve com.dora.mapper.WorkflowMapper.selectHotWorkflows +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 131 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 137 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 149 common frames omitted +2026-01-13 14:07:22.981 [http-nio-8082-exec-5] ERROR com.dora.controller.WorkflowController - 获取热门工作流列表失败 - page: 1, size: 32 +com.dora.exception.BusinessException: 获取热门工作流列表失败 + at com.dora.service.impl.WorkflowServiceImpl.getHotWorkflows(WorkflowServiceImpl.java:120) + at com.dora.controller.WorkflowController.getHotWorkflows(WorkflowController.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getHotWorkflows() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:24.035 [http-nio-8082-exec-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy184.selectAll(Unknown Source) + at com.dora.service.impl.WechatQrCodeServiceImpl.getAllQrCodes(WechatQrCodeServiceImpl.java:27) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.WechatQrCodeServiceImpl$$SpringCGLIB$$0.getAllQrCodes() + at com.dora.controller.WechatQrCodeController.getAllQrCodes(WechatQrCodeController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WechatQrCodeController$$SpringCGLIB$$0.getAllQrCodes() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:24.036 [http-nio-8082-exec-1] ERROR com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy184.selectAll(Unknown Source) + at com.dora.service.impl.WechatQrCodeServiceImpl.getAllQrCodes(WechatQrCodeServiceImpl.java:27) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.WechatQrCodeServiceImpl$$SpringCGLIB$$0.getAllQrCodes() + at com.dora.controller.WechatQrCodeController.getAllQrCodes(WechatQrCodeController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WechatQrCodeController$$SpringCGLIB$$0.getAllQrCodes() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\WechatQrCodeMapper.xml] +### The error may involve com.dora.mapper.WechatQrCodeMapper.selectAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 138 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 144 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 156 common frames omitted +2026-01-13 14:07:25.089 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:25.089 [MessageBroker-16] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:26.154 [MessageBroker-9] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:26.154 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:27.224 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:27.228 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:30.525 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:30.525 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:35.525 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:35.525 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:40.523 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:40.523 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:45.526 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:45.526 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:47.216 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:47.216 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:50.509 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:50.509 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:55.534 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:55.534 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:56.592 [MessageBroker-7] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:56.592 [MessageBroker-7] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:00.520 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:00.520 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:05.538 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:05.538 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:08.293 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:08.293 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:10.533 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:10.533 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:15.527 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:15.527 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:16.594 [MessageBroker-12] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:16.594 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:20.535 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:20.535 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:25.514 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:25.514 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:27.657 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:27.657 [MessageBroker-3] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:44.026 [http-nio-8082-exec-10] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e16b-475bb983-0a7c5a27,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e16b-475bb983-0a7c5a27"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:09:31.676 [http-nio-8082-exec-5] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e19b-3723d378-79c9a307,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e19b-3723d378-79c9a307"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:14:41.349 [http-nio-8082-exec-9] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d0-10d518f0-0bf9509f,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d0-10d518f0-0bf9509f"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:14:42.461 [http-nio-8082-exec-10] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d2-760939ae-5ffe641e,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d2-760939ae-5ffe641e"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:19:38.090 [http-nio-8082-exec-1] ERROR com.dora.controller.AuthController - 用户注册失败 - phone: 18528655907 +java.lang.RuntimeException: 验证码错误或已过期 + at com.dora.service.impl.UserServiceImpl.register(UserServiceImpl.java:154) + at com.dora.controller.AuthController.register(AuthController.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:19:54.828 [http-nio-8082-exec-5] ERROR com.dora.controller.AuthController - 用户注册失败 - phone: 18528655907 +java.lang.RuntimeException: 验证码错误或已过期 + at com.dora.service.impl.UserServiceImpl.register(UserServiceImpl.java:147) + at com.dora.controller.AuthController.register(AuthController.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:20:11.273 [http-nio-8082-exec-10] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e41a-7b8af6bd-60820d70,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e41a-7b8af6bd-60820d70"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:23:10.852 [http-nio-8082-exec-5] ERROR com.dora.controller.AuthController - 用户注册失败 - phone: 18528655907 +java.lang.RuntimeException: 验证码错误或已过期 + at com.dora.service.impl.UserServiceImpl.register(UserServiceImpl.java:154) + at com.dora.controller.AuthController.register(AuthController.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) diff --git a/logs/1818-user-server-error.2026-01-30.log b/logs/1818-user-server-error.2026-01-30.log new file mode 100644 index 0000000..ffde269 --- /dev/null +++ b/logs/1818-user-server-error.2026-01-30.log @@ -0,0 +1,7849 @@ +2026-01-30 16:43:38.506 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:38.513 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:39.578 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:39.580 [MessageBroker-1] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:40.640 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:40.642 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:41.700 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:41.700 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:42.754 [MessageBroker-10] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:42.754 [MessageBroker-10] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:43.808 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:43.808 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:48.163 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:48.164 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:53.186 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:53.186 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:58.183 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:58.184 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:02.778 [MessageBroker-11] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:02.779 [MessageBroker-11] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:44:03.849 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:03.850 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:08.170 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:08.171 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:13.187 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:13.188 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:14.240 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:14.240 [MessageBroker-2] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-1] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-6] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:43.389 [MessageBroker-6] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:48.399 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:53.386 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:58.398 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:58.907 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:03.387 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:08.392 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:08.904 [MessageBroker-11] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:13.397 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:18.386 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:18.918 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:23.385 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:28.385 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:33.388 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:38.398 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:38.398 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:38.911 [MessageBroker-2] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:38.926 [MessageBroker-6] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:43.389 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:48.390 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:53.399 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:58.390 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:58.930 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:03.396 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:08.397 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:08.914 [MessageBroker-11] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:13.385 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:18.399 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:18.942 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:23.387 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:28.394 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:33.392 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.397 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.397 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.925 [MessageBroker-5] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.958 [MessageBroker-11] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:43.395 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:48.398 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:53.392 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:58.387 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:58.961 [MessageBroker-8] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:03.391 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:08.385 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:08.934 [MessageBroker-1] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:13.397 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:18.389 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:18.964 [MessageBroker-7] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:23.395 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:28.395 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:33.398 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.393 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.393 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.952 [MessageBroker-1] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.968 [MessageBroker-5] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:43.395 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:48.394 [MessageBroker-6] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:53.401 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:58.386 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:58.972 [MessageBroker-10] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:03.392 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:08.392 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:08.964 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:13.395 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:18.394 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:18.979 [MessageBroker-6] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:23.394 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:28.398 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:33.384 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.398 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.398 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.974 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.988 [MessageBroker-1] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:43.395 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:48.390 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:53.387 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:58.386 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:59.005 [MessageBroker-16] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:03.385 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:08.395 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:08.980 [MessageBroker-3] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:13.388 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:18.390 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:19.008 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:50:08.747 [http-nio-8082-exec-5] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 122.233.104.139 ipv6 ::ffff:122.233.104.139, not in whitelist rid: 697c70be-17a32b53-46bc7931,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 122.233.104.139 ipv6 ::ffff:122.233.104.139, not in whitelist rid: 697c70be-17a32b53-46bc7931"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:51:58.577 [taskExecutor-1] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交失败: code=400, msg=请求失败,该接口正在维护 +2026-01-30 16:51:58.577 [taskExecutor-1] ERROR com.dora.service.AsyncTaskExecutor - 异步任务 TASK-20260130165158157-8329 提交失败,Provider返回无效响应: ProviderTaskResponse(providerTaskId=null, status=FAILED, resultUrl=null, errorMessage=速创API提交失败: 请求失败,该接口正在维护, websocketUrl=null, clientId=null, rawResponse=null) +2026-01-30 16:51:58.581 [taskExecutor-1] ERROR com.dora.service.AsyncTaskExecutor - 任务 TASK-20260130165158157-8329 在Provider调用期间发生异常: 出现一点小错误,本次积分已回退 +java.lang.RuntimeException: 出现一点小错误,本次积分已回退 + at com.dora.service.AsyncTaskExecutor.executeApiCall(AsyncTaskExecutor.java:62) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:113) + at org.springframework.util.concurrent.FutureUtils.lambda$toSupplier$0(FutureUtils.java:74) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:51:58.581 [taskExecutor-1] ERROR com.dora.service.impl.AiTaskServiceImpl - 任务 TASK-20260130165158157-8329 处理失败。 +java.util.concurrent.CompletionException: java.lang.RuntimeException: 出现一点小错误,本次积分已回退 + at org.springframework.util.concurrent.FutureUtils.lambda$toSupplier$0(FutureUtils.java:78) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.lang.RuntimeException: 出现一点小错误,本次积分已回退 + at com.dora.service.AsyncTaskExecutor.executeApiCall(AsyncTaskExecutor.java:62) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:113) + at org.springframework.util.concurrent.FutureUtils.lambda$toSupplier$0(FutureUtils.java:74) + ... 4 common frames omitted diff --git a/logs/1818-user-server-error.log b/logs/1818-user-server-error.log new file mode 100644 index 0000000..2f04c3a --- /dev/null +++ b/logs/1818-user-server-error.log @@ -0,0 +1,5015 @@ +2026-02-03 14:04:09.082 [MessageBroker-10] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:09.087 [MessageBroker-10] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:10.363 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:10.364 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:11.647 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:11.647 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:12.930 [MessageBroker-9] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:12.931 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:14.212 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:14.213 [MessageBroker-5] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:15.500 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:15.501 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:39.712 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88) + at com.mysql.cj.NativeSession.connect(NativeSession.java:120) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.net.ConnectException: Connection timed out: no further information + at java.base/sun.nio.ch.Net.pollConnect(Native Method) + at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) + at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) + at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) + at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) + at java.base/java.net.Socket.connect(Socket.java:633) + at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) + ... 59 common frames omitted +2026-02-03 14:04:39.713 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88) + at com.mysql.cj.NativeSession.connect(NativeSession.java:120) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.net.ConnectException: Connection timed out: no further information + at java.base/sun.nio.ch.Net.pollConnect(Native Method) + at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) + at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) + at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) + at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) + at java.base/java.net.Socket.connect(Socket.java:633) + at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) + ... 59 common frames omitted +2026-02-03 14:04:40.996 [MessageBroker-7] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:40.997 [MessageBroker-7] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:42.281 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:42.282 [MessageBroker-14] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:43.577 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:43.578 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:44.863 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:44.864 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:46.132 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:46.133 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:47.415 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:47.415 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:48.701 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:48.702 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:49.985 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:49.985 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:53.950 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:53.951 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:58.959 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:58.960 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:03.570 [MessageBroker-6] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:03.571 [MessageBroker-6] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:04.857 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:04.858 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:08.960 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:08.961 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:10.229 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:10.230 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:12.046 [MessageBroker-9] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.net.SocketException: Connection reset + at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328) + at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) + at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) + at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) + at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) + at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) + at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) + at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132) + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:12.047 [MessageBroker-9] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.net.SocketException: Connection reset + at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328) + at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) + at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) + at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) + at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) + at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) + at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) + at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132) + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:09:38.278 [MessageBroker-8] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:10:08.678 [MessageBroker-3] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:10:38.983 [MessageBroker-12] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:11:09.212 [MessageBroker-15] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:11:39.522 [MessageBroker-3] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:12:10.894 [MessageBroker-5] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:12:41.501 [MessageBroker-15] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:23:03.240 [http-nio-8082-exec-9] ERROR com.dora.exception.GlobalExceptionHandler - 系统异常 +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource user/ai/tasks. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-02-03 14:23:39.663 [http-nio-8082-exec-10] ERROR com.dora.exception.GlobalExceptionHandler - 系统异常 +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource api/user/ai/tasks. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-02-03 14:23:54.583 [http-nio-8082-exec-1] ERROR com.dora.exception.GlobalExceptionHandler - 系统异常 +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource user/ai/tasks. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) diff --git a/logs/1818-user-server.2026-01-08.log b/logs/1818-user-server.2026-01-08.log new file mode 100644 index 0000000..79076a6 --- /dev/null +++ b/logs/1818-user-server.2026-01-08.log @@ -0,0 +1,1121 @@ +2026-01-08 12:49:44.644 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-08 12:49:44.686 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 40564 (C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本) +2026-01-08 12:49:44.687 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-08 12:49:44.687 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-08 12:49:53.703 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-08 12:49:53.706 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-08 12:49:53.752 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 0 Redis repository interfaces. +2026-01-08 12:49:54.584 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-08 12:49:54.596 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-08 12:49:54.597 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-08 12:49:54.597 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-08 12:49:54.658 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-08 12:49:54.659 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 9936 ms +2026-01-08 12:49:55.618 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-08 12:49:55.618 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-08 12:49:56.310 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-08 12:49:56.311 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-08 12:49:56.311 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-08 12:49:56.978 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 4379ea8f-e9e2-46eb-ad4d-7fbcdc9f787f + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-08 12:49:57.339 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@475a8415, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@58c48a23, org.springframework.security.web.context.SecurityContextHolderFilter@6dc98c02, org.springframework.security.web.header.HeaderWriterFilter@577b2c5f, org.springframework.web.filter.CorsFilter@74ea1cd0, org.springframework.security.web.authentication.logout.LogoutFilter@11548363, com.dora.config.JwtAuthenticationFilter@18ff753c, com.dora.config.ApiKeyAuthenticationFilter@5f369fc6, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@448c4742, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@308498a8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@179e8859, org.springframework.security.web.session.SessionManagementFilter@7473cfe2, org.springframework.security.web.access.ExceptionTranslationFilter@26401eda, org.springframework.security.web.access.intercept.AuthorizationFilter@6179af64] +2026-01-08 12:49:57.802 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-08 12:49:57.818 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-08 12:49:57.820 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-08 12:49:57.820 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@71904ea8]] +2026-01-08 12:49:57.820 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-08 12:49:57.832 [main] INFO com.dora.Application - Started Application in 13.653 seconds (process running for 14.523) +2026-01-08 12:49:57.834 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1767242997834 +2026-01-08 12:49:57.834 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-07T12:49:57.834632500 (24小时前) +2026-01-08 12:49:57.836 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-08 12:49:57.854 [MessageBroker-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:49:58.205 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-08 12:49:59.170 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:49:59.174 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:49:59.175 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:00.231 [MessageBroker-10] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:00.232 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:50:00.232 [MessageBroker-10] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:01.289 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:01.289 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:50:01.289 [MessageBroker-5] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:02.344 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:02.345 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:50:02.345 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-08 12:50:03.397 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:03.397 [MessageBroker-11] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:50:03.398 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-08 12:50:04.451 [MessageBroker-11] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:04.451 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-08 12:50:07.838 [MessageBroker-11] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:50:08.882 [MessageBroker-11] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-08 12:50:08.882 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-08 12:50:12.367 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-08 12:50:12.367 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@71904ea8]] +2026-01-08 12:50:12.367 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-08 12:50:45.566 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-08 12:50:45.600 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 47720 (C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\1818AI_admin\1818_user_server - 副本) +2026-01-08 12:50:45.600 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-08 12:50:45.601 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-08 12:50:46.524 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-08 12:50:46.526 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-08 12:50:46.575 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35 ms. Found 0 Redis repository interfaces. +2026-01-08 12:50:47.284 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-08 12:50:47.292 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-08 12:50:47.293 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-08 12:50:47.294 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-08 12:50:47.350 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-08 12:50:47.350 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1710 ms +2026-01-08 12:50:48.058 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-08 12:50:48.059 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-08 12:50:48.665 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-08 12:50:48.665 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-08 12:50:48.665 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-08 12:50:49.284 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: b19e5c89-d993-4791-95aa-8c35fee96ac6 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-08 12:50:49.619 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@58c48a23, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@74ea1cd0, org.springframework.security.web.context.SecurityContextHolderFilter@7af4286, org.springframework.security.web.header.HeaderWriterFilter@71eb4ea4, org.springframework.web.filter.CorsFilter@179e8859, org.springframework.security.web.authentication.logout.LogoutFilter@6be865c1, com.dora.config.JwtAuthenticationFilter@6d87253e, com.dora.config.ApiKeyAuthenticationFilter@2f262474, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@308498a8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@118cbb26, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@477dc93, org.springframework.security.web.session.SessionManagementFilter@354ed5c4, org.springframework.security.web.access.ExceptionTranslationFilter@79e591bb, org.springframework.security.web.access.intercept.AuthorizationFilter@193f5509] +2026-01-08 12:50:50.052 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-08 12:50:50.068 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-08 12:50:50.070 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-08 12:50:50.070 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@7d569c10]] +2026-01-08 12:50:50.070 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-08 12:50:50.086 [main] INFO com.dora.Application - Started Application in 4.971 seconds (process running for 5.466) +2026-01-08 12:50:50.088 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1767243050088 +2026-01-08 12:50:50.088 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-07T12:50:50.088166700 (24小时前) +2026-01-08 12:50:50.090 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-08 12:50:50.105 [MessageBroker-6] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-08 12:50:50.381 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-08 12:50:50.906 [MessageBroker-6] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@5e420467 +2026-01-08 12:50:50.907 [MessageBroker-6] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-08 12:50:50.913 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-08 12:50:50.931 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-08 12:50:50.958 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-08 12:50:50.962 [MessageBroker-5] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-08 12:50:50.963 [MessageBroker-5] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-07T12:50:50.088166700(LocalDateTime) +2026-01-08 12:50:50.978 [MessageBroker-5] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-01-08 12:50:50.978 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-01-08 12:50:50.978 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-08 12:50:50.979 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-08 12:50:50.996 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-08 12:50:50.997 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-08 12:50:50.997 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260108124843353-2911(providerTaskId:7b59d36d-dcdf-47f3-853c-78c6d65bee5e) +2026-01-08 12:50:50.997 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260108124843353-2911, providerTaskId: 7b59d36d-dcdf-47f3-853c-78c6d65bee5e, 模型: sc_sora2_text_landscape_10s_large, 创建时间: 2026-01-08T12:48:43 +2026-01-08 12:50:50.997 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-08T12:40:50.088166700(LocalDateTime) +2026-01-08 12:50:50.997 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260108124843353-2911, 调用queryTaskStatus... +2026-01-08 12:50:50.997 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 7b59d36d-dcdf-47f3-853c-78c6d65bee5e +2026-01-08 12:50:51.000 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=7b59d36d-dcdf-47f3-853c-78c6d65bee5e, taskId=7b59d36d-dcdf-47f3-853c-78c6d65bee5e +2026-01-08 12:50:51.010 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-08 12:50:51.010 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-08 12:50:51.011 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-08 12:50:51.045 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-08 12:50:51.593 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"内容保持真实感、情绪爆发点和镜头切换,适合短视频平台。 --- # 15秒 AI 生成视频文案 (外国大学老师怒斥学生用AI做作业) **镜头1(0–3秒)中景** 老师站在讲台前,把一叠作业“啪”地摔在桌上。 学生们立刻安静。 【台词】Quiet! All of you! **镜头2(3–7秒)近景** 老师愤怒地指着作业。 【台词】Do you think I can’t tell this is AI-written? **镜头3(7–11秒)中景** 老师举起一张作业纸,声音更大。 【台词】This is not your writing! This is a machine! **镜头4(11–15秒)特写+全景** 老师眼神严厉,指向全班。 【台词】Zero. All of you. Redo it. By yourselves. 镜头拉远,学生们低头沉默。(视频整体视角展现为学生在教室偷拍的)","status":0,"fail_reason":null,"created_at":"2026-01-08 12:48:45","updated_at":"2026-01-08 12:48:45","remote_url":"","size":"large","duration":10,"aspectRatio":"16:9","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"7b59d36d-dcdf-47f3-853c-78c6d65bee5e"},"exec_time":0.333229,"ip":"115.204.7.6"} +2026-01-08 12:50:51.648 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=7b59d36d-dcdf-47f3-853c-78c6d65bee5e, status=0, content=内容保持真实感、情绪爆发点和镜头切换,适合短视频平台。 --- # 15秒 AI 生成视频文案 (外国大学老师怒斥学生用AI做作业) **镜头1(0–3秒)中景** 老师站在讲台前,把一叠作业“啪”地摔在桌上。 学生们立刻安静。 【台词】Quiet! All of you! **镜头2(3–7秒)近景** 老师愤怒地指着作业。 【台词】Do you think I can’t tell this is AI-written? **镜头3(7–11秒)中景** 老师举起一张作业纸,声音更大。 【台词】This is not your writing! This is a machine! **镜头4(11–15秒)特写 全景** 老师眼神严厉,指向全班。 【台词】Zero. All of you. Redo it. By yourselves. 镜头拉远,学生们低头沉默。(视频整体视角展现为学生在教室偷拍的) +2026-01-08 12:50:51.648 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=7b59d36d-dcdf-47f3-853c-78c6d65bee5e, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-08 12:50:51.649 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260108124843353-2911, 状态: QUEUED +2026-01-08 12:50:51.678 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-08 12:50:51.678 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 7b59d36d-dcdf-47f3-853c-78c6d65bee5e(String), 2026-01-08T12:48:43(LocalDateTime), 2781(Long) +2026-01-08 12:50:51.706 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-08 12:50:51.706 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260108124843353-2911, 状态: QUEUED, 已运行 2 分钟 +2026-01-08 12:50:55.096 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-08 12:50:55.096 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-08 12:50:55.112 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-08 12:51:00.095 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-08 12:51:00.095 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-08 12:51:00.110 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-08 12:51:05.093 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-08 12:51:05.093 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-08 12:51:05.109 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-08 12:51:10.103 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-08 12:51:10.103 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-08 12:51:10.118 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-08 12:51:10.990 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-08 12:51:10.991 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-08 12:51:11.004 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-08 12:51:15.102 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-08 12:51:15.102 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-08 12:51:15.117 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-08 12:51:19.259 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-08 12:51:19.259 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@7d569c10]] +2026-01-08 12:51:19.259 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-08 12:51:19.402 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-08 12:51:19.406 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/logs/1818-user-server.2026-01-13.log b/logs/1818-user-server.2026-01-13.log new file mode 100644 index 0000000..a6a278e --- /dev/null +++ b/logs/1818-user-server.2026-01-13.log @@ -0,0 +1,15403 @@ +2026-01-13 14:05:04.069 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-13 14:05:04.117 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 17212 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-13 14:05:04.118 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-13 14:05:04.119 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-13 14:05:10.073 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-13 14:05:10.075 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-13 14:05:10.121 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 0 Redis repository interfaces. +2026-01-13 14:05:10.923 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-13 14:05:10.934 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-13 14:05:10.936 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-13 14:05:10.936 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-13 14:05:11.003 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-13 14:05:11.003 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 6838 ms +2026-01-13 14:05:11.995 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-13 14:05:11.996 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-13 14:05:12.655 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-13 14:05:12.656 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-13 14:05:12.656 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-13 14:05:13.499 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 6027af99-cd5f-4344-bb26-95282ff74212 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-13 14:05:13.876 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@718b9d56, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@36a59d8, org.springframework.security.web.context.SecurityContextHolderFilter@1adc38a0, org.springframework.security.web.header.HeaderWriterFilter@c11ec9b, org.springframework.web.filter.CorsFilter@51751265, org.springframework.security.web.authentication.logout.LogoutFilter@354ed5c4, com.dora.config.JwtAuthenticationFilter@1eee9b78, com.dora.config.ApiKeyAuthenticationFilter@11dbcb3b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1651bd68, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@44a25dc7, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7f59f4e4, org.springframework.security.web.session.SessionManagementFilter@605c2b9f, org.springframework.security.web.access.ExceptionTranslationFilter@4578d654, org.springframework.security.web.access.intercept.AuthorizationFilter@b7b26c6] +2026-01-13 14:05:14.433 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-13 14:05:14.453 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-13 14:05:14.455 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-13 14:05:14.456 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@1220969]] +2026-01-13 14:05:14.456 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-13 14:05:14.469 [main] INFO com.dora.Application - Started Application in 10.954 seconds (process running for 11.823) +2026-01-13 14:05:14.472 [MessageBroker-4] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1767679514472 +2026-01-13 14:05:14.472 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-12T14:05:14.472338700 (24小时前) +2026-01-13 14:05:14.475 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-13 14:05:14.496 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:14.909 [MessageBroker-4] DEBUG com.dora.service.JwtTokenManager - 清理过期用户token - key: user_tokens:17568806349747314, removed: 1 +2026-01-13 14:05:14.909 [MessageBroker-4] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-13 14:05:15.839 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:15.843 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:15.845 [MessageBroker-5] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:16.910 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:16.911 [MessageBroker-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:16.911 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:17.970 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:17.971 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:17.971 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:19.037 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:19.038 [MessageBroker-12] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:19.038 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:20.099 [MessageBroker-12] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:20.099 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:20.100 [MessageBroker-12] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:21.157 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:21.157 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:24.478 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:25.534 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:25.534 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:29.475 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:30.535 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:30.535 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:34.477 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:35.536 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:35.537 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:36.922 [MessageBroker-7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:37.978 [MessageBroker-7] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:37.978 [MessageBroker-7] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:39.477 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:40.535 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:40.535 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:44.476 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:45.541 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:45.541 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:49.473 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:50.527 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:50.527 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:50.527 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:51.593 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:51.593 [MessageBroker-2] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:54.469 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:55.541 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:55.541 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-13 14:05:57.985 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:05:59.056 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:05:59.057 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:05:59.467 [MessageBroker-8] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:00.524 [MessageBroker-8] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:00.524 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:04.477 [MessageBroker-8] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:05.552 [MessageBroker-8] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:05.552 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:09.476 [MessageBroker-8] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:10.530 [MessageBroker-8] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:10.531 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:14.433 [MessageBroker-7] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-13 14:06:14.475 [MessageBroker-12] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:15.548 [MessageBroker-12] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:15.548 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:15.548 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:16.604 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:16.605 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:19.072 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:20.133 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:20.133 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:20.133 [MessageBroker-15] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:21.190 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:21.191 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:21.600 [MessageBroker-16] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:22.654 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:22.654 [MessageBroker-16] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:24.466 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:25.519 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:25.520 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:29.481 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:30.537 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:30.537 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-13 14:06:34.468 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:35.524 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:35.524 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:39.471 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:40.529 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:40.530 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:40.530 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:41.590 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:41.591 [MessageBroker-14] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:44.470 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:45.537 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:45.537 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:49.477 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:50.530 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:50.531 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:52.658 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:53.718 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:53.718 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:54.477 [MessageBroker-16] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:06:55.532 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:06:55.532 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:06:59.465 [MessageBroker-16] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:00.574 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:00.576 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:01.594 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:02.746 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:02.747 [MessageBroker-15] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:04.473 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:05.528 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:05.529 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:09.475 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:10.533 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:10.533 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:14.478 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:15.540 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:15.540 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:15.541 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:16.486 [http-nio-8082-exec-3] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1765027128,1765256018,1767101442,1767336457] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-13 14:07:16.486 [http-nio-8082-exec-4] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1765027128,1765256018,1767101442,1767336457] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-13 14:07:16.486 [http-nio-8082-exec-1] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1765027128,1765256018,1767101442,1767336457] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-13 14:07:16.493 [http-nio-8082-exec-4] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-01-13 14:07:16.493 [http-nio-8082-exec-4] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-01-13 14:07:16.495 [http-nio-8082-exec-4] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2026-01-13 14:07:16.524 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/categories +2026-01-13 14:07:16.524 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-13 14:07:16.524 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:07:16.524 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/categories +2026-01-13 14:07:16.611 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:16.612 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:16.632 [http-nio-8082-exec-3] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 578180631 milliseconds ago at 2026-01-06T13:30:56.000Z. Current time: 2026-01-13T06:07:16.631Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:07:16.632 [http-nio-8082-exec-2] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 578180631 milliseconds ago at 2026-01-06T13:30:56.000Z. Current time: 2026-01-13T06:07:16.631Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:07:16.632 [http-nio-8082-exec-1] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 578180631 milliseconds ago at 2026-01-06T13:30:56.000Z. Current time: 2026-01-13T06:07:16.631Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:07:16.632 [http-nio-8082-exec-4] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 578180631 milliseconds ago at 2026-01-06T13:30:56.000Z. Current time: 2026-01-13T06:07:16.631Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:07:16.632 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/categories +2026-01-13 14:07:16.632 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/categories +2026-01-13 14:07:16.632 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/banner/list +2026-01-13 14:07:16.633 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:16.633 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:07:16.633 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:07:16.633 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:07:16.650 [http-nio-8082-exec-4] INFO com.dora.controller.CourseController - 获取课程分类列表 +2026-01-13 14:07:16.650 [http-nio-8082-exec-2] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-13 14:07:16.650 [http-nio-8082-exec-2] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-13 14:07:16.689 [http-nio-8082-exec-3] INFO com.dora.controller.WorkflowController - 获取工作流分类列表 +2026-01-13 14:07:17.693 [http-nio-8082-exec-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy107.selectByKeyValue(Unknown Source) + at com.dora.service.ApiKeyService.validateApiKeyForNonMember(ApiKeyService.java:186) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.ApiKeyService$$SpringCGLIB$$0.validateApiKeyForNonMember() + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:17.693 [http-nio-8082-exec-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:17.693 [http-nio-8082-exec-1] ERROR com.dora.config.ApiKeyAuthenticationFilter - API Key认证过程中发生错误: null +2026-01-13 14:07:17.698 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:07:17.698 [http-nio-8082-exec-1] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:07:18.746 [http-nio-8082-exec-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.countAllWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getCategories(WorkflowServiceImpl.java:60) + at com.dora.controller.WorkflowController.getCategories(WorkflowController.java:50) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getCategories() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:18.747 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:18.747 [http-nio-8082-exec-3] ERROR com.dora.service.impl.WorkflowServiceImpl - 获取工作流分类列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.countAllWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getCategories(WorkflowServiceImpl.java:60) + at com.dora.controller.WorkflowController.getCategories(WorkflowController.java:50) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getCategories() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\WorkflowMapper.xml] +### The error may involve com.dora.mapper.WorkflowMapper.countAllWorkflows +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 130 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 138 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 150 common frames omitted +2026-01-13 14:07:18.748 [http-nio-8082-exec-3] ERROR com.dora.controller.WorkflowController - 获取工作流分类列表失败 +com.dora.exception.BusinessException: 获取工作流分类列表失败 + at com.dora.service.impl.WorkflowServiceImpl.getCategories(WorkflowServiceImpl.java:101) + at com.dora.controller.WorkflowController.getCategories(WorkflowController.java:50) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getCategories() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:18.815 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/hot +2026-01-13 14:07:18.816 [http-nio-8082-exec-5] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 578182815 milliseconds ago at 2026-01-06T13:30:56.000Z. Current time: 2026-01-13T06:07:18.815Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:07:18.816 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/hot +2026-01-13 14:07:18.816 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:07:18.832 [http-nio-8082-exec-5] INFO com.dora.controller.WorkflowController - 获取热门工作流列表 - page: 1, size: 32 +2026-01-13 14:07:19.804 [http-nio-8082-exec-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy135.selectAllEnabled(Unknown Source) + at com.dora.service.impl.BannerServiceImpl.getAllEnabledBanners(BannerServiceImpl.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.BannerServiceImpl$$SpringCGLIB$$0.getAllEnabledBanners() + at com.dora.controller.BannerController.getBannerList(BannerController.java:31) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:19.805 [http-nio-8082-exec-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:19.806 [http-nio-8082-exec-2] ERROR com.dora.controller.BannerController - 获取Banner列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy135.selectAllEnabled(Unknown Source) + at com.dora.service.impl.BannerServiceImpl.getAllEnabledBanners(BannerServiceImpl.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.BannerServiceImpl$$SpringCGLIB$$0.getAllEnabledBanners() + at com.dora.controller.BannerController.getBannerList(BannerController.java:31) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\BannerMapper.xml] +### The error may involve com.dora.mapper.BannerMapper.selectAllEnabled +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 125 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 131 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 143 common frames omitted +2026-01-13 14:07:20.872 [http-nio-8082-exec-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy137.countAllCourses(Unknown Source) + at com.dora.service.impl.CourseServiceImpl.getCategories(CourseServiceImpl.java:66) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.CourseServiceImpl$$SpringCGLIB$$0.getCategories() + at com.dora.controller.CourseController.getCategories(CourseController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:20.873 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:20.873 [http-nio-8082-exec-4] ERROR com.dora.service.impl.CourseServiceImpl - 获取课程分类列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy137.countAllCourses(Unknown Source) + at com.dora.service.impl.CourseServiceImpl.getCategories(CourseServiceImpl.java:66) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.CourseServiceImpl$$SpringCGLIB$$0.getCategories() + at com.dora.controller.CourseController.getCategories(CourseController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\CourseMapper.xml] +### The error may involve com.dora.mapper.CourseMapper.countAllCourses +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 124 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 132 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 144 common frames omitted +2026-01-13 14:07:20.874 [http-nio-8082-exec-4] ERROR com.dora.controller.CourseController - 获取课程分类列表失败 +com.dora.exception.BusinessException: 获取课程分类列表失败 + at com.dora.service.impl.CourseServiceImpl.getCategories(CourseServiceImpl.java:107) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.CourseServiceImpl$$SpringCGLIB$$0.getCategories() + at com.dora.controller.CourseController.getCategories(CourseController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:21.924 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:21.924 [http-nio-8082-exec-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:21.925 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:22.979 [http-nio-8082-exec-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.selectHotWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getHotWorkflows(WorkflowServiceImpl.java:111) + at com.dora.controller.WorkflowController.getHotWorkflows(WorkflowController.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getHotWorkflows() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:22.980 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:22.980 [http-nio-8082-exec-5] ERROR com.dora.service.impl.WorkflowServiceImpl - 获取热门工作流列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy122.selectHotWorkflows(Unknown Source) + at com.dora.service.impl.WorkflowServiceImpl.getHotWorkflows(WorkflowServiceImpl.java:111) + at com.dora.controller.WorkflowController.getHotWorkflows(WorkflowController.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getHotWorkflows() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\WorkflowMapper.xml] +### The error may involve com.dora.mapper.WorkflowMapper.selectHotWorkflows +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 131 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 137 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 149 common frames omitted +2026-01-13 14:07:22.981 [http-nio-8082-exec-5] ERROR com.dora.controller.WorkflowController - 获取热门工作流列表失败 - page: 1, size: 32 +com.dora.exception.BusinessException: 获取热门工作流列表失败 + at com.dora.service.impl.WorkflowServiceImpl.getHotWorkflows(WorkflowServiceImpl.java:120) + at com.dora.controller.WorkflowController.getHotWorkflows(WorkflowController.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WorkflowController$$SpringCGLIB$$0.getHotWorkflows() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:24.035 [http-nio-8082-exec-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy184.selectAll(Unknown Source) + at com.dora.service.impl.WechatQrCodeServiceImpl.getAllQrCodes(WechatQrCodeServiceImpl.java:27) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.WechatQrCodeServiceImpl$$SpringCGLIB$$0.getAllQrCodes() + at com.dora.controller.WechatQrCodeController.getAllQrCodes(WechatQrCodeController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WechatQrCodeController$$SpringCGLIB$$0.getAllQrCodes() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:24.036 [MessageBroker-16] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:24.036 [http-nio-8082-exec-1] ERROR com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy184.selectAll(Unknown Source) + at com.dora.service.impl.WechatQrCodeServiceImpl.getAllQrCodes(WechatQrCodeServiceImpl.java:27) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) + at com.dora.service.impl.WechatQrCodeServiceImpl$$SpringCGLIB$$0.getAllQrCodes() + at com.dora.controller.WechatQrCodeController.getAllQrCodes(WechatQrCodeController.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.dora.controller.WechatQrCodeController$$SpringCGLIB$$0.getAllQrCodes() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\WechatQrCodeMapper.xml] +### The error may involve com.dora.mapper.WechatQrCodeMapper.selectAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 138 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 144 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 156 common frames omitted +2026-01-13 14:07:25.089 [MessageBroker-16] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:25.089 [MessageBroker-9] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:25.089 [MessageBroker-16] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:26.154 [MessageBroker-9] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:26.154 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:26.154 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:27.224 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:27.228 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:29.472 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:30.525 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:30.525 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:34.472 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:35.525 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:35.525 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:39.467 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:40.523 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:40.523 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:44.469 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:45.526 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:45.526 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:46.158 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:47.216 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:47.216 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:49.466 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:50.509 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:50.509 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:54.477 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:55.534 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:55.534 [MessageBroker-7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:07:55.534 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:56.592 [MessageBroker-7] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:07:56.592 [MessageBroker-7] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:07:59.478 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:00.520 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:00.520 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:04.468 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:05.538 [MessageBroker-4] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:05.538 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:07.224 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:08.293 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:08.293 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:09.475 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:10.533 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:10.533 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:14.474 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:15.527 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:15.527 [MessageBroker-12] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:15.527 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:16.594 [MessageBroker-12] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:16.594 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:19.479 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:20.535 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:20.535 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:24.466 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:25.514 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:25.514 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:26.599 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:26.700 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-13 14:08:26.700 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@1220969]] +2026-01-13 14:08:26.700 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-13 14:08:27.657 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:27.657 [MessageBroker-3] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +2026-01-13 14:08:30.287 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-13 14:08:30.320 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 39904 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-13 14:08:30.321 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-13 14:08:30.321 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-13 14:08:31.290 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-13 14:08:31.292 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-13 14:08:31.338 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34 ms. Found 0 Redis repository interfaces. +2026-01-13 14:08:32.040 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-13 14:08:32.048 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-13 14:08:32.049 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-13 14:08:32.050 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-13 14:08:32.105 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-13 14:08:32.105 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1741 ms +2026-01-13 14:08:32.864 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-13 14:08:32.865 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-13 14:08:33.483 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-13 14:08:33.483 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-13 14:08:33.483 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-13 14:08:34.131 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: d92ab4c0-42bc-4eb4-8e93-de14ce359ff0 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-13 14:08:34.474 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@6be865c1, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4c140b12, org.springframework.security.web.context.SecurityContextHolderFilter@2456716b, org.springframework.security.web.header.HeaderWriterFilter@508de524, org.springframework.web.filter.CorsFilter@d140627, org.springframework.security.web.authentication.logout.LogoutFilter@4ab1693b, com.dora.config.JwtAuthenticationFilter@560be8c0, com.dora.config.ApiKeyAuthenticationFilter@5100c143, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6d43c881, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@467625e3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@386ec37d, org.springframework.security.web.session.SessionManagementFilter@208ce928, org.springframework.security.web.access.ExceptionTranslationFilter@44a25dc7, org.springframework.security.web.access.intercept.AuthorizationFilter@136a5572] +2026-01-13 14:08:34.940 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-13 14:08:34.959 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-13 14:08:34.961 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-13 14:08:34.961 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@2d3bb293]] +2026-01-13 14:08:34.962 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-13 14:08:34.973 [main] INFO com.dora.Application - Started Application in 5.184 seconds (process running for 5.773) +2026-01-13 14:08:34.974 [MessageBroker-7] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1767679714974 +2026-01-13 14:08:34.975 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-12T14:08:34.974457600 (24小时前) +2026-01-13 14:08:34.977 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-13 14:08:34.992 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:08:35.255 [MessageBroker-7] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-13 14:08:35.342 [MessageBroker-3] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@632feeae +2026-01-13 14:08:35.343 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-13 14:08:35.348 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:08:35.364 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:08:35.416 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:08:35.420 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:08:35.421 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:08:35.436 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:08:35.436 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-13 14:08:35.437 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-12T14:08:34.974457600(LocalDateTime) +2026-01-13 14:08:35.453 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-01-13 14:08:35.453 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:08:35.453 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-01-13 14:08:35.454 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T13:58:34.974457600(LocalDateTime) +2026-01-13 14:08:35.455 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:08:35.455 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:08:35.466 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:08:35.467 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:08:39.987 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:08:39.987 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:08:40.005 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:08:40.547 [http-nio-8082-exec-1] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1767101442,1767336457,1768284437;] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-13 14:08:40.554 [http-nio-8082-exec-4] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-01-13 14:08:40.555 [http-nio-8082-exec-4] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-01-13 14:08:40.556 [http-nio-8082-exec-4] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2026-01-13 14:08:40.581 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/categories +2026-01-13 14:08:40.581 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-13 14:08:40.581 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:08:40.581 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/categories +2026-01-13 14:08:40.582 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/categories +2026-01-13 14:08:40.582 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/banner/list +2026-01-13 14:08:40.582 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/categories +2026-01-13 14:08:40.582 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:08:40.583 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:08:40.583 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:08:40.583 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:08:40.600 [http-nio-8082-exec-2] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-13 14:08:40.600 [http-nio-8082-exec-4] INFO com.dora.controller.CourseController - 获取课程分类列表 +2026-01-13 14:08:40.600 [http-nio-8082-exec-2] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-13 14:08:40.610 [http-nio-8082-exec-4] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-13 14:08:40.610 [http-nio-8082-exec-4] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-13 14:08:40.613 [http-nio-8082-exec-2] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:08:40.613 [http-nio-8082-exec-2] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-13 14:08:40.620 [http-nio-8082-exec-4] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-13 14:08:40.621 [http-nio-8082-exec-4] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:08:40.621 [http-nio-8082-exec-4] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 1(Integer) +2026-01-13 14:08:40.624 [http-nio-8082-exec-3] INFO com.dora.controller.WorkflowController - 获取工作流分类列表 +2026-01-13 14:08:40.624 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:08:40.624 [http-nio-8082-exec-1] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:08:40.627 [http-nio-8082-exec-2] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-13 14:08:40.631 [http-nio-8082-exec-4] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 3 +2026-01-13 14:08:40.632 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-13 14:08:40.632 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-13 14:08:40.633 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.633 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 1(Long), 1(Long) +2026-01-13 14:08:40.634 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:08:40.634 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:08:40.641 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-13 14:08:40.641 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:08:40.641 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 2(Integer) +2026-01-13 14:08:40.643 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:08:40.644 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.644 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 6(Long), 6(Long) +2026-01-13 14:08:40.645 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:08:40.647 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:08:40.652 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 10 +2026-01-13 14:08:40.653 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.653 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:08:40.653 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 15(Long), 15(Long) +2026-01-13 14:08:40.654 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.654 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 13(Long), 13(Long) +2026-01-13 14:08:40.662 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.663 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.664 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 16(Long), 16(Long) +2026-01-13 14:08:40.665 [http-nio-8082-exec-4] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:08:40.672 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.672 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.673 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 17(Long), 17(Long) +2026-01-13 14:08:40.681 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.682 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.682 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 7(Long), 7(Long) +2026-01-13 14:08:40.691 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.691 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/hot +2026-01-13 14:08:40.691 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/hot +2026-01-13 14:08:40.691 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.691 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:08:40.692 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 8(Long), 8(Long) +2026-01-13 14:08:40.699 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.700 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.700 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 9(Long), 9(Long) +2026-01-13 14:08:40.709 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.710 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.710 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 10(Long), 10(Long) +2026-01-13 14:08:40.713 [http-nio-8082-exec-5] INFO com.dora.controller.CourseController - 获取热门课程列表 - page: 1, size: 32 +2026-01-13 14:08:40.714 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Preparing: SELECT c.id, c.title, c.description, c.cover_url, c.detail_gallery, c.price, c.level, c.category, c.category_id, c.audit_status, c.reject_reason, c.review_time, c.user_id, c.is_free, c.create_time, c.update_time, c.is_deleted FROM course c LEFT JOIN ( -- 计算课程总观看次数 SELECT cc.course_id, COALESCE(SUM(v.view_count), 0) as total_view_count FROM course_chapter cc LEFT JOIN course_video cv ON cc.id = cv.chapter_id AND cv.is_deleted = 0 LEFT JOIN video v ON cv.video_id = v.id AND v.is_deleted = 0 WHERE cc.is_deleted = 0 GROUP BY cc.course_id ) view_stats ON c.id = view_stats.course_id LEFT JOIN ( -- 计算课程点赞次数 SELECT course_id, COUNT(*) as like_count FROM course_like WHERE is_deleted = 0 GROUP BY course_id ) like_stats ON c.id = like_stats.course_id WHERE c.is_deleted = 0 AND c.audit_status = 1 ORDER BY -- 综合评分公式: 观看次数40% + 点赞次数30% + 时间分数30% ( (COALESCE(view_stats.total_view_count, 0) * 0.4) + (COALESCE(like_stats.like_count, 0) * 0.3) + ((1000 / (DATEDIFF(NOW(), c.create_time) + 1)) * 0.3) ) DESC LIMIT ?, ? +2026-01-13 14:08:40.715 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Parameters: 0(Integer), 32(Integer) +2026-01-13 14:08:40.720 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.720 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.721 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 11(Long), 11(Long) +2026-01-13 14:08:40.729 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.730 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.730 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 12(Long), 12(Long) +2026-01-13 14:08:40.731 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - <== Total: 12 +2026-01-13 14:08:40.731 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-13 14:08:40.731 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-13 14:08:40.738 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.739 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:08:40.739 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 14(Long), 14(Long) +2026-01-13 14:08:40.744 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-13 14:08:40.748 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:08:40.748 [http-nio-8082-exec-3] INFO com.dora.service.impl.WorkflowServiceImpl - 工作流分类数量超过10个,已限制为前10个分类 +2026-01-13 14:08:40.759 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/hot +2026-01-13 14:08:40.760 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/hot +2026-01-13 14:08:40.760 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:08:40.761 [http-nio-8082-exec-6] INFO com.dora.controller.WorkflowController - 获取热门工作流列表 - page: 1, size: 32 +2026-01-13 14:08:40.762 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? ) AND is_deleted = 0 +2026-01-13 14:08:40.762 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Preparing: SELECT id, name, description, cover_url, detail_gallery, price, owner_id, category, audit_status, reject_reason, review_time, is_free, full_access_role, copy_access_role, is_public, like_count, rating, video_id, data, data_file_url, create_time, update_time, is_deleted FROM workflow WHERE audit_status = 1 AND is_deleted = 0 ORDER BY like_count DESC, create_time DESC LIMIT ?, ? +2026-01-13 14:08:40.762 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564379418669007(Long) +2026-01-13 14:08:40.762 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Parameters: 0(Integer), 32(Integer) +2026-01-13 14:08:40.777 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 1 +2026-01-13 14:08:40.778 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:40.778 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:08:40.788 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - <== Total: 32 +2026-01-13 14:08:40.789 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-13 14:08:40.789 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-13 14:08:40.793 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:40.793 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:40.794 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:08:40.799 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-13 14:08:40.800 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? , ? , ? , ? , ? , ? ) AND is_deleted = 0 +2026-01-13 14:08:40.800 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564481182853556(Long), 17564630096767044(Long), 17564794376041081(Long), 17567400320744741(Long), 17564379418669007(Long), 17564803204774202(Long) +2026-01-13 14:08:40.807 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:40.808 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:40.808 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:08:40.810 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 6 +2026-01-13 14:08:40.822 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:40.824 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:40.825 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:08:40.838 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:40.839 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:40.839 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:08:40.853 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:40.853 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:40.854 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:08:40.867 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:40.867 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:40.868 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:08:40.881 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:40.881 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:40.882 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:08:40.895 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:40.896 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:40.896 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:08:40.909 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:40.910 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:40.910 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:08:40.924 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:40.924 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:40.925 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:08:40.937 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:40.937 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:40.937 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:08:40.951 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:40.952 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:40.952 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:08:40.965 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:40.965 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:40.966 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:08:40.979 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:40.980 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:40.981 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:08:40.994 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:40.995 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:40.995 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:08:41.008 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.009 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.009 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:08:41.023 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.024 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.024 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:08:41.037 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:41.038 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:41.038 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:08:41.051 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.052 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.052 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:08:41.065 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.066 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.066 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:08:41.080 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:41.081 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:41.081 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:08:41.094 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.095 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.095 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:08:41.108 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.109 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.109 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:08:41.122 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:41.122 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:41.123 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:08:41.136 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.136 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.136 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:08:41.151 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.151 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.152 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:08:41.165 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:41.166 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:41.166 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:08:41.179 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.179 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.180 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:08:41.193 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.194 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.194 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:08:41.207 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:41.207 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:41.207 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:08:41.221 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.221 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.221 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:08:41.234 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.235 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.235 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:08:41.249 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:41.250 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:08:41.250 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:08:41.263 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:08:41.263 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:08:41.263 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:08:41.277 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:08:41.278 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:08:41.278 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:08:41.291 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:08:43.797 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/wechat/qr/login +2026-01-13 14:08:43.798 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:08:44.026 [http-nio-8082-exec-10] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e16b-475bb983-0a7c5a27,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e16b-475bb983-0a7c5a27"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:08:44.988 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:08:44.988 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:08:45.004 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:08:49.998 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:08:49.998 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:08:50.013 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:08:54.999 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:08:54.999 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:08:55.015 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:08:55.479 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:08:55.480 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:08:55.493 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:08:59.986 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:08:59.987 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:00.001 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:04.987 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:04.987 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:05.001 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:05.444 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:09:05.444 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:09:05.459 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:09:05.460 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113140843074-7713(providerTaskId:8bee82f2-e914-4753-b3f0-eb0f9933ddba) +2026-01-13 14:09:05.460 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113140843074-7713, providerTaskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:08:43 +2026-01-13 14:09:05.460 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113140843074-7713, 调用queryTaskStatus... +2026-01-13 14:09:05.460 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:09:05.461 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=8bee82f2-e914-4753-b3f0-eb0f9933ddba, taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:09:05.985 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:08:43","updated_at":"2026-01-13 14:08:43","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284523002_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"8bee82f2-e914-4753-b3f0-eb0f9933ddba"},"exec_time":0.343763,"ip":"115.204.7.6"} +2026-01-13 14:09:06.050 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:09:06.050 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:09:06.051 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113140843074-7713, 状态: QUEUED +2026-01-13 14:09:06.077 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:09:06.077 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 8bee82f2-e914-4753-b3f0-eb0f9933ddba(String), 2026-01-13T14:08:43(LocalDateTime), 2882(Long) +2026-01-13 14:09:06.106 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:09:06.107 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113140843074-7713, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:09:07.178 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/msm/send/18528655907 +2026-01-13 14:09:07.178 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/msm/send/18528655907 +2026-01-13 14:09:07.178 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:09:07.187 [http-nio-8082-exec-8] INFO com.dora.controller.MsmController - 发送短信验证码 - phone: 18528655907, force: false +2026-01-13 14:09:07.533 [http-nio-8082-exec-8] INFO com.dora.service.impl.MsmServiceImpl - 短信发送响应: {"Message":"OK","RequestId":"9E1D4B65-07DF-5C9E-9421-4558FFBE31BA","Code":"OK","BizId":"837315268284547072^0"} +2026-01-13 14:09:07.534 [http-nio-8082-exec-8] INFO com.dora.service.impl.MsmServiceImpl - 短信发送成功 - phone: 18528655907 +2026-01-13 14:09:07.538 [http-nio-8082-exec-8] INFO com.dora.controller.MsmController - 短信验证码发送成功 - phone: 18528655907, code: 867082, force: false +2026-01-13 14:09:09.985 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:09.986 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:10.001 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:14.985 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:14.986 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:15.000 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:15.521 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:09:15.521 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:09:15.536 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:09:19.993 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:19.993 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:20.008 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:24.992 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:24.992 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:25.007 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:26.246 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/auth/register +2026-01-13 14:09:26.246 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/register +2026-01-13 14:09:26.246 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:09:26.309 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE phone = ? LIMIT 1 +2026-01-13 14:09:26.309 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - ==> Parameters: 18528655907(String) +2026-01-13 14:09:26.322 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - <== Total: 0 +2026-01-13 14:09:26.329 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.insert - ==> Preparing: INSERT INTO user ( id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2026-01-13 14:09:26.331 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.insert - ==> Parameters: 17682845663252873(Long), 18528655907(String), null, 用户192584(String), null, null, null, 1(Integer), 2026-01-15T14:09:26.325349900(LocalDateTime), https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAJblmiMe_d10FU66N4nQAQMfscumNdFAALDGwACUsZhVEphmi-3nWulNgQ.png(String), 0(Integer), K61JNG(String), null, 1(Integer), 0(Integer), null, 2026-01-13T14:09:26.329502300(LocalDateTime), 2026-01-13T14:09:26.329502300(LocalDateTime), 0(Integer) +2026-01-13 14:09:26.359 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.insert - <== Updates: 1 +2026-01-13 14:09:26.381 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.382 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.395 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:26.397 [http-nio-8082-exec-9] DEBUG c.dora.mapper.UserMapper.updateRoleAndMembership - ==> Preparing: UPDATE user SET role = ?, membership_expires_at = ?, update_time = NOW() WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.397 [http-nio-8082-exec-9] DEBUG c.dora.mapper.UserMapper.updateRoleAndMembership - ==> Parameters: 2(Integer), 2026-01-15T14:09:26.396722900(LocalDateTime), 17682845663252873(Long) +2026-01-13 14:09:26.422 [http-nio-8082-exec-9] DEBUG c.dora.mapper.UserMapper.updateRoleAndMembership - <== Updates: 1 +2026-01-13 14:09:26.423 [http-nio-8082-exec-9] INFO com.dora.service.impl.UserMembershipServiceImpl - 新用户默认VIP身份设置成功 - userId: 17682845663252873, expiresAt: 2026-01-15T14:09:26.396722900 +2026-01-13 14:09:26.466 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.466 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.479 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-13 14:09:26.480 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-13 14:09:26.480 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: 200(Integer), 17682845663252873(Long), 200(Integer) +2026-01-13 14:09:26.508 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-13 14:09:26.509 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-13 14:09:26.510 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17682845663252873(Long), null, grant(String), 200(Integer), 0(Integer), 200(Integer), 新用户注册奖励(String), 0(Integer) +2026-01-13 14:09:26.536 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-13 14:09:26.565 [http-nio-8082-exec-9] INFO com.dora.service.impl.UserServiceImpl - 新用户注册积分发放成功 - userId: 17682845663252873, 积分: 200 +2026-01-13 14:09:26.579 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.countFansByInviterId - ==> Preparing: SELECT COUNT(*) FROM user WHERE inviter_id = ? AND is_deleted = 0 +2026-01-13 14:09:26.580 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.countFansByInviterId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.593 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.countFansByInviterId - <== Total: 1 +2026-01-13 14:09:26.594 [http-nio-8082-exec-9] DEBUG c.d.mapper.RevenueConfigMapper.selectByConfigType - ==> Preparing: SELECT * FROM revenue_config WHERE config_type = ? AND is_deleted = 0 ORDER BY level ASC, create_time DESC +2026-01-13 14:09:26.594 [http-nio-8082-exec-9] DEBUG c.d.mapper.RevenueConfigMapper.selectByConfigType - ==> Parameters: promotion(String) +2026-01-13 14:09:26.607 [http-nio-8082-exec-9] DEBUG c.d.mapper.RevenueConfigMapper.selectByConfigType - <== Total: 3 +2026-01-13 14:09:26.608 [http-nio-8082-exec-9] DEBUG com.dora.util.PromotionLevelCalculator - 计算推广等级 - totalFansCount: 0, 可用配置数量: 3 +2026-01-13 14:09:26.608 [http-nio-8082-exec-9] DEBUG com.dora.util.PromotionLevelCalculator - 等级配置检查 - level: 1, minFans: 0, totalFans: 0, 是否匹配: true +2026-01-13 14:09:26.608 [http-nio-8082-exec-9] DEBUG com.dora.util.PromotionLevelCalculator - 等级配置检查 - level: 2, minFans: 11, totalFans: 0, 是否匹配: false +2026-01-13 14:09:26.608 [http-nio-8082-exec-9] DEBUG com.dora.util.PromotionLevelCalculator - 等级配置检查 - level: 3, minFans: 31, totalFans: 0, 是否匹配: false +2026-01-13 14:09:26.608 [http-nio-8082-exec-9] DEBUG com.dora.util.PromotionLevelCalculator - 推广等级计算结果 - totalFansCount: 0, resultLevel: 1 +2026-01-13 14:09:26.609 [http-nio-8082-exec-9] DEBUG c.dora.mapper.UserMapper.selectPromotionLevelById - ==> Preparing: SELECT promotion_level FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.609 [http-nio-8082-exec-9] DEBUG c.dora.mapper.UserMapper.selectPromotionLevelById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.622 [http-nio-8082-exec-9] DEBUG c.dora.mapper.UserMapper.selectPromotionLevelById - <== Total: 1 +2026-01-13 14:09:26.622 [http-nio-8082-exec-9] DEBUG com.dora.util.PromotionLevelCalculator - 用户推广等级无需更新 - userId: 17682845663252873, level: 1, totalFans: 0 +2026-01-13 14:09:26.648 [http-nio-8082-exec-9] INFO com.dora.service.impl.UserServiceImpl - 新用户推广等级初始化完成 - userId: 17682845663252873 +2026-01-13 14:09:26.719 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.719 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.733 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:26.734 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.734 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.748 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:26.749 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:26.749 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:26.762 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:26.763 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:26.763 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.776 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:26.776 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:26.776 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:26.790 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:26.790 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:26.790 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.804 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:26.805 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:26.805 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.818 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:26.819 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:26.819 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:26.832 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:26.833 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:26.833 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:26.847 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:26.847 [http-nio-8082-exec-9] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682845663252873, createTime: 2026-01-13T14:09:26 +2026-01-13 14:09:26.847 [http-nio-8082-exec-9] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682845663252873 +2026-01-13 14:09:26.848 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:09:26.848 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682845663252873(Long), 1(Integer) +2026-01-13 14:09:26.861 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:09:26.861 [http-nio-8082-exec-9] INFO com.dora.service.impl.UserServiceImpl - 用户注册成功 - phone: 18528655907, userId: 17682845663252873, username: 用户192584 +2026-01-13 14:09:29.997 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:29.997 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:30.012 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:30.722 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:09:30.723 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-13 14:09:30.723 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-13 14:09:30.727 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:09:30.729 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-13 14:09:30.766 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682845663252873, tokenId: f7f79c92-0467-47fc-8c16-afbbc53b7122, valid: false +2026-01-13 14:09:30.766 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682845663252873, tokenId: f7f79c92-0467-47fc-8c16-afbbc53b7122, valid: false +2026-01-13 14:09:30.766 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682845663252873, tokenId: f7f79c92-0467-47fc-8c16-afbbc53b7122, valid: false +2026-01-13 14:09:30.766 [http-nio-8082-exec-3] WARN com.dora.config.JwtAuthenticationFilter - 用户token不在白名单中或已失效 - userId: 17682845663252873, jwtId: f7f79c92-0467-47fc-8c16-afbbc53b7122 +2026-01-13 14:09:30.766 [http-nio-8082-exec-7] WARN com.dora.config.JwtAuthenticationFilter - 用户token不在白名单中或已失效 - userId: 17682845663252873, jwtId: f7f79c92-0467-47fc-8c16-afbbc53b7122 +2026-01-13 14:09:30.766 [http-nio-8082-exec-1] WARN com.dora.config.JwtAuthenticationFilter - 用户token不在白名单中或已失效 - userId: 17682845663252873, jwtId: f7f79c92-0467-47fc-8c16-afbbc53b7122 +2026-01-13 14:09:30.766 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682845663252873, tokenId: f7f79c92-0467-47fc-8c16-afbbc53b7122, valid: false +2026-01-13 14:09:30.766 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682845663252873, tokenId: f7f79c92-0467-47fc-8c16-afbbc53b7122, valid: false +2026-01-13 14:09:30.766 [http-nio-8082-exec-2] WARN com.dora.config.JwtAuthenticationFilter - 用户token不在白名单中或已失效 - userId: 17682845663252873, jwtId: f7f79c92-0467-47fc-8c16-afbbc53b7122 +2026-01-13 14:09:30.766 [http-nio-8082-exec-4] WARN com.dora.config.JwtAuthenticationFilter - 用户token不在白名单中或已失效 - userId: 17682845663252873, jwtId: f7f79c92-0467-47fc-8c16-afbbc53b7122 +2026-01-13 14:09:30.776 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:09:30.776 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODQ1NjYzMjUyODczLCJqdGkiOiJmN2Y3OWM5Mi0wNDY3LTQ3ZmMtOGMxNi1hZmJiYzUzYjcxMjIiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NDU2NiwiZXhwIjoxNzY4ODg5MzY2fQ.EKjRw9SKCeOuLYBalyIPD2gwYIy5Yxiv_aDMgnDVy-PBWE-nTi_n69hs8dUwIlt92Cp-itw6Y8LvoB6mkYE_YA(String) +2026-01-13 14:09:30.776 [http-nio-8082-exec-4] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:09:30.777 [http-nio-8082-exec-4] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODQ1NjYzMjUyODczLCJqdGkiOiJmN2Y3OWM5Mi0wNDY3LTQ3ZmMtOGMxNi1hZmJiYzUzYjcxMjIiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NDU2NiwiZXhwIjoxNzY4ODg5MzY2fQ.EKjRw9SKCeOuLYBalyIPD2gwYIy5Yxiv_aDMgnDVy-PBWE-nTi_n69hs8dUwIlt92Cp-itw6Y8LvoB6mkYE_YA(String) +2026-01-13 14:09:30.778 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:09:30.778 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODQ1NjYzMjUyODczLCJqdGkiOiJmN2Y3OWM5Mi0wNDY3LTQ3ZmMtOGMxNi1hZmJiYzUzYjcxMjIiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NDU2NiwiZXhwIjoxNzY4ODg5MzY2fQ.EKjRw9SKCeOuLYBalyIPD2gwYIy5Yxiv_aDMgnDVy-PBWE-nTi_n69hs8dUwIlt92Cp-itw6Y8LvoB6mkYE_YA(String) +2026-01-13 14:09:30.779 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:09:30.779 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODQ1NjYzMjUyODczLCJqdGkiOiJmN2Y3OWM5Mi0wNDY3LTQ3ZmMtOGMxNi1hZmJiYzUzYjcxMjIiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NDU2NiwiZXhwIjoxNzY4ODg5MzY2fQ.EKjRw9SKCeOuLYBalyIPD2gwYIy5Yxiv_aDMgnDVy-PBWE-nTi_n69hs8dUwIlt92Cp-itw6Y8LvoB6mkYE_YA(String) +2026-01-13 14:09:30.780 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:09:30.780 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODQ1NjYzMjUyODczLCJqdGkiOiJmN2Y3OWM5Mi0wNDY3LTQ3ZmMtOGMxNi1hZmJiYzUzYjcxMjIiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NDU2NiwiZXhwIjoxNzY4ODg5MzY2fQ.EKjRw9SKCeOuLYBalyIPD2gwYIy5Yxiv_aDMgnDVy-PBWE-nTi_n69hs8dUwIlt92Cp-itw6Y8LvoB6mkYE_YA(String) +2026-01-13 14:09:30.785 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:09:30.785 [http-nio-8082-exec-3] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****E_YA +2026-01-13 14:09:30.786 [http-nio-8082-exec-4] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:09:30.786 [http-nio-8082-exec-4] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****E_YA +2026-01-13 14:09:30.787 [http-nio-8082-exec-4] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:09:30.787 [http-nio-8082-exec-4] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:09:30.787 [http-nio-8082-exec-4] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:09:30.787 [http-nio-8082-exec-4] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:09:30.788 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.788 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.788 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:09:30.788 [http-nio-8082-exec-1] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****E_YA +2026-01-13 14:09:30.790 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.790 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.792 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:09:30.792 [http-nio-8082-exec-7] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****E_YA +2026-01-13 14:09:30.792 [http-nio-8082-exec-7] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:09:30.792 [http-nio-8082-exec-7] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:09:30.792 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:09:30.793 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:09:30.793 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:09:30.793 [http-nio-8082-exec-2] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****E_YA +2026-01-13 14:09:30.795 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.796 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.796 [http-nio-8082-exec-4] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:09:30.796 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.797 [http-nio-8082-exec-4] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:09:30.797 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.797 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.801 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.801 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.801 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.805 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:09:30.805 [http-nio-8082-exec-7] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:09:30.806 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.806 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.807 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.811 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.812 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.812 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.812 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.812 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.812 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.815 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.815 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.815 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.822 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.822 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.823 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.823 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.823 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.823 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.825 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.826 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.826 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.832 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.832 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.832 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.834 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.834 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.834 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.839 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.839 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.839 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.841 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.841 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.841 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.844 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.845 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.845 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.850 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.851 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.851 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.854 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.854 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.854 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.855 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.855 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.855 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.859 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.859 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.859 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.866 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.866 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.866 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.867 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.867 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.867 [http-nio-8082-exec-3] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682845663252873, createTime: 2026-01-13T14:09:26 +2026-01-13 14:09:30.867 [http-nio-8082-exec-3] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682845663252873 +2026-01-13 14:09:30.867 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.867 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.867 [http-nio-8082-exec-3] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:09:30.868 [http-nio-8082-exec-3] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682845663252873(Long), 1(Integer) +2026-01-13 14:09:30.876 [http-nio-8082-exec-3] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:09:30.877 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.878 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.878 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.881 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.881 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:09:30.882 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.888 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.888 [http-nio-8082-exec-1] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682845663252873, createTime: 2026-01-13T14:09:26 +2026-01-13 14:09:30.888 [http-nio-8082-exec-1] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682845663252873 +2026-01-13 14:09:30.889 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:09:30.889 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682845663252873(Long), 1(Integer) +2026-01-13 14:09:30.895 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:09:30.896 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.897 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682845663252873(Long), 2(Integer) +2026-01-13 14:09:30.899 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:09:30.911 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:09:30.912 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:09:30.912 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682845663252873(Long) +2026-01-13 14:09:30.926 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:09:30.926 [http-nio-8082-exec-2] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682845663252873, createTime: 2026-01-13T14:09:26 +2026-01-13 14:09:30.926 [http-nio-8082-exec-2] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682845663252873 +2026-01-13 14:09:30.927 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:09:30.927 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682845663252873(Long), 1(Integer) +2026-01-13 14:09:30.932 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/v1/api-key/info +2026-01-13 14:09:30.935 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682845663252873, tokenId: f7f79c92-0467-47fc-8c16-afbbc53b7122, valid: false +2026-01-13 14:09:30.935 [http-nio-8082-exec-6] WARN com.dora.config.JwtAuthenticationFilter - 用户token不在白名单中或已失效 - userId: 17682845663252873, jwtId: f7f79c92-0467-47fc-8c16-afbbc53b7122 +2026-01-13 14:09:30.935 [http-nio-8082-exec-6] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:09:30.936 [http-nio-8082-exec-6] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODQ1NjYzMjUyODczLCJqdGkiOiJmN2Y3OWM5Mi0wNDY3LTQ3ZmMtOGMxNi1hZmJiYzUzYjcxMjIiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NDU2NiwiZXhwIjoxNzY4ODg5MzY2fQ.EKjRw9SKCeOuLYBalyIPD2gwYIy5Yxiv_aDMgnDVy-PBWE-nTi_n69hs8dUwIlt92Cp-itw6Y8LvoB6mkYE_YA(String) +2026-01-13 14:09:30.941 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:09:30.945 [http-nio-8082-exec-6] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:09:30.946 [http-nio-8082-exec-6] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****E_YA +2026-01-13 14:09:31.589 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/wechat/qr/login +2026-01-13 14:09:31.589 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:09:31.676 [http-nio-8082-exec-5] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e19b-3723d378-79c9a307,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e19b-3723d378-79c9a307"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:09:34.944 [MessageBroker-11] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-13 14:09:34.979 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:34.979 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:34.982 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:09:34.983 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T13:59:34.970171(LocalDateTime) +2026-01-13 14:09:34.990 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:34.996 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:09:35.552 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:09:35.552 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:09:35.566 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:09:36.132 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:09:36.132 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:09:36.146 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:09:36.147 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113140843074-7713(providerTaskId:8bee82f2-e914-4753-b3f0-eb0f9933ddba) +2026-01-13 14:09:36.147 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113140843074-7713, providerTaskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:08:43 +2026-01-13 14:09:36.147 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113140843074-7713, 调用queryTaskStatus... +2026-01-13 14:09:36.147 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:09:36.147 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=8bee82f2-e914-4753-b3f0-eb0f9933ddba, taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:09:37.070 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:08:43","updated_at":"2026-01-13 14:08:43","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284523002_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"8bee82f2-e914-4753-b3f0-eb0f9933ddba"},"exec_time":0.360068,"ip":"115.204.7.6"} +2026-01-13 14:09:37.070 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:09:37.070 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:09:37.070 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113140843074-7713, 状态: QUEUED +2026-01-13 14:09:37.084 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:09:37.085 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 8bee82f2-e914-4753-b3f0-eb0f9933ddba(String), 2026-01-13T14:08:43(LocalDateTime), 2882(Long) +2026-01-13 14:09:37.112 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:09:37.112 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113140843074-7713, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:09:39.989 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:39.989 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:40.004 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:44.686 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:09:44.686 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:09:44.687 [http-nio-8082-exec-10] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:09:44.687 [http-nio-8082-exec-10] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:09:44.691 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:09:44.691 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:09:44.692 [http-nio-8082-exec-8] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:09:44.692 [http-nio-8082-exec-8] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:09:44.696 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/membership/plans +2026-01-13 14:09:44.696 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:09:44.696 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:09:44.696 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:09:44.696 [http-nio-8082-exec-9] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:09:44.696 [http-nio-8082-exec-9] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:09:44.700 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:09:44.700 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:09:44.701 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:09:44.701 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:09:44.705 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:09:44.705 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:09:44.707 [http-nio-8082-exec-4] DEBUG c.dora.mapper.MembershipPlanMapper.selectAllActive - ==> Preparing: SELECT id, name, description, price, duration_days, target_role, discount_percentage, is_active, create_time, update_time, is_deleted FROM membership_plan WHERE is_active = 1 AND is_deleted = 0 ORDER BY target_role ASC, duration_days ASC +2026-01-13 14:09:44.707 [http-nio-8082-exec-4] DEBUG c.dora.mapper.MembershipPlanMapper.selectAllActive - ==> Parameters: +2026-01-13 14:09:44.711 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:09:44.711 [http-nio-8082-exec-8] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:09:44.713 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:09:44.713 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:09:44.713 [http-nio-8082-exec-9] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:09:44.713 [http-nio-8082-exec-10] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:09:44.718 [http-nio-8082-exec-4] DEBUG c.dora.mapper.MembershipPlanMapper.selectAllActive - <== Total: 3 +2026-01-13 14:09:44.719 [http-nio-8082-exec-4] INFO com.dora.controller.MembershipController - 获取套餐列表成功,共3个套餐 +2026-01-13 14:09:44.971 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:44.971 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:44.993 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:49.994 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:49.994 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:50.008 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:54.979 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:54.979 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:09:54.990 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:09:55.581 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:09:55.581 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:09:55.595 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:09:59.992 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:09:59.992 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:00.007 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:04.990 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:04.990 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:05.000 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:07.131 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:10:07.131 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:10:07.145 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:10:07.145 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113140843074-7713(providerTaskId:8bee82f2-e914-4753-b3f0-eb0f9933ddba) +2026-01-13 14:10:07.145 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113140843074-7713, providerTaskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:08:43 +2026-01-13 14:10:07.145 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113140843074-7713, 调用queryTaskStatus... +2026-01-13 14:10:07.145 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:10:07.145 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=8bee82f2-e914-4753-b3f0-eb0f9933ddba, taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:10:07.520 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:08:43","updated_at":"2026-01-13 14:08:43","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284523002_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"8bee82f2-e914-4753-b3f0-eb0f9933ddba"},"exec_time":0.348023,"ip":"115.204.7.6"} +2026-01-13 14:10:07.520 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:10:07.520 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:10:07.520 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113140843074-7713, 状态: QUEUED +2026-01-13 14:10:07.521 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:10:07.521 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 8bee82f2-e914-4753-b3f0-eb0f9933ddba(String), 2026-01-13T14:08:43(LocalDateTime), 2882(Long) +2026-01-13 14:10:07.549 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:10:07.550 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113140843074-7713, 状态: QUEUED, 已运行 1 分钟 +2026-01-13 14:10:09.986 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:09.986 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:10.001 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:14.988 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:14.988 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:15.002 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:15.621 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:10:15.621 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:10:15.634 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:10:19.996 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:19.996 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:20.011 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:24.983 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:24.983 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:24.997 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:29.984 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:29.984 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:29.998 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:34.981 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:34.982 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:34.985 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:10:34.985 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:00:34.972674(LocalDateTime) +2026-01-13 14:10:34.993 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:34.998 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:10:35.660 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:10:35.660 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:10:35.674 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:10:37.571 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:10:37.571 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:10:37.586 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:10:37.586 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113140843074-7713(providerTaskId:8bee82f2-e914-4753-b3f0-eb0f9933ddba) +2026-01-13 14:10:37.586 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113140843074-7713, providerTaskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:08:43 +2026-01-13 14:10:37.586 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113140843074-7713, 调用queryTaskStatus... +2026-01-13 14:10:37.586 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:10:37.586 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=8bee82f2-e914-4753-b3f0-eb0f9933ddba, taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba +2026-01-13 14:10:38.043 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":2,"fail_reason":"This content may include suggestive or racy material.","created_at":"2026-01-13 14:08:43","updated_at":"2026-01-13 14:10:36","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284523002_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":"","remixTargetId":"","transfer_url":"","id":"8bee82f2-e914-4753-b3f0-eb0f9933ddba"},"exec_time":0.436262,"ip":"115.204.7.6"} +2026-01-13 14:10:38.043 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, status=2, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:运动中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:10:38.043 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=8bee82f2-e914-4753-b3f0-eb0f9933ddba, scStatus=2, mappedStatus=FAILED, error=生成失败,积分已退回。错误原因:This content may include suggestive or racy material. +2026-01-13 14:10:38.043 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113140843074-7713, 状态: FAILED +2026-01-13 14:10:38.043 [MessageBroker-7] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创任务失败】任务: TASK-20260113140843074-7713, 错误: 生成失败,积分已退回。错误原因:This content may include suggestive or racy material. +2026-01-13 14:10:38.043 [MessageBroker-7] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创失败处理开始】任务: TASK-20260113140843074-7713, 错误: 生成失败,积分已退回。错误原因:This content may include suggestive or racy material. +2026-01-13 14:10:38.043 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, error_message = ?, start_time = ?, complete_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:10:38.043 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: failed(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 8bee82f2-e914-4753-b3f0-eb0f9933ddba(String), 生成失败,积分已退回。错误原因:This content may include suggestive or racy material.(String), 2026-01-13T14:08:43(LocalDateTime), 2026-01-13T14:10:38.043294600(LocalDateTime), 2882(Long) +2026-01-13 14:10:38.072 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:10:38.072 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态已更新】任务: TASK-20260113140843074-7713, 状态: failed +2026-01-13 14:10:38.072 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创退还积分】任务: TASK-20260113140843074-7713, 积分: 150 +2026-01-13 14:10:38.085 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:10:38.085 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17670587282337540(Long) +2026-01-13 14:10:38.098 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-13 14:10:38.099 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-13 14:10:38.099 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: 150(Integer), 17670587282337540(Long), 150(Integer) +2026-01-13 14:10:38.124 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-13 14:10:38.125 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-13 14:10:38.125 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17670587282337540(Long), TASK-20260113140843074-7713(String), refund(String), 150(Integer), 2240(Integer), 2390(Integer), 任务失败,积分退回(String), 0(Integer) +2026-01-13 14:10:38.151 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-13 14:10:38.179 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创积分已退还】任务: TASK-20260113140843074-7713, 用户: 17670587282337540, 积分: 150 +2026-01-13 14:10:38.180 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17670587282337540 发送任务 TASK-20260113140843074-7713 的进度更新到目的地: /queue/tasks-progress +2026-01-13 14:10:38.185 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17670587282337540, 任务: TASK-20260113140843074-7713 +2026-01-13 14:10:38.186 [MessageBroker-7] WARN com.dora.service.impl.NotificationServiceImpl - 任务失败通知已发送 - 用户: 17670587282337540, 任务: TASK-20260113140843074-7713, 错误: 生成失败,积分已退回。错误原因:This content may include suggestive or racy material. +2026-01-13 14:10:38.186 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创失败处理完成】任务: TASK-20260113140843074-7713 +2026-01-13 14:10:39.994 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:39.994 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:40.008 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:44.993 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:44.993 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:45.007 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:49.989 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:49.989 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:50.003 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:54.987 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:54.987 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:10:55.001 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:10:55.696 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:10:55.696 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:10:55.709 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:10:59.992 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:10:59.992 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:00.006 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:04.994 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:04.994 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:05.008 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:08.206 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:11:08.206 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:11:08.220 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:11:08.220 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:11:08.220 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:11:08.220 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:11:08.220 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:11:08.220 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:11:08.823 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.344111,"ip":"115.204.7.6"} +2026-01-13 14:11:08.823 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:11:08.823 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:11:08.823 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:11:08.836 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:11:08.836 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:11:08.864 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:11:08.864 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:11:09.986 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:09.986 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:10.000 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:14.997 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:14.997 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:15.011 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:15.726 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:11:15.726 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:11:15.739 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:11:19.992 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:19.993 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:20.007 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:24.995 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:24.996 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:25.010 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:29.982 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:29.982 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:29.993 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:34.979 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:34.979 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:34.983 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:11:34.983 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:01:34.970155400(LocalDateTime) +2026-01-13 14:11:34.990 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:34.996 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:11:35.753 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:11:35.753 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:11:35.763 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:11:38.880 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:11:38.880 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:11:38.894 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:11:38.894 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:11:38.894 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:11:38.894 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:11:38.894 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:11:38.894 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:11:39.265 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.352219,"ip":"115.204.7.6"} +2026-01-13 14:11:39.266 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:11:39.266 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:11:39.266 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:11:39.266 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:11:39.267 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:11:39.295 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:11:39.295 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:11:39.983 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:39.983 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:39.998 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:44.993 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:44.993 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:45.008 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:49.995 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:49.995 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:50.010 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:54.993 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:54.993 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:11:55.007 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:11:55.791 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:11:55.792 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:11:55.805 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:11:59.993 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:11:59.993 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:00.003 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:04.981 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:04.981 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:04.992 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:09.315 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:12:09.315 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:12:09.329 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:12:09.330 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:12:09.330 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:12:09.330 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:12:09.330 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:12:09.330 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:12:09.713 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.362839,"ip":"115.204.7.6"} +2026-01-13 14:12:09.714 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:12:09.714 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:12:09.714 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:12:09.714 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:12:09.714 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:12:09.742 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:12:09.742 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 1 分钟 +2026-01-13 14:12:09.991 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:09.991 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:10.003 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:14.985 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:14.985 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:15.000 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:15.826 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:12:15.826 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:12:15.840 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:12:19.985 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:19.985 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:19.999 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:24.997 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:24.997 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:25.011 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:29.989 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:29.989 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:30.004 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:34.992 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:12:34.992 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:02:34.983873400(LocalDateTime) +2026-01-13 14:12:34.996 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:34.996 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:35.002 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:12:35.011 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:35.865 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:12:35.867 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:12:35.881 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:12:39.755 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:12:39.756 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:12:39.767 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:12:39.767 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:12:39.767 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:12:39.767 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:12:39.767 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:12:39.767 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:12:39.997 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:39.998 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:40.013 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:40.130 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.342887,"ip":"115.204.7.6"} +2026-01-13 14:12:40.130 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:12:40.130 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:12:40.130 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:12:40.131 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:12:40.132 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:12:40.153 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:12:40.153 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 1 分钟 +2026-01-13 14:12:44.997 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:44.998 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:45.013 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:49.996 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:49.997 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:50.011 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:54.996 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:54.997 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:12:55.011 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:12:55.904 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:12:55.905 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:12:55.918 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:12:59.985 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:12:59.986 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:00.002 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:04.985 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:04.986 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:04.998 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:09.995 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:09.995 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:10.009 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:10.155 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:13:10.156 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:13:10.169 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:13:10.170 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:13:10.170 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:13:10.170 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:13:10.170 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:13:10.170 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:13:10.537 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.34858,"ip":"115.204.7.6"} +2026-01-13 14:13:10.538 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:13:10.538 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:13:10.538 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:13:10.539 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:13:10.539 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:13:10.567 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:13:10.568 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 2 分钟 +2026-01-13 14:13:14.987 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:14.988 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:14.998 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:15.935 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:13:15.935 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:13:15.948 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:13:19.996 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:19.996 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:20.011 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:24.990 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:24.990 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:25.006 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:29.983 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:29.983 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:29.997 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:34.984 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:34.985 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:34.988 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:13:34.988 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:03:34.975856600(LocalDateTime) +2026-01-13 14:13:34.996 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:35.001 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:13:35.964 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:13:35.965 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:13:35.978 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:13:39.991 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:39.991 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:40.005 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:40.593 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:13:40.593 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:13:40.606 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:13:40.607 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:13:40.607 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:13:40.607 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:13:40.607 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:13:40.607 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:13:40.957 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.332051,"ip":"115.204.7.6"} +2026-01-13 14:13:40.958 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:13:40.958 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:13:40.958 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:13:40.958 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:13:40.959 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:13:40.986 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:13:40.986 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 2 分钟 +2026-01-13 14:13:42.914 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-13 14:13:42.914 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@2d3bb293]] +2026-01-13 14:13:42.914 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-13 14:13:43.055 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-13 14:13:43.059 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2026-01-13 14:13:47.633 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-13 14:13:47.669 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 50988 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-13 14:13:47.669 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-13 14:13:47.670 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-13 14:13:48.799 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-13 14:13:48.801 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-13 14:13:48.859 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 0 Redis repository interfaces. +2026-01-13 14:13:49.709 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-13 14:13:49.717 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-13 14:13:49.718 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-13 14:13:49.719 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-13 14:13:49.777 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-13 14:13:49.777 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2069 ms +2026-01-13 14:13:50.627 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-13 14:13:50.628 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-13 14:13:51.365 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-13 14:13:51.366 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-13 14:13:51.366 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-13 14:13:52.081 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 0df4bea0-058c-41ae-880f-b7ef4837ba2e + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-13 14:13:52.459 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3e09067, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7a7f5c44, org.springframework.security.web.context.SecurityContextHolderFilter@4bacabc4, org.springframework.security.web.header.HeaderWriterFilter@fe58644, org.springframework.web.filter.CorsFilter@4ab1693b, org.springframework.security.web.authentication.logout.LogoutFilter@308498a8, com.dora.config.JwtAuthenticationFilter@776a3365, com.dora.config.ApiKeyAuthenticationFilter@1c0680b0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@617d697, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3a4d0ca2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@35e0d91e, org.springframework.security.web.session.SessionManagementFilter@1651bd68, org.springframework.security.web.access.ExceptionTranslationFilter@18372705, org.springframework.security.web.access.intercept.AuthorizationFilter@7f59f4e4] +2026-01-13 14:13:53.011 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-13 14:13:53.028 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-13 14:13:53.030 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-13 14:13:53.031 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@582ce329]] +2026-01-13 14:13:53.031 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-13 14:13:53.045 [main] INFO com.dora.Application - Started Application in 5.849 seconds (process running for 6.35) +2026-01-13 14:13:53.048 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1767680033048 +2026-01-13 14:13:53.048 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-12T14:13:53.048591400 (24小时前) +2026-01-13 14:13:53.051 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-13 14:13:53.068 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:13:53.486 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-13 14:13:53.562 [MessageBroker-2] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2d2f009f +2026-01-13 14:13:53.564 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-13 14:13:53.570 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:13:53.598 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:13:53.636 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:13:53.640 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:53.641 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:53.686 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:13:53.687 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:13:53.687 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:03:53.048591400(LocalDateTime) +2026-01-13 14:13:53.699 [MessageBroker-5] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-13 14:13:53.700 [MessageBroker-5] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-12T14:13:53.048591400(LocalDateTime) +2026-01-13 14:13:53.706 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:13:53.707 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:13:53.707 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:13:53.712 [MessageBroker-5] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-01-13 14:13:53.713 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-01-13 14:13:53.724 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:13:53.724 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:13:53.724 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:13:53.725 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:13:53.725 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:13:53.729 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:13:54.274 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.34839,"ip":"115.204.7.6"} +2026-01-13 14:13:54.342 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:13:54.342 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:13:54.343 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:13:54.377 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:13:54.377 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:13:54.409 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:13:54.409 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 2 分钟 +2026-01-13 14:13:58.072 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:13:58.072 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:13:58.091 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:03.061 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:03.062 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:03.081 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:08.063 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:08.063 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:08.082 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:13.059 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:13.059 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:13.076 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:13.671 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:14:13.671 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:14:13.687 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:14:18.066 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:18.066 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:18.084 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:23.072 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:23.072 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:23.089 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:24.425 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:14:24.425 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:14:24.442 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:14:24.442 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:14:24.442 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:14:24.443 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:14:24.443 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:14:24.443 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:14:24.801 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.340958,"ip":"115.204.7.6"} +2026-01-13 14:14:24.801 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:14:24.802 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:14:24.802 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:14:24.802 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:14:24.803 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:14:24.835 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:14:24.835 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 3 分钟 +2026-01-13 14:14:28.072 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:28.073 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:28.093 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:33.063 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:33.064 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:33.081 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:33.711 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:14:33.711 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:14:33.727 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:14:34.564 [http-nio-8082-exec-1] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1767069153,1767101489,1767336500] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-13 14:14:34.572 [http-nio-8082-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-01-13 14:14:34.572 [http-nio-8082-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-01-13 14:14:34.574 [http-nio-8082-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2026-01-13 14:14:34.600 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:14:34.600 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/membership/plans +2026-01-13 14:14:34.703 [http-nio-8082-exec-1] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 343512702 milliseconds ago at 2026-01-09T06:49:22.000Z. Current time: 2026-01-13T06:14:34.702Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:14:34.703 [http-nio-8082-exec-2] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 343512702 milliseconds ago at 2026-01-09T06:49:22.000Z. Current time: 2026-01-13T06:14:34.702Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:14:34.715 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:14:34.715 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjEzMTQyMzc3ODc0IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NTY4ODA2MzQ5NzQ3MzE0LCJqdGkiOiJmYTc3NTYwNS1kNTU4LTRlZjYtYWU2ZC1jMmZkMjI4NzcxM2UiLCJzdWIiOiIxMzE0MjM3Nzg3NCIsImlhdCI6MTc2NzMzNjU2MiwiZXhwIjoxNzY3OTQxMzYyfQ.ie7qTe4mFeS6EsDXkVWI5lTSwcDTDToinehvaDXMFmLxB2914-2pV6apBxXXpjtOeLTJ5uhJVS2ssRXhjoLBCA(String) +2026-01-13 14:14:34.718 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:14:34.718 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjEzMTQyMzc3ODc0IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NTY4ODA2MzQ5NzQ3MzE0LCJqdGkiOiJmYTc3NTYwNS1kNTU4LTRlZjYtYWU2ZC1jMmZkMjI4NzcxM2UiLCJzdWIiOiIxMzE0MjM3Nzg3NCIsImlhdCI6MTc2NzMzNjU2MiwiZXhwIjoxNzY3OTQxMzYyfQ.ie7qTe4mFeS6EsDXkVWI5lTSwcDTDToinehvaDXMFmLxB2914-2pV6apBxXXpjtOeLTJ5uhJVS2ssRXhjoLBCA(String) +2026-01-13 14:14:34.727 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:14:34.728 [http-nio-8082-exec-1] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****LBCA +2026-01-13 14:14:34.733 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:14:34.734 [http-nio-8082-exec-2] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****LBCA +2026-01-13 14:14:34.743 [http-nio-8082-exec-2] DEBUG c.dora.mapper.MembershipPlanMapper.selectAllActive - ==> Preparing: SELECT id, name, description, price, duration_days, target_role, discount_percentage, is_active, create_time, update_time, is_deleted FROM membership_plan WHERE is_active = 1 AND is_deleted = 0 ORDER BY target_role ASC, duration_days ASC +2026-01-13 14:14:34.743 [http-nio-8082-exec-2] DEBUG c.dora.mapper.MembershipPlanMapper.selectAllActive - ==> Parameters: +2026-01-13 14:14:34.759 [http-nio-8082-exec-2] DEBUG c.dora.mapper.MembershipPlanMapper.selectAllActive - <== Total: 3 +2026-01-13 14:14:34.760 [http-nio-8082-exec-2] INFO com.dora.controller.MembershipController - 获取套餐列表成功,共3个套餐 +2026-01-13 14:14:34.768 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:14:34.769 [http-nio-8082-exec-1] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:14:34.769 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:14:34.769 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:14:34.781 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:14:34.782 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:14:35.128 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:14:35.129 [http-nio-8082-exec-5] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 343513128 milliseconds ago at 2026-01-09T06:49:22.000Z. Current time: 2026-01-13T06:14:35.128Z. Allowed clock skew: 0 milliseconds. +2026-01-13 14:14:35.129 [http-nio-8082-exec-5] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:14:35.129 [http-nio-8082-exec-5] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjEzMTQyMzc3ODc0IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NTY4ODA2MzQ5NzQ3MzE0LCJqdGkiOiJmYTc3NTYwNS1kNTU4LTRlZjYtYWU2ZC1jMmZkMjI4NzcxM2UiLCJzdWIiOiIxMzE0MjM3Nzg3NCIsImlhdCI6MTc2NzMzNjU2MiwiZXhwIjoxNzY3OTQxMzYyfQ.ie7qTe4mFeS6EsDXkVWI5lTSwcDTDToinehvaDXMFmLxB2914-2pV6apBxXXpjtOeLTJ5uhJVS2ssRXhjoLBCA(String) +2026-01-13 14:14:35.144 [http-nio-8082-exec-5] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:14:35.145 [http-nio-8082-exec-5] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****LBCA +2026-01-13 14:14:35.146 [http-nio-8082-exec-5] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:14:35.146 [http-nio-8082-exec-5] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:14:35.146 [http-nio-8082-exec-5] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:14:35.146 [http-nio-8082-exec-5] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:14:35.161 [http-nio-8082-exec-5] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:14:35.162 [http-nio-8082-exec-5] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:14:37.937 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/categories +2026-01-13 14:14:37.937 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-13 14:14:37.937 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/categories +2026-01-13 14:14:37.937 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/categories +2026-01-13 14:14:37.937 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/banner/list +2026-01-13 14:14:37.937 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/categories +2026-01-13 14:14:37.938 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:14:37.938 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:14:37.938 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:14:37.939 [http-nio-8082-exec-4] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-13 14:14:37.939 [http-nio-8082-exec-6] INFO com.dora.controller.CourseController - 获取课程分类列表 +2026-01-13 14:14:37.939 [http-nio-8082-exec-4] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-13 14:14:37.950 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-13 14:14:37.950 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-13 14:14:37.953 [http-nio-8082-exec-4] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:14:37.954 [http-nio-8082-exec-4] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-13 14:14:37.955 [http-nio-8082-exec-3] INFO com.dora.controller.WorkflowController - 获取工作流分类列表 +2026-01-13 14:14:37.963 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-13 14:14:37.963 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:14:37.964 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 1(Integer) +2026-01-13 14:14:37.969 [http-nio-8082-exec-4] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-13 14:14:37.970 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-13 14:14:37.970 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-13 14:14:37.975 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 3 +2026-01-13 14:14:37.977 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:37.977 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 1(Long), 1(Long) +2026-01-13 14:14:37.985 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-13 14:14:37.985 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:14:37.985 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 2(Integer) +2026-01-13 14:14:37.989 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:14:37.989 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:37.990 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 6(Long), 6(Long) +2026-01-13 14:14:38.001 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:14:38.001 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 10 +2026-01-13 14:14:38.001 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.001 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.001 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 13(Long), 13(Long) +2026-01-13 14:14:38.002 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 15(Long), 15(Long) +2026-01-13 14:14:38.013 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:14:38.016 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.016 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.017 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 16(Long), 16(Long) +2026-01-13 14:14:38.021 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/hot +2026-01-13 14:14:38.021 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/hot +2026-01-13 14:14:38.021 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:14:38.032 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.033 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.033 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 17(Long), 17(Long) +2026-01-13 14:14:38.039 [http-nio-8082-exec-7] INFO com.dora.controller.CourseController - 获取热门课程列表 - page: 1, size: 32 +2026-01-13 14:14:38.039 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Preparing: SELECT c.id, c.title, c.description, c.cover_url, c.detail_gallery, c.price, c.level, c.category, c.category_id, c.audit_status, c.reject_reason, c.review_time, c.user_id, c.is_free, c.create_time, c.update_time, c.is_deleted FROM course c LEFT JOIN ( -- 计算课程总观看次数 SELECT cc.course_id, COALESCE(SUM(v.view_count), 0) as total_view_count FROM course_chapter cc LEFT JOIN course_video cv ON cc.id = cv.chapter_id AND cv.is_deleted = 0 LEFT JOIN video v ON cv.video_id = v.id AND v.is_deleted = 0 WHERE cc.is_deleted = 0 GROUP BY cc.course_id ) view_stats ON c.id = view_stats.course_id LEFT JOIN ( -- 计算课程点赞次数 SELECT course_id, COUNT(*) as like_count FROM course_like WHERE is_deleted = 0 GROUP BY course_id ) like_stats ON c.id = like_stats.course_id WHERE c.is_deleted = 0 AND c.audit_status = 1 ORDER BY -- 综合评分公式: 观看次数40% + 点赞次数30% + 时间分数30% ( (COALESCE(view_stats.total_view_count, 0) * 0.4) + (COALESCE(like_stats.like_count, 0) * 0.3) + ((1000 / (DATEDIFF(NOW(), c.create_time) + 1)) * 0.3) ) DESC LIMIT ?, ? +2026-01-13 14:14:38.040 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Parameters: 0(Integer), 32(Integer) +2026-01-13 14:14:38.048 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.048 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.049 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 7(Long), 7(Long) +2026-01-13 14:14:38.056 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:38.056 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:38.059 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - <== Total: 12 +2026-01-13 14:14:38.060 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-13 14:14:38.060 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-13 14:14:38.064 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.064 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.064 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 8(Long), 8(Long) +2026-01-13 14:14:38.074 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-13 14:14:38.077 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? ) AND is_deleted = 0 +2026-01-13 14:14:38.077 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564379418669007(Long) +2026-01-13 14:14:38.078 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.078 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:38.079 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.079 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 9(Long), 9(Long) +2026-01-13 14:14:38.092 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 1 +2026-01-13 14:14:38.094 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.094 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.094 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 10(Long), 10(Long) +2026-01-13 14:14:38.096 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.096 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:14:38.109 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.110 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.110 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 11(Long), 11(Long) +2026-01-13 14:14:38.111 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.111 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.111 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:14:38.125 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.126 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.126 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 12(Long), 12(Long) +2026-01-13 14:14:38.126 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.126 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.126 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:14:38.140 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.140 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.140 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:14:38.141 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 14(Long), 14(Long) +2026-01-13 14:14:38.142 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.142 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:14:38.156 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:14:38.157 [http-nio-8082-exec-3] INFO com.dora.service.impl.WorkflowServiceImpl - 工作流分类数量超过10个,已限制为前10个分类 +2026-01-13 14:14:38.157 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.158 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.158 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:14:38.173 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.174 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.175 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:14:38.190 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.192 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.192 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:14:38.207 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.207 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.208 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:14:38.223 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.223 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.224 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:14:38.239 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.240 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.241 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:14:38.256 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.256 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.257 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:14:38.272 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.272 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.273 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:14:38.287 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.287 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.287 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:14:38.303 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.303 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.304 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:14:38.318 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.319 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.319 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:14:38.334 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.334 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.334 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:14:38.349 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.350 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.350 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:14:38.365 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.365 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.366 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:14:38.381 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.382 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.382 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:14:38.398 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.398 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.399 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:14:38.414 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.414 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.414 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:14:38.429 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.430 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.430 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:14:38.445 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.445 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.445 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:14:38.460 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.461 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.461 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:14:38.476 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.476 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.477 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:14:38.492 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.492 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.492 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:14:38.508 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.508 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.508 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:14:38.523 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.523 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.524 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:14:38.539 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.539 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.539 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:14:38.554 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.555 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.555 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:14:38.570 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.570 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.570 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:14:38.585 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.585 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.586 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:14:38.601 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.601 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.602 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:14:38.616 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.616 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:14:38.617 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:14:38.632 [http-nio-8082-exec-7] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:14:38.632 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:14:38.632 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:14:38.647 [http-nio-8082-exec-7] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:14:38.647 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:14:38.647 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:14:38.663 [http-nio-8082-exec-7] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:14:38.770 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/hot +2026-01-13 14:14:38.770 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/hot +2026-01-13 14:14:38.770 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:14:38.771 [http-nio-8082-exec-8] INFO com.dora.controller.WorkflowController - 获取热门工作流列表 - page: 1, size: 32 +2026-01-13 14:14:38.772 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Preparing: SELECT id, name, description, cover_url, detail_gallery, price, owner_id, category, audit_status, reject_reason, review_time, is_free, full_access_role, copy_access_role, is_public, like_count, rating, video_id, data, data_file_url, create_time, update_time, is_deleted FROM workflow WHERE audit_status = 1 AND is_deleted = 0 ORDER BY like_count DESC, create_time DESC LIMIT ?, ? +2026-01-13 14:14:38.772 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Parameters: 0(Integer), 32(Integer) +2026-01-13 14:14:38.795 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - <== Total: 32 +2026-01-13 14:14:38.795 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-13 14:14:38.795 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-13 14:14:38.810 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-13 14:14:38.811 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? , ? , ? , ? , ? , ? ) AND is_deleted = 0 +2026-01-13 14:14:38.811 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564481182853556(Long), 17564630096767044(Long), 17564794376041081(Long), 17567400320744741(Long), 17564379418669007(Long), 17564803204774202(Long) +2026-01-13 14:14:38.828 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 6 +2026-01-13 14:14:41.149 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/wechat/qr/login +2026-01-13 14:14:41.150 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:14:41.349 [http-nio-8082-exec-9] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d0-10d518f0-0bf9509f,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d0-10d518f0-0bf9509f"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:14:42.433 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/wechat/qr/login +2026-01-13 14:14:42.434 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:14:42.461 [http-nio-8082-exec-10] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d2-760939ae-5ffe641e,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e2d2-760939ae-5ffe641e"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:14:43.061 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:43.062 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:43.079 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:48.064 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:48.064 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:48.080 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:53.013 [MessageBroker-11] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-13 14:14:53.068 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:53.069 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:53.072 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:14:53.072 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:04:53.056913600(LocalDateTime) +2026-01-13 14:14:53.081 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:14:53.088 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:14:53.742 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:14:53.742 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:14:53.755 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:14:54.857 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:14:54.858 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:14:54.875 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:14:54.875 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:14:54.875 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:14:54.875 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:14:54.875 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:14:54.875 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:14:55.285 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.391871,"ip":"115.204.7.6"} +2026-01-13 14:14:55.285 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:14:55.285 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:14:55.285 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:14:55.286 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:14:55.286 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:14:55.318 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:14:55.318 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 3 分钟 +2026-01-13 14:14:58.058 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:14:58.058 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:14:58.075 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:03.063 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:03.064 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:03.080 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:08.069 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:08.069 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:08.087 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:13.058 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:13.059 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:13.075 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:13.782 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:15:13.783 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:15:13.798 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:15:18.062 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:18.062 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:18.079 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:23.065 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:23.065 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:23.077 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:25.340 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:15:25.340 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:15:25.356 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:15:25.356 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:15:25.356 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:15:25.357 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:15:25.357 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:15:25.357 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:15:25.749 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.370827,"ip":"115.204.7.6"} +2026-01-13 14:15:25.749 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:15:25.749 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:15:25.749 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:15:25.750 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:15:25.750 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:15:25.784 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:15:25.784 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 4 分钟 +2026-01-13 14:15:28.054 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:28.055 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:28.067 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:33.065 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:33.065 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:33.082 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:33.818 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:15:33.819 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:15:33.833 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:15:38.067 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:38.068 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:38.080 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:43.058 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:43.058 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:43.075 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:48.058 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:48.058 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:48.074 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:53.055 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:15:53.055 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:05:53.044020300(LocalDateTime) +2026-01-13 14:15:53.058 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:53.058 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:53.067 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:15:53.075 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:15:53.858 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:15:53.859 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:15:53.874 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:15:55.802 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:15:55.803 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:15:55.815 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:15:55.815 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:15:55.815 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:15:55.815 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:15:55.815 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:15:55.815 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:15:56.196 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.362157,"ip":"115.204.7.6"} +2026-01-13 14:15:56.196 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:15:56.196 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:15:56.196 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:15:56.197 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:15:56.197 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:15:56.222 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:15:56.222 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 4 分钟 +2026-01-13 14:15:58.072 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:15:58.072 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:15:58.089 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:03.068 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:03.068 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:03.086 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:08.064 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:08.065 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:08.077 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:13.071 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:13.072 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:13.089 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:13.892 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:16:13.892 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:16:13.907 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:16:18.067 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:18.068 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:18.085 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:23.053 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:23.053 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:23.067 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:26.245 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:16:26.245 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:16:26.261 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:16:26.261 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:16:26.262 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:16:26.262 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:16:26.262 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:16:26.262 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:16:27.073 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.393244,"ip":"115.204.7.6"} +2026-01-13 14:16:27.073 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:16:27.073 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:16:27.073 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:16:27.088 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:16:27.089 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:16:27.120 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:16:27.120 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 5 分钟 +2026-01-13 14:16:28.062 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:28.062 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:28.079 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:33.059 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:33.060 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:33.077 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:33.938 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:16:33.938 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:16:33.953 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:16:38.069 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:38.069 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:38.086 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:43.062 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:43.063 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:43.078 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:48.061 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:48.061 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:48.077 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:53.065 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:53.066 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:53.069 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:16:53.069 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:06:53.054243300(LocalDateTime) +2026-01-13 14:16:53.079 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:16:53.084 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:16:53.970 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:16:53.971 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:16:53.986 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:16:57.136 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:16:57.136 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:16:57.153 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:16:57.153 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:16:57.153 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:16:57.153 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:16:57.153 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:16:57.153 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:16:57.529 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.359298,"ip":"115.204.7.6"} +2026-01-13 14:16:57.529 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:16:57.529 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:16:57.529 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:16:57.530 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:16:57.530 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:16:57.561 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:16:57.561 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 6 分钟 +2026-01-13 14:16:58.059 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:16:58.059 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:16:58.072 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:03.070 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:03.071 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:03.088 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:08.061 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:08.061 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:08.078 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:13.060 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:13.061 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:13.077 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:14.006 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:17:14.006 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:17:14.021 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:17:18.070 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:18.071 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:18.087 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:23.071 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:23.072 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:23.088 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:27.591 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:17:27.592 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:17:27.608 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:17:27.608 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:17:27.608 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:17:27.608 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:17:27.608 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:17:27.608 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:17:27.982 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.357533,"ip":"115.204.7.6"} +2026-01-13 14:17:27.983 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:17:27.983 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:17:27.983 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:17:27.983 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:17:27.984 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:17:28.016 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:17:28.016 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 6 分钟 +2026-01-13 14:17:28.050 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:28.050 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:28.066 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:33.057 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:33.057 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:33.070 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:34.037 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:17:34.037 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:17:34.052 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:17:38.062 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:38.062 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:38.079 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:43.068 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:43.068 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:43.081 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:48.066 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:48.067 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:48.084 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:53.064 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:53.064 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:53.067 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:17:53.068 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:07:53.053618900(LocalDateTime) +2026-01-13 14:17:53.077 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:53.083 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:17:54.077 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:17:54.077 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:17:54.089 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:17:58.046 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:17:58.046 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:17:58.057 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:17:58.058 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:17:58.061 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:17:58.062 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:17:58.062 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:17:58.062 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:17:58.062 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:17:58.062 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:17:58.069 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:17:58.434 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.355914,"ip":"115.204.7.6"} +2026-01-13 14:17:58.434 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:17:58.434 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:17:58.434 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:17:58.435 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:17:58.435 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:17:58.467 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:17:58.467 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 7 分钟 +2026-01-13 14:18:03.068 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:03.068 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:03.081 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:08.061 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:08.061 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:08.078 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:13.069 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:13.069 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:13.086 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:14.109 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:18:14.109 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:18:14.124 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:18:18.061 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:18.061 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:18.077 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:23.067 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:23.067 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:23.079 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:28.067 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:28.067 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:28.083 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:28.486 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:18:28.487 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:18:28.498 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:18:28.498 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:18:28.498 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:18:28.498 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:18:28.498 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:18:28.498 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:18:28.897 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.381005,"ip":"115.204.7.6"} +2026-01-13 14:18:28.897 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:18:28.897 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:18:28.897 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:18:28.898 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:18:28.898 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:18:28.922 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:18:28.922 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 7 分钟 +2026-01-13 14:18:33.058 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:33.058 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:33.074 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:34.150 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:18:34.150 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:18:34.162 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:18:38.059 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:38.060 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:38.076 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:43.064 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:43.064 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:43.080 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:48.064 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:48.064 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:48.078 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:53.061 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:53.061 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:53.064 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:18:53.064 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:08:53.050557100(LocalDateTime) +2026-01-13 14:18:53.074 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:53.079 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:18:54.184 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:18:54.184 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:18:54.199 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:18:58.069 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:18:58.069 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:18:58.082 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:18:58.942 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:18:58.942 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:18:58.957 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:18:58.958 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:18:58.958 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:18:58.958 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:18:58.958 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:18:58.958 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:18:59.312 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.33491,"ip":"115.204.7.6"} +2026-01-13 14:18:59.313 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:18:59.313 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:18:59.313 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:18:59.313 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:18:59.314 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:18:59.345 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:18:59.345 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 8 分钟 +2026-01-13 14:19:03.066 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:03.066 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:03.082 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:08.069 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:08.069 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:08.087 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:13.060 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:13.061 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:13.076 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:14.218 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:19:14.218 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:19:14.230 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:19:18.064 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:18.064 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:18.081 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:23.067 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:23.067 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:23.083 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:25.202 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/msm/send/18528655907 +2026-01-13 14:19:25.202 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/msm/send/18528655907 +2026-01-13 14:19:25.202 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:19:25.207 [http-nio-8082-exec-2] INFO com.dora.controller.MsmController - 发送短信验证码 - phone: 18528655907, force: false +2026-01-13 14:19:25.600 [http-nio-8082-exec-2] INFO com.dora.service.impl.MsmServiceImpl - 短信发送响应: {"Message":"OK","RequestId":"48D24A11-0BDF-5216-94A5-DEEE00D7BDCC","Code":"OK","BizId":"528019968285165063^0"} +2026-01-13 14:19:25.600 [http-nio-8082-exec-2] INFO com.dora.service.impl.MsmServiceImpl - 短信发送成功 - phone: 18528655907 +2026-01-13 14:19:25.604 [http-nio-8082-exec-2] INFO com.dora.controller.MsmController - 短信验证码发送成功 - phone: 18528655907, code: 226240, force: false +2026-01-13 14:19:28.066 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:28.066 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:28.082 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:29.367 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:19:29.367 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:19:29.381 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:19:29.381 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:19:29.381 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:19:29.381 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:19:29.381 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:19:29.381 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:19:29.756 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.354971,"ip":"115.204.7.6"} +2026-01-13 14:19:29.757 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:19:29.757 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:19:29.757 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:19:29.757 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:19:29.757 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:19:29.781 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:19:29.781 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 8 分钟 +2026-01-13 14:19:33.060 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:33.060 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:33.073 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:34.246 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:19:34.246 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:19:34.262 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:19:38.048 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/auth/register +2026-01-13 14:19:38.049 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/register +2026-01-13 14:19:38.049 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:19:38.058 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:38.058 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:38.071 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:38.090 [http-nio-8082-exec-1] WARN com.dora.service.impl.UserServiceImpl - 注册验证码错误,已清除缓存的验证码 - phone: 18528655907 +2026-01-13 14:19:38.090 [http-nio-8082-exec-1] ERROR com.dora.controller.AuthController - 用户注册失败 - phone: 18528655907 +java.lang.RuntimeException: 验证码错误或已过期 + at com.dora.service.impl.UserServiceImpl.register(UserServiceImpl.java:154) + at com.dora.controller.AuthController.register(AuthController.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:19:43.063 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:43.063 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:43.080 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:48.058 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:48.058 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:48.075 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:53.058 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:53.058 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:53.062 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:19:53.062 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:09:53.047429500(LocalDateTime) +2026-01-13 14:19:53.071 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:53.077 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:19:54.285 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:19:54.286 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:19:54.301 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:19:54.826 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/auth/register +2026-01-13 14:19:54.826 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/register +2026-01-13 14:19:54.826 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:19:54.828 [http-nio-8082-exec-5] ERROR com.dora.controller.AuthController - 用户注册失败 - phone: 18528655907 +java.lang.RuntimeException: 验证码错误或已过期 + at com.dora.service.impl.UserServiceImpl.register(UserServiceImpl.java:147) + at com.dora.controller.AuthController.register(AuthController.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:19:58.073 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:19:58.073 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:19:58.089 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:19:59.800 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:19:59.800 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:19:59.812 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:19:59.812 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:19:59.812 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:19:59.812 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:19:59.812 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:19:59.812 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:20:00.173 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.342617,"ip":"115.204.7.6"} +2026-01-13 14:20:00.173 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:20:00.173 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:20:00.173 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:20:00.174 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:20:00.174 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:20:00.199 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:20:00.199 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 9 分钟 +2026-01-13 14:20:03.068 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:03.068 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:03.085 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:08.069 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:08.069 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:08.083 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:08.668 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:20:08.669 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:20:08.669 [http-nio-8082-exec-4] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:20:08.669 [http-nio-8082-exec-4] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:20:08.684 [http-nio-8082-exec-4] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:20:08.684 [http-nio-8082-exec-4] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:20:08.700 [http-nio-8082-exec-4] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:20:08.700 [http-nio-8082-exec-4] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:20:09.038 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/categories +2026-01-13 14:20:09.038 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-13 14:20:09.038 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/categories +2026-01-13 14:20:09.038 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/banner/list +2026-01-13 14:20:09.038 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:20:09.038 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:20:09.039 [http-nio-8082-exec-6] INFO com.dora.controller.CourseController - 获取课程分类列表 +2026-01-13 14:20:09.039 [http-nio-8082-exec-3] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-13 14:20:09.039 [http-nio-8082-exec-3] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-13 14:20:09.050 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-13 14:20:09.050 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-13 14:20:09.053 [http-nio-8082-exec-3] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:20:09.053 [http-nio-8082-exec-3] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-13 14:20:09.061 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-13 14:20:09.062 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:20:09.062 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 1(Integer) +2026-01-13 14:20:09.068 [http-nio-8082-exec-3] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-13 14:20:09.074 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 3 +2026-01-13 14:20:09.076 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.077 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 1(Long), 1(Long) +2026-01-13 14:20:09.089 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:20:09.089 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.089 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 6(Long), 6(Long) +2026-01-13 14:20:09.100 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:20:09.101 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.101 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 13(Long), 13(Long) +2026-01-13 14:20:09.101 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/categories +2026-01-13 14:20:09.102 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/categories +2026-01-13 14:20:09.102 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:20:09.102 [http-nio-8082-exec-7] INFO com.dora.controller.WorkflowController - 获取工作流分类列表 +2026-01-13 14:20:09.102 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-13 14:20:09.102 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-13 14:20:09.112 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-13 14:20:09.117 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-13 14:20:09.118 [http-nio-8082-exec-7] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-13 14:20:09.118 [http-nio-8082-exec-7] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 2(Integer) +2026-01-13 14:20:09.133 [http-nio-8082-exec-7] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 10 +2026-01-13 14:20:09.133 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.134 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 15(Long), 15(Long) +2026-01-13 14:20:09.148 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.149 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.149 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 16(Long), 16(Long) +2026-01-13 14:20:09.164 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.164 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.165 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 17(Long), 17(Long) +2026-01-13 14:20:09.179 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.180 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.180 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 7(Long), 7(Long) +2026-01-13 14:20:09.195 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.196 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.196 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 8(Long), 8(Long) +2026-01-13 14:20:09.211 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.211 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.211 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 9(Long), 9(Long) +2026-01-13 14:20:09.226 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.227 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.227 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 10(Long), 10(Long) +2026-01-13 14:20:09.242 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.242 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.242 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 11(Long), 11(Long) +2026-01-13 14:20:09.257 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.257 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.257 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 12(Long), 12(Long) +2026-01-13 14:20:09.272 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.273 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-13 14:20:09.273 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 14(Long), 14(Long) +2026-01-13 14:20:09.288 [http-nio-8082-exec-7] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-13 14:20:09.288 [http-nio-8082-exec-7] INFO com.dora.service.impl.WorkflowServiceImpl - 工作流分类数量超过10个,已限制为前10个分类 +2026-01-13 14:20:09.336 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/hot +2026-01-13 14:20:09.336 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/hot +2026-01-13 14:20:09.336 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/hot +2026-01-13 14:20:09.336 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/hot +2026-01-13 14:20:09.336 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:20:09.336 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:20:09.337 [http-nio-8082-exec-8] INFO com.dora.controller.CourseController - 获取热门课程列表 - page: 1, size: 32 +2026-01-13 14:20:09.337 [http-nio-8082-exec-9] INFO com.dora.controller.WorkflowController - 获取热门工作流列表 - page: 1, size: 32 +2026-01-13 14:20:09.337 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Preparing: SELECT id, name, description, cover_url, detail_gallery, price, owner_id, category, audit_status, reject_reason, review_time, is_free, full_access_role, copy_access_role, is_public, like_count, rating, video_id, data, data_file_url, create_time, update_time, is_deleted FROM workflow WHERE audit_status = 1 AND is_deleted = 0 ORDER BY like_count DESC, create_time DESC LIMIT ?, ? +2026-01-13 14:20:09.337 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Preparing: SELECT c.id, c.title, c.description, c.cover_url, c.detail_gallery, c.price, c.level, c.category, c.category_id, c.audit_status, c.reject_reason, c.review_time, c.user_id, c.is_free, c.create_time, c.update_time, c.is_deleted FROM course c LEFT JOIN ( -- 计算课程总观看次数 SELECT cc.course_id, COALESCE(SUM(v.view_count), 0) as total_view_count FROM course_chapter cc LEFT JOIN course_video cv ON cc.id = cv.chapter_id AND cv.is_deleted = 0 LEFT JOIN video v ON cv.video_id = v.id AND v.is_deleted = 0 WHERE cc.is_deleted = 0 GROUP BY cc.course_id ) view_stats ON c.id = view_stats.course_id LEFT JOIN ( -- 计算课程点赞次数 SELECT course_id, COUNT(*) as like_count FROM course_like WHERE is_deleted = 0 GROUP BY course_id ) like_stats ON c.id = like_stats.course_id WHERE c.is_deleted = 0 AND c.audit_status = 1 ORDER BY -- 综合评分公式: 观看次数40% + 点赞次数30% + 时间分数30% ( (COALESCE(view_stats.total_view_count, 0) * 0.4) + (COALESCE(like_stats.like_count, 0) * 0.3) + ((1000 / (DATEDIFF(NOW(), c.create_time) + 1)) * 0.3) ) DESC LIMIT ?, ? +2026-01-13 14:20:09.337 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Parameters: 0(Integer), 32(Integer) +2026-01-13 14:20:09.337 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Parameters: 0(Integer), 32(Integer) +2026-01-13 14:20:09.351 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - <== Total: 32 +2026-01-13 14:20:09.352 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-13 14:20:09.352 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-13 14:20:09.355 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - <== Total: 12 +2026-01-13 14:20:09.356 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-13 14:20:09.356 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-13 14:20:09.363 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-13 14:20:09.364 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? , ? , ? , ? , ? , ? ) AND is_deleted = 0 +2026-01-13 14:20:09.364 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564481182853556(Long), 17564630096767044(Long), 17564794376041081(Long), 17567400320744741(Long), 17564379418669007(Long), 17564803204774202(Long) +2026-01-13 14:20:09.370 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-13 14:20:09.371 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? ) AND is_deleted = 0 +2026-01-13 14:20:09.371 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564379418669007(Long) +2026-01-13 14:20:09.376 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 6 +2026-01-13 14:20:09.386 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 1 +2026-01-13 14:20:09.386 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.387 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:20:09.401 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.402 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.402 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:20:09.418 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.418 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.418 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 8(Long) +2026-01-13 14:20:09.433 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.434 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.434 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:20:09.449 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.450 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.450 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:20:09.465 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.466 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.466 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 25(Long) +2026-01-13 14:20:09.481 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.481 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.482 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:20:09.496 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.497 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.497 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:20:09.513 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.513 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.514 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 2(Long) +2026-01-13 14:20:09.530 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.530 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.530 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:20:09.546 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.547 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.547 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:20:09.562 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.563 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.563 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 3(Long) +2026-01-13 14:20:09.579 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.579 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.580 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:20:09.595 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.595 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.596 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:20:09.611 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.612 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.612 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 11(Long) +2026-01-13 14:20:09.626 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.626 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.628 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:20:09.642 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.643 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.643 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:20:09.658 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.659 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.659 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 4(Long) +2026-01-13 14:20:09.674 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.675 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.675 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:20:09.690 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.691 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.691 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:20:09.706 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.707 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.707 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 9(Long) +2026-01-13 14:20:09.723 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.723 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.724 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:20:09.740 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.740 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.740 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:20:09.755 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.756 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.756 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 7(Long) +2026-01-13 14:20:09.771 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.771 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.771 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:20:09.786 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.787 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.787 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:20:09.802 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.802 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.802 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 5(Long) +2026-01-13 14:20:09.817 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.817 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.817 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:20:09.832 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.833 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.833 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:20:09.847 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.848 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.848 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 13(Long) +2026-01-13 14:20:09.863 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.863 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.863 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:20:09.879 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.879 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.879 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:20:09.895 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.896 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.896 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 6(Long) +2026-01-13 14:20:09.911 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:09.912 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-13 14:20:09.912 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:20:09.927 [http-nio-8082-exec-8] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-13 14:20:09.927 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-13 14:20:09.927 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:20:09.942 [http-nio-8082-exec-8] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-13 14:20:09.943 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-13 14:20:09.943 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 12(Long) +2026-01-13 14:20:09.958 [http-nio-8082-exec-8] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-13 14:20:11.167 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/wechat/qr/login +2026-01-13 14:20:11.167 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:20:11.273 [http-nio-8082-exec-10] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e41a-7b8af6bd-60820d70,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 115.204.7.6 ipv6 ::ffff:115.204.7.6, not in whitelist rid: 6965e41a-7b8af6bd-60820d70"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:20:13.070 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:13.070 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:13.087 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:14.327 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:20:14.327 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:20:14.342 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:20:18.068 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:18.068 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:18.081 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:23.057 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:23.058 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:23.075 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:28.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:28.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:28.069 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:28.162 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/msm/send/18528655907 +2026-01-13 14:20:28.162 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/msm/send/18528655907 +2026-01-13 14:20:28.162 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:20:28.163 [http-nio-8082-exec-2] INFO com.dora.controller.MsmController - 发送短信验证码 - phone: 18528655907, force: false +2026-01-13 14:20:28.416 [http-nio-8082-exec-2] INFO com.dora.service.impl.MsmServiceImpl - 短信发送响应: {"Message":"OK","RequestId":"7308B594-43BC-5525-9B69-BFA6FD7A6CCF","Code":"OK","BizId":"681113268285227950^0"} +2026-01-13 14:20:28.416 [http-nio-8082-exec-2] INFO com.dora.service.impl.MsmServiceImpl - 短信发送成功 - phone: 18528655907 +2026-01-13 14:20:28.417 [http-nio-8082-exec-2] INFO com.dora.controller.MsmController - 短信验证码发送成功 - phone: 18528655907, code: 914615, force: false +2026-01-13 14:20:30.220 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:20:30.220 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:20:30.235 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:20:30.236 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:20:30.236 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:20:30.236 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:20:30.236 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:20:30.236 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:20:30.654 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.399201,"ip":"115.204.7.6"} +2026-01-13 14:20:30.655 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:20:30.655 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:20:30.655 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:20:30.655 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:20:30.655 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:20:30.686 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:20:30.687 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 9 分钟 +2026-01-13 14:20:33.072 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:33.072 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:33.084 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:34.365 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:20:34.365 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:20:34.381 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:20:38.070 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:38.071 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:38.087 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:43.059 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:43.060 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:43.076 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:48.069 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:48.069 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:48.086 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:53.060 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:53.060 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:53.063 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:20:53.063 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:10:53.049410400(LocalDateTime) +2026-01-13 14:20:53.073 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:20:53.078 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:20:54.404 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:20:54.404 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:20:54.416 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:20:58.071 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:20:58.071 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:20:58.087 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:00.702 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:21:00.703 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:21:00.714 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:21:00.715 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:21:00.715 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:21:00.715 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:21:00.715 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:21:00.715 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:21:01.166 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.415234,"ip":"115.204.7.6"} +2026-01-13 14:21:01.166 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:21:01.166 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:21:01.166 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:21:01.167 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:21:01.167 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:21:01.192 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:21:01.192 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 10 分钟 +2026-01-13 14:21:03.066 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:03.066 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:03.079 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:08.060 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:08.060 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:08.077 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:13.058 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:13.059 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:13.075 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:14.442 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:21:14.442 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:21:14.458 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:21:18.069 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:18.070 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:18.087 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:23.066 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:23.066 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:23.078 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:28.066 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:28.066 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:28.082 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:31.211 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:21:31.211 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:21:31.229 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:21:31.230 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:21:31.230 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:21:31.230 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:21:31.230 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:21:31.230 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:21:32.263 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.345374,"ip":"115.204.7.6"} +2026-01-13 14:21:32.265 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:21:32.265 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:21:32.265 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:21:32.281 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:21:32.281 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:21:32.313 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:21:32.313 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 10 分钟 +2026-01-13 14:21:33.063 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:33.064 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:33.081 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:34.478 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:21:34.478 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:21:34.490 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:21:38.072 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:38.072 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:38.089 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:43.065 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:43.065 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:43.078 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:48.058 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:48.059 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:48.075 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:52.670 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/msm/send/18528655907 +2026-01-13 14:21:52.670 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/msm/send/18528655907 +2026-01-13 14:21:52.670 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:21:52.671 [http-nio-8082-exec-1] INFO com.dora.controller.MsmController - 发送短信验证码 - phone: 18528655907, force: false +2026-01-13 14:21:52.672 [http-nio-8082-exec-1] WARN com.dora.controller.MsmController - 验证码已存在,请稍后再试 - phone: 18528655907 +2026-01-13 14:21:53.067 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:53.067 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:53.070 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:21:53.070 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:11:53.056922600(LocalDateTime) +2026-01-13 14:21:53.080 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:21:53.085 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:21:54.506 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:21:54.506 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:21:54.521 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:21:58.058 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:21:58.058 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:21:58.070 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:02.334 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:22:02.335 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:22:02.350 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:22:02.350 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:22:02.350 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:22:02.350 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:22:02.350 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:22:02.350 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:22:02.828 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.409483,"ip":"115.204.7.6"} +2026-01-13 14:22:02.829 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:22:02.829 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:22:02.829 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:22:02.829 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:22:02.830 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:22:02.861 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:22:02.861 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 11 分钟 +2026-01-13 14:22:03.055 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:03.055 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:03.067 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:08.069 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:08.069 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:08.086 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:13.063 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:13.063 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:13.079 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:14.547 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:22:14.547 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:22:14.562 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:22:18.059 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:18.059 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:18.077 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:23.054 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:23.054 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:23.068 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:28.068 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:28.068 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:28.087 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:32.875 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:22:32.875 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:22:32.887 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:22:32.887 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:22:32.887 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:22:32.887 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:22:32.887 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:22:32.887 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:22:33.068 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:33.069 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:33.084 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:33.311 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.40688,"ip":"115.204.7.6"} +2026-01-13 14:22:33.311 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:22:33.311 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:22:33.311 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:22:33.312 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:22:33.312 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:22:33.336 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:22:33.336 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 11 分钟 +2026-01-13 14:22:34.577 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:22:34.578 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:22:34.589 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:22:38.059 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:38.059 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:38.072 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:43.062 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:43.062 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:43.074 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:48.067 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:48.068 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:48.084 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:53.068 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:22:53.068 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:12:53.057020600(LocalDateTime) +2026-01-13 14:22:53.071 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:53.071 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:53.080 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:22:53.087 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:22:54.612 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:22:54.613 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:22:54.628 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:22:58.063 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:22:58.063 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:22:58.080 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:03.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:03.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:03.068 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:03.356 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:23:03.357 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:23:03.372 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:23:03.373 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:23:03.373 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:23:03.373 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:23:03.373 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:23:03.373 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:23:03.736 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.345087,"ip":"115.204.7.6"} +2026-01-13 14:23:03.737 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:23:03.737 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:23:03.737 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:23:03.737 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:23:03.738 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:23:03.770 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:23:03.770 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 12 分钟 +2026-01-13 14:23:08.062 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:08.062 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:08.074 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:10.850 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/auth/register +2026-01-13 14:23:10.850 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/register +2026-01-13 14:23:10.850 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:23:10.851 [http-nio-8082-exec-5] WARN com.dora.service.impl.UserServiceImpl - 注册验证码错误,已清除缓存的验证码 - phone: 18528655907 +2026-01-13 14:23:10.852 [http-nio-8082-exec-5] ERROR com.dora.controller.AuthController - 用户注册失败 - phone: 18528655907 +java.lang.RuntimeException: 验证码错误或已过期 + at com.dora.service.impl.UserServiceImpl.register(UserServiceImpl.java:154) + at com.dora.controller.AuthController.register(AuthController.java:69) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:63) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-13 14:23:13.060 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:13.060 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:13.074 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:14.653 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:23:14.653 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:23:14.668 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:23:18.060 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:18.060 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:18.076 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:23.070 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:23.070 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:23.085 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:28.063 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:28.063 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:28.075 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:33.059 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:33.059 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:33.076 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:33.787 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:23:33.787 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:23:33.802 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:23:33.803 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:23:33.803 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:23:33.803 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:23:33.803 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:23:33.803 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:23:34.164 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.337162,"ip":"115.204.7.6"} +2026-01-13 14:23:34.164 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:23:34.164 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:23:34.164 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:23:34.165 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:23:34.165 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:23:34.196 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:23:34.196 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 12 分钟 +2026-01-13 14:23:34.673 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:23:34.673 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:23:34.688 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:23:38.067 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:38.068 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:38.080 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:43.063 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:43.063 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:43.079 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:48.071 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:48.071 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:48.087 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:53.058 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:53.058 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:53.061 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:23:53.062 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:13:53.046940500(LocalDateTime) +2026-01-13 14:23:53.070 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:23:53.076 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:23:54.707 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:23:54.708 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:23:54.719 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:23:58.070 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:23:58.070 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:23:58.086 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:03.059 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:03.059 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:03.072 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:04.220 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:24:04.221 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:24:04.236 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:24:04.236 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:24:04.236 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:24:04.236 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:24:04.236 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:24:04.236 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:24:04.643 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.380129,"ip":"115.204.7.6"} +2026-01-13 14:24:04.644 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:24:04.644 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:24:04.644 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:24:04.644 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:24:04.645 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:24:04.678 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:24:04.679 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 13 分钟 +2026-01-13 14:24:08.068 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:08.068 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:08.080 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:13.070 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:13.070 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:13.088 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:14.737 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:24:14.738 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:24:14.753 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:24:18.062 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:18.062 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:18.079 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:23.054 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:23.054 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:23.067 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:28.071 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:28.071 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:28.085 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:33.061 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:33.062 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:33.078 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:34.701 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:24:34.701 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:24:34.713 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:24:34.713 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:24:34.713 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:24:34.713 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:24:34.713 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:24:34.713 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:24:34.783 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:24:34.783 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:24:34.798 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:24:35.122 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.380264,"ip":"115.204.7.6"} +2026-01-13 14:24:35.122 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:24:35.122 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:24:35.122 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:24:35.122 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:24:35.123 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:24:35.147 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:24:35.147 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 13 分钟 +2026-01-13 14:24:38.060 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:38.061 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:38.076 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:43.060 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:43.060 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:43.072 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:48.058 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:48.058 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:48.071 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:53.063 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:53.064 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:53.067 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:24:53.067 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:14:53.052383800(LocalDateTime) +2026-01-13 14:24:53.076 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:24:53.082 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:24:54.814 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:24:54.814 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:24:54.825 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:24:58.059 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:24:58.059 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:24:58.072 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:03.063 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:03.063 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:03.080 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:05.160 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:25:05.160 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:25:05.172 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:25:05.172 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:25:05.172 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:25:05.172 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:25:05.172 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:25:05.172 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:25:05.539 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.350271,"ip":"115.204.7.6"} +2026-01-13 14:25:05.540 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:25:05.540 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:25:05.540 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:25:05.540 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:25:05.540 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:25:05.565 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:25:05.565 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 14 分钟 +2026-01-13 14:25:08.073 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:08.073 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:08.089 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:13.056 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:13.056 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:13.070 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:14.849 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:25:14.850 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:25:14.865 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:25:18.060 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:18.060 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:18.077 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:23.067 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:23.067 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:23.083 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:28.060 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:28.060 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:28.077 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:33.067 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:33.067 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:33.080 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:34.885 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:25:34.886 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:25:34.901 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:25:35.582 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:25:35.582 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:25:35.598 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:25:35.599 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:25:35.599 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:25:35.599 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:25:35.599 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:25:35.599 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:25:35.965 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.346699,"ip":"115.204.7.6"} +2026-01-13 14:25:35.966 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:25:35.966 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:25:35.966 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:25:35.966 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:25:35.966 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:25:35.998 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:25:35.998 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 14 分钟 +2026-01-13 14:25:38.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:38.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:38.068 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:43.058 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:43.058 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:43.070 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:48.058 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:48.059 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:48.071 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:53.057 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:53.057 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:53.060 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:25:53.060 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:15:53.046676500(LocalDateTime) +2026-01-13 14:25:53.069 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:25:53.075 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:25:54.917 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:25:54.917 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:25:54.932 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:25:58.054 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:25:58.054 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:25:58.067 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:03.059 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:03.059 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:03.075 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:06.026 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:26:06.026 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:26:06.042 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:26:06.042 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:26:06.042 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:26:06.042 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:26:06.042 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:26:06.042 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:26:06.409 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.340278,"ip":"115.204.7.6"} +2026-01-13 14:26:06.410 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:26:06.410 [MessageBroker-16] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:26:06.410 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:26:06.410 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:26:06.410 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:26:06.442 [MessageBroker-16] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:26:06.442 [MessageBroker-16] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 15 分钟 +2026-01-13 14:26:08.056 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:08.057 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:08.069 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:13.055 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:13.055 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:13.067 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:14.946 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:26:14.947 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:26:14.958 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:26:18.071 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:18.071 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:18.088 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:23.058 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:23.059 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:23.075 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:28.067 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:28.067 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:28.080 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:33.057 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:33.057 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:33.070 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:34.978 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:26:34.978 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:26:34.994 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:26:36.462 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:26:36.463 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:26:36.478 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:26:36.479 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:26:36.479 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:26:36.479 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:26:36.479 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:26:36.479 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:26:37.234 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.371576,"ip":"115.204.7.6"} +2026-01-13 14:26:37.234 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:26:37.234 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:26:37.234 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:26:37.249 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:26:37.249 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:26:37.281 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:26:37.281 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 15 分钟 +2026-01-13 14:26:38.069 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:38.070 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:38.086 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:43.066 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:43.066 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:43.083 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:48.064 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:48.064 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:48.076 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:53.060 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:53.060 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:53.063 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:26:53.064 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:16:53.049516800(LocalDateTime) +2026-01-13 14:26:53.074 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:26:53.078 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:26:55.020 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:26:55.020 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:26:55.031 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:26:58.070 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:26:58.071 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:26:58.087 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:03.053 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:03.053 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:03.066 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:07.302 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:27:07.302 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:27:07.317 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:27:07.318 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:27:07.318 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:27:07.318 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:27:07.318 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:27:07.318 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:27:07.688 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.352969,"ip":"115.204.7.6"} +2026-01-13 14:27:07.688 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:27:07.688 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:27:07.689 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:27:07.689 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:27:07.689 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:27:07.720 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:27:07.720 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 16 分钟 +2026-01-13 14:27:08.057 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:08.057 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:08.074 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:13.063 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:13.063 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:13.080 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:15.055 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:27:15.056 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:27:15.067 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:27:18.065 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:18.065 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:18.078 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:23.060 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:23.060 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:23.072 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:28.069 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:28.069 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:28.086 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:33.075 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:33.076 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:33.093 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:35.086 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:27:35.087 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:27:35.098 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:27:37.736 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:27:37.736 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:27:37.751 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:27:37.752 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:27:37.752 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:27:37.752 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:27:37.752 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:27:37.752 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:27:38.052 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:38.052 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:38.069 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:38.131 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.357742,"ip":"115.204.7.6"} +2026-01-13 14:27:38.131 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:27:38.132 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:27:38.132 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:27:38.132 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:27:38.132 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:27:38.163 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:27:38.163 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 16 分钟 +2026-01-13 14:27:43.058 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:43.058 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:43.071 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:48.067 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:48.067 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:48.080 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:53.062 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:27:53.063 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:17:53.050237700(LocalDateTime) +2026-01-13 14:27:53.066 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:53.066 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:53.074 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:27:53.082 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:27:55.119 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:27:55.120 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:27:55.135 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:27:58.059 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:27:58.059 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:27:58.072 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:03.057 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:03.057 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:03.071 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:08.059 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:08.059 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:08.075 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:08.171 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:28:08.171 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:28:08.187 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:28:08.187 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:28:08.187 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:28:08.187 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:28:08.187 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:28:08.188 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:28:08.555 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.350206,"ip":"115.204.7.6"} +2026-01-13 14:28:08.556 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:28:08.556 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:28:08.556 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:28:08.556 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:28:08.556 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:28:08.587 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:28:08.588 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 17 分钟 +2026-01-13 14:28:13.062 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:13.062 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:13.075 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:15.161 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:28:15.161 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:28:15.172 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:28:18.067 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:18.068 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:18.080 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:23.067 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:23.067 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:23.083 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:28.063 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:28.064 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:28.079 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:33.062 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:33.062 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:33.075 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:35.184 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:28:35.184 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:28:35.195 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:28:38.055 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:38.055 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:38.068 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:38.610 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:28:38.611 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:28:38.626 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:28:38.626 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:28:38.626 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:28:38.626 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:28:38.626 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:28:38.627 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:28:38.982 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.339784,"ip":"115.204.7.6"} +2026-01-13 14:28:38.982 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:28:38.982 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:28:38.982 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:28:38.983 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:28:38.983 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:28:39.014 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:28:39.014 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 17 分钟 +2026-01-13 14:28:43.064 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:43.064 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:43.080 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:48.071 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:48.071 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:48.088 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:53.063 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:28:53.064 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:28:53.067 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:28:53.067 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:18:53.053246600(LocalDateTime) +2026-01-13 14:28:53.076 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:28:53.082 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:28:55.217 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:28:55.217 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:28:55.232 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:28:55.285 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-13 14:28:55.285 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@582ce329]] +2026-01-13 14:28:55.285 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-13 14:28:55.423 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-13 14:28:55.427 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2026-01-13 14:28:58.006 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-13 14:28:58.044 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 452 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-13 14:28:58.045 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-13 14:28:58.046 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-13 14:28:59.061 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-13 14:28:59.064 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-13 14:28:59.112 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35 ms. Found 0 Redis repository interfaces. +2026-01-13 14:28:59.815 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-13 14:28:59.823 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-13 14:28:59.824 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-13 14:28:59.825 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-13 14:28:59.877 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-13 14:28:59.877 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1789 ms +2026-01-13 14:29:00.626 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-13 14:29:00.626 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-13 14:29:01.202 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-13 14:29:01.202 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-13 14:29:01.202 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-13 14:29:01.834 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 709ba40d-3f6f-4227-83f1-f902042e99c0 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-13 14:29:02.166 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@51751265, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7f59f4e4, org.springframework.security.web.context.SecurityContextHolderFilter@1651bd68, org.springframework.security.web.header.HeaderWriterFilter@18372705, org.springframework.web.filter.CorsFilter@5295a774, org.springframework.security.web.authentication.logout.LogoutFilter@6dc98c02, com.dora.config.JwtAuthenticationFilter@776a3365, com.dora.config.ApiKeyAuthenticationFilter@1c0680b0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3fc064cb, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4bacabc4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3e09067, org.springframework.security.web.session.SessionManagementFilter@35bcf3a6, org.springframework.security.web.access.ExceptionTranslationFilter@4c32aa7e, org.springframework.security.web.access.intercept.AuthorizationFilter@718b9d56] +2026-01-13 14:29:02.600 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-13 14:29:02.616 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-13 14:29:02.618 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-13 14:29:02.618 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@582ce329]] +2026-01-13 14:29:02.618 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-13 14:29:02.631 [main] INFO com.dora.Application - Started Application in 5.17 seconds (process running for 5.793) +2026-01-13 14:29:02.633 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-12T14:29:02.633038200 (24小时前) +2026-01-13 14:29:02.633 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1767680942633 +2026-01-13 14:29:02.639 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-13 14:29:02.655 [MessageBroker-6] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-13 14:29:02.927 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-13 14:29:02.960 [MessageBroker-6] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@12d53003 +2026-01-13 14:29:02.961 [MessageBroker-6] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-13 14:29:02.967 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-13 14:29:02.982 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-12T14:29:02.633038200(LocalDateTime) +2026-01-13 14:29:03.006 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-01-13 14:29:03.011 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:29:03.011 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-01-13 14:29:03.011 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:29:03.023 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:29:03.023 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:29:03.023 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:19:02.633038200(LocalDateTime) +2026-01-13 14:29:03.032 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:29:03.032 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:29:03.033 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:29:03.046 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:29:03.047 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:03.047 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:03.047 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:29:03.047 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:29:03.047 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:29:03.047 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:29:03.050 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:29:03.074 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:03.597 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.36663,"ip":"115.204.7.6"} +2026-01-13 14:29:03.646 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:29:03.646 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:29:03.647 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:29:03.670 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:29:03.670 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:29:03.690 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:29:03.691 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 18 分钟 +2026-01-13 14:29:07.644 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:07.644 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:07.656 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:12.637 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:12.637 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:12.648 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:17.638 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:17.638 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:17.650 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:22.642 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:22.642 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:22.652 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:23.024 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:29:23.024 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:29:23.033 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:29:27.643 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:27.643 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:27.654 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:32.650 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:32.651 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:32.662 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:33.706 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:29:33.706 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:29:33.716 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:29:33.716 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:29:33.716 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:29:33.717 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:29:33.717 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:29:33.717 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:29:34.103 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.369595,"ip":"115.204.7.6"} +2026-01-13 14:29:34.105 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:29:34.105 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:29:34.105 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:29:34.106 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:29:34.106 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:29:34.126 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:29:34.127 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 18 分钟 +2026-01-13 14:29:37.638 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:37.638 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:37.652 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:42.640 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:42.640 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:42.650 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:43.039 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:29:43.039 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:29:43.049 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:29:47.638 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:47.638 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:47.648 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:52.643 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:52.643 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:52.654 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:29:57.638 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:29:57.639 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:29:57.650 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:02.602 [MessageBroker-12] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-13 14:30:02.636 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:30:02.637 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:20:02.629843(LocalDateTime) +2026-01-13 14:30:02.638 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:02.638 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:02.644 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:30:02.648 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:03.058 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:30:03.059 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:30:03.068 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:30:04.146 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:30:04.147 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:30:04.156 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:30:04.157 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:30:04.157 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:30:04.157 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:30:04.157 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:30:04.157 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:30:04.555 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.374595,"ip":"115.204.7.6"} +2026-01-13 14:30:04.555 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:30:04.556 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:30:04.556 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:30:04.556 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:30:04.557 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:30:04.576 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:30:04.576 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 19 分钟 +2026-01-13 14:30:07.643 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:07.643 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:07.654 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:12.645 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:12.646 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:12.656 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:17.642 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:17.642 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:17.654 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:22.648 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:22.648 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:22.657 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:23.078 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:30:23.079 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:30:23.088 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:30:27.652 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:27.653 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:27.662 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:32.643 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:32.643 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:32.659 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:34.587 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:30:34.587 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:30:34.596 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:30:34.597 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:30:34.597 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:30:34.597 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:30:34.597 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:30:34.597 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:30:34.979 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.359472,"ip":"115.204.7.6"} +2026-01-13 14:30:34.979 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:30:34.980 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:30:34.980 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:30:34.980 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:30:34.980 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:30:35.000 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:30:35.000 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 19 分钟 +2026-01-13 14:30:37.652 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:37.652 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:37.662 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:42.640 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:42.640 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:42.650 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:43.089 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:30:43.090 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:30:43.099 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:30:47.645 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:47.645 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:47.655 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:52.644 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:52.645 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:52.655 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:30:57.644 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:30:57.644 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:30:57.654 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:02.648 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:02.648 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:02.649 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:31:02.649 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:21:02.641704500(LocalDateTime) +2026-01-13 14:31:02.656 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:02.658 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:31:03.113 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:31:03.113 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:31:03.122 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:31:05.026 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:31:05.026 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:31:05.036 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:31:05.036 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:31:05.036 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:31:05.036 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:31:05.036 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:31:05.036 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:31:05.459 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.361675,"ip":"115.204.7.6"} +2026-01-13 14:31:05.460 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:31:05.460 [MessageBroker-14] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:31:05.460 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:31:05.460 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:31:05.461 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:31:05.480 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:31:05.480 [MessageBroker-14] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 20 分钟 +2026-01-13 14:31:07.649 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:07.649 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:07.659 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:12.639 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:12.640 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:12.649 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:17.651 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:17.651 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:17.662 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:22.641 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:22.642 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:22.653 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:23.137 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:31:23.138 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:31:23.147 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:31:27.639 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:27.639 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:27.649 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:28.580 [http-nio-8082-exec-1] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1767069153,1767101489,1767336500,1768284877;] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-13 14:31:28.587 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-01-13 14:31:28.588 [http-nio-8082-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-01-13 14:31:28.590 [http-nio-8082-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2026-01-13 14:31:28.617 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/msm/send/18528655907 +2026-01-13 14:31:28.617 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/msm/send/18528655907 +2026-01-13 14:31:28.618 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:28.642 [http-nio-8082-exec-1] INFO com.dora.controller.MsmController - 发送短信验证码 - phone: 18528655907, force: false +2026-01-13 14:31:28.996 [http-nio-8082-exec-1] INFO com.dora.service.impl.MsmServiceImpl - 短信发送响应: {"Message":"OK","RequestId":"657F052C-923F-5863-9E80-850CCAC79E55","Code":"OK","BizId":"834024968285888474^0"} +2026-01-13 14:31:28.997 [http-nio-8082-exec-1] INFO com.dora.service.impl.MsmServiceImpl - 短信发送成功 - phone: 18528655907 +2026-01-13 14:31:29.000 [http-nio-8082-exec-1] INFO com.dora.controller.MsmController - 短信验证码发送成功 - phone: 18528655907, code: 139490, force: false +2026-01-13 14:31:32.641 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:32.641 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:32.652 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:35.498 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:31:35.498 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:31:35.508 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:31:35.508 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:31:35.508 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:31:35.508 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113141057050-4602, 调用queryTaskStatus... +2026-01-13 14:31:35.508 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:31:35.508 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1 +2026-01-13 14:31:35.873 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:10:57","updated_at":"2026-01-13 14:10:57","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"db15e0e5-54c0-4feb-8774-964a5ee4c7e1"},"exec_time":0.346696,"ip":"115.204.7.6"} +2026-01-13 14:31:35.873 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:31:35.873 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=db15e0e5-54c0-4feb-8774-964a5ee4c7e1, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:31:35.873 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113141057050-4602, 状态: QUEUED +2026-01-13 14:31:35.874 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:31:35.874 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 2026-01-13T14:10:57(LocalDateTime), 2883(Long) +2026-01-13 14:31:35.897 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:31:35.897 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113141057050-4602, 状态: QUEUED, 已运行 20 分钟 +2026-01-13 14:31:37.645 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:37.645 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:37.655 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:42.646 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:42.647 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:42.656 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:43.167 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:31:43.167 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:31:43.176 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:31:47.643 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:47.643 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:47.653 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:49.322 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/auth/register +2026-01-13 14:31:49.322 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/register +2026-01-13 14:31:49.322 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:49.413 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE phone = ? LIMIT 1 +2026-01-13 14:31:49.413 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - ==> Parameters: 18528655907(String) +2026-01-13 14:31:49.422 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - <== Total: 0 +2026-01-13 14:31:49.429 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.insert - ==> Preparing: INSERT INTO user ( id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2026-01-13 14:31:49.431 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.insert - ==> Parameters: 17682859094257188(Long), 18528655907(String), null, 用户582348(String), null, null, null, 1(Integer), 2026-01-15T14:31:49.425865500(LocalDateTime), https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAJblmiMe_d10FU66N4nQAQMfscumNdFAALDGwACUsZhVEphmi-3nWulNgQ.png(String), 0(Integer), ZRVVVM(String), null, 1(Integer), 0(Integer), null, 2026-01-13T14:31:49.428863(LocalDateTime), 2026-01-13T14:31:49.428863(LocalDateTime), 0(Integer) +2026-01-13 14:31:49.449 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.insert - <== Updates: 1 +2026-01-13 14:31:49.465 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.465 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.474 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:49.475 [http-nio-8082-exec-2] DEBUG c.dora.mapper.UserMapper.updateRoleAndMembership - ==> Preparing: UPDATE user SET role = ?, membership_expires_at = ?, update_time = NOW() WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.475 [http-nio-8082-exec-2] DEBUG c.dora.mapper.UserMapper.updateRoleAndMembership - ==> Parameters: 2(Integer), 2026-01-15T14:31:49.475869500(LocalDateTime), 17682859094257188(Long) +2026-01-13 14:31:49.492 [http-nio-8082-exec-2] DEBUG c.dora.mapper.UserMapper.updateRoleAndMembership - <== Updates: 1 +2026-01-13 14:31:49.493 [http-nio-8082-exec-2] INFO com.dora.service.impl.UserMembershipServiceImpl - 新用户默认VIP身份设置成功 - userId: 17682859094257188, expiresAt: 2026-01-15T14:31:49.475869500 +2026-01-13 14:31:49.521 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.521 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.530 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-13 14:31:49.531 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-13 14:31:49.531 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: 200(Integer), 17682859094257188(Long), 200(Integer) +2026-01-13 14:31:49.549 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-13 14:31:49.549 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-13 14:31:49.550 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17682859094257188(Long), null, grant(String), 200(Integer), 0(Integer), 200(Integer), 新用户注册奖励(String), 0(Integer) +2026-01-13 14:31:49.569 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-13 14:31:49.590 [http-nio-8082-exec-2] INFO com.dora.service.impl.UserServiceImpl - 新用户注册积分发放成功 - userId: 17682859094257188, 积分: 200 +2026-01-13 14:31:49.598 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.countFansByInviterId - ==> Preparing: SELECT COUNT(*) FROM user WHERE inviter_id = ? AND is_deleted = 0 +2026-01-13 14:31:49.599 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.countFansByInviterId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.608 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.countFansByInviterId - <== Total: 1 +2026-01-13 14:31:49.609 [http-nio-8082-exec-2] DEBUG c.d.mapper.RevenueConfigMapper.selectByConfigType - ==> Preparing: SELECT * FROM revenue_config WHERE config_type = ? AND is_deleted = 0 ORDER BY level ASC, create_time DESC +2026-01-13 14:31:49.609 [http-nio-8082-exec-2] DEBUG c.d.mapper.RevenueConfigMapper.selectByConfigType - ==> Parameters: promotion(String) +2026-01-13 14:31:49.618 [http-nio-8082-exec-2] DEBUG c.d.mapper.RevenueConfigMapper.selectByConfigType - <== Total: 3 +2026-01-13 14:31:49.619 [http-nio-8082-exec-2] DEBUG com.dora.util.PromotionLevelCalculator - 计算推广等级 - totalFansCount: 0, 可用配置数量: 3 +2026-01-13 14:31:49.620 [http-nio-8082-exec-2] DEBUG com.dora.util.PromotionLevelCalculator - 等级配置检查 - level: 1, minFans: 0, totalFans: 0, 是否匹配: true +2026-01-13 14:31:49.620 [http-nio-8082-exec-2] DEBUG com.dora.util.PromotionLevelCalculator - 等级配置检查 - level: 2, minFans: 11, totalFans: 0, 是否匹配: false +2026-01-13 14:31:49.620 [http-nio-8082-exec-2] DEBUG com.dora.util.PromotionLevelCalculator - 等级配置检查 - level: 3, minFans: 31, totalFans: 0, 是否匹配: false +2026-01-13 14:31:49.620 [http-nio-8082-exec-2] DEBUG com.dora.util.PromotionLevelCalculator - 推广等级计算结果 - totalFansCount: 0, resultLevel: 1 +2026-01-13 14:31:49.620 [http-nio-8082-exec-2] DEBUG c.dora.mapper.UserMapper.selectPromotionLevelById - ==> Preparing: SELECT promotion_level FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.620 [http-nio-8082-exec-2] DEBUG c.dora.mapper.UserMapper.selectPromotionLevelById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.629 [http-nio-8082-exec-2] DEBUG c.dora.mapper.UserMapper.selectPromotionLevelById - <== Total: 1 +2026-01-13 14:31:49.629 [http-nio-8082-exec-2] DEBUG com.dora.util.PromotionLevelCalculator - 用户推广等级无需更新 - userId: 17682859094257188, level: 1, totalFans: 0 +2026-01-13 14:31:49.646 [http-nio-8082-exec-2] INFO com.dora.service.impl.UserServiceImpl - 新用户推广等级初始化完成 - userId: 17682859094257188 +2026-01-13 14:31:49.743 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token已添加 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59 +2026-01-13 14:31:49.744 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.745 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.754 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:49.755 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.755 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.764 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:49.765 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:49.765 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:49.773 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:49.774 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:49.774 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.782 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:49.783 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:49.783 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:49.793 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:49.793 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:49.793 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.802 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:49.802 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:49.802 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.811 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:49.812 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:49.812 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:49.821 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:49.821 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:49.822 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:49.830 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:49.831 [http-nio-8082-exec-2] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682859094257188, createTime: 2026-01-13T14:31:49 +2026-01-13 14:31:49.831 [http-nio-8082-exec-2] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682859094257188 +2026-01-13 14:31:49.831 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:31:49.831 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682859094257188(Long), 1(Integer) +2026-01-13 14:31:49.840 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:31:49.840 [http-nio-8082-exec-2] INFO com.dora.service.impl.UserServiceImpl - 用户注册成功 - phone: 18528655907, userId: 17682859094257188, username: 用户582348 +2026-01-13 14:31:52.651 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:52.651 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:52.662 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:31:55.546 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:31:55.550 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:31:55.559 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:55.560 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:55.569 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:55.570 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:31:55.570 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:55.578 [http-nio-8082-exec-3] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:31:55.579 [http-nio-8082-exec-3] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:31:55.579 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:31:55.579 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:31:55.588 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:31:55.589 [http-nio-8082-exec-3] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:31:56.118 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-13 14:31:56.118 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-13 14:31:56.121 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:31:56.121 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:31:56.128 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.128 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.130 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.130 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.136 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.136 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:31:56.136 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:56.137 [http-nio-8082-exec-5] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-13 14:31:56.137 [http-nio-8082-exec-5] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-13 14:31:56.137 [http-nio-8082-exec-5] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-13 14:31:56.137 [http-nio-8082-exec-5] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-13 14:31:56.139 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.139 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:31:56.139 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:56.141 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.142 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.145 [http-nio-8082-exec-5] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-13 14:31:56.145 [http-nio-8082-exec-5] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-13 14:31:56.151 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.152 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.152 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.161 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.161 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.161 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.170 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.170 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.170 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.179 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.180 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.180 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.188 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.189 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.189 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.198 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.199 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.199 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.208 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.208 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.209 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.217 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.218 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.218 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.226 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.227 [http-nio-8082-exec-4] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682859094257188, createTime: 2026-01-13T14:31:49 +2026-01-13 14:31:56.227 [http-nio-8082-exec-4] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682859094257188 +2026-01-13 14:31:56.227 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:31:56.227 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682859094257188(Long), 1(Integer) +2026-01-13 14:31:56.236 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:31:56.242 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-13 14:31:56.244 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:31:56.245 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.245 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.254 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.254 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:31:56.254 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:56.256 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.256 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.265 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.266 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.266 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.275 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.276 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.276 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.285 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.285 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.285 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.293 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.294 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.294 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.303 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.303 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.304 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.312 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.312 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.313 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.322 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.322 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.322 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.331 [http-nio-8082-exec-6] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.331 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.332 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.340 [http-nio-8082-exec-6] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.341 [http-nio-8082-exec-6] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682859094257188, createTime: 2026-01-13T14:31:49 +2026-01-13 14:31:56.341 [http-nio-8082-exec-6] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682859094257188 +2026-01-13 14:31:56.341 [http-nio-8082-exec-6] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:31:56.341 [http-nio-8082-exec-6] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682859094257188(Long), 1(Integer) +2026-01-13 14:31:56.350 [http-nio-8082-exec-6] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:31:56.356 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-13 14:31:56.358 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/v1/api-key/info +2026-01-13 14:31:56.358 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:31:56.359 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.359 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.360 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:31:56.361 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.361 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.370 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.370 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.370 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:31:56.370 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:31:56.370 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:56.370 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:31:56.372 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.372 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - ==> Preparing: SELECT * FROM api_key WHERE user_id = ? AND is_deleted = 0 +2026-01-13 14:31:56.372 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.372 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.379 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - <== Total: 0 +2026-01-13 14:31:56.382 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.383 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.384 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.393 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.393 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.393 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.401 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.402 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.402 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.411 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.411 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.412 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.420 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.420 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.421 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.429 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.430 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:31:56.430 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.439 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:31:56.439 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.440 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17682859094257188(Long), 2(Integer) +2026-01-13 14:31:56.449 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-13 14:31:56.449 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-13 14:31:56.449 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:31:56.458 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-13 14:31:56.458 [http-nio-8082-exec-7] DEBUG com.dora.util.MembershipUtil - 用户是赠送会员 - userId: 17682859094257188, createTime: 2026-01-13T14:31:49 +2026-01-13 14:31:56.459 [http-nio-8082-exec-7] INFO com.dora.util.MembershipUtil - 用户是赠送会员,不参与收益分成 - userId: 17682859094257188 +2026-01-13 14:31:56.459 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-13 14:31:56.459 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17682859094257188(Long), 1(Integer) +2026-01-13 14:31:56.469 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 0 +2026-01-13 14:31:57.650 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:31:57.650 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:31:57.661 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:00.952 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/v1/api-key/generate +2026-01-13 14:32:00.954 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:32:00.963 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:32:00.963 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:00.973 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:32:00.973 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:32:00.973 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:00.982 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:32:00.983 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:00.992 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:32:00.992 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - ==> Preparing: SELECT * FROM api_key WHERE user_id = ? AND is_deleted = 0 +2026-01-13 14:32:00.992 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:01.000 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - <== Total: 0 +2026-01-13 14:32:01.001 [http-nio-8082-exec-9] DEBUG c.d.m.ApiKeyMapper.selectByUserIdIncludeDeleted - ==> Preparing: SELECT * FROM api_key WHERE user_id = ? +2026-01-13 14:32:01.001 [http-nio-8082-exec-9] DEBUG c.d.m.ApiKeyMapper.selectByUserIdIncludeDeleted - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:01.009 [http-nio-8082-exec-9] DEBUG c.d.m.ApiKeyMapper.selectByUserIdIncludeDeleted - <== Total: 0 +2026-01-13 14:32:01.010 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.insert - ==> Preparing: INSERT INTO api_key (user_id, key_value, is_active, create_time, update_time, is_deleted) VALUES (?, ?, ?, NOW(), NOW(), 0) +2026-01-13 14:32:01.010 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.insert - ==> Parameters: 17682859094257188(Long), ak_755e09d7c06243aa8b5e0d304c90acdf(String), true(Boolean) +2026-01-13 14:32:01.028 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.insert - <== Updates: 1 +2026-01-13 14:32:01.187 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/v1/api-key/info +2026-01-13 14:32:01.189 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17682859094257188, tokenId: 1ee653ee-cc09-4a44-a5c6-02ff67971b59, valid: true +2026-01-13 14:32:01.189 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:32:01.189 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:01.198 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:32:01.198 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17682859094257188,用户名: 用户582348 +2026-01-13 14:32:01.198 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:01.199 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - ==> Preparing: SELECT * FROM api_key WHERE user_id = ? AND is_deleted = 0 +2026-01-13 14:32:01.199 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:01.209 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByUserId - <== Total: 1 +2026-01-13 14:32:01.209 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:32:01.210 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:32:01.219 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:32:02.637 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:02.637 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:02.638 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:32:02.638 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:22:02.630209500(LocalDateTime) +2026-01-13 14:32:02.646 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:02.646 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:32:03.195 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:32:03.195 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:32:03.204 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:32:05.920 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:32:05.920 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:32:05.930 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:32:05.931 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113141057050-4602(providerTaskId:db15e0e5-54c0-4feb-8774-964a5ee4c7e1) +2026-01-13 14:32:05.931 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113141057050-4602, providerTaskId: db15e0e5-54c0-4feb-8774-964a5ee4c7e1, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:10:57 +2026-01-13 14:32:05.931 [MessageBroker-7] WARN com.dora.scheduler.SuChuangPollingScheduler - 速创任务 TASK-20260113141057050-4602 已超时(创建于 2026-01-13T14:10:57),超过 20 分钟 +2026-01-13 14:32:05.931 [MessageBroker-7] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创失败处理开始】任务: TASK-20260113141057050-4602, 错误: 任务处理超时(超过20分钟),已自动取消,本次不消耗积分 +2026-01-13 14:32:05.931 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, error_message = ?, start_time = ?, complete_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:32:05.933 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: failed(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), db15e0e5-54c0-4feb-8774-964a5ee4c7e1(String), 任务处理超时(超过20分钟),已自动取消,本次不消耗积分(String), 2026-01-13T14:10:57(LocalDateTime), 2026-01-13T14:32:05.931627600(LocalDateTime), 2883(Long) +2026-01-13 14:32:05.954 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:32:05.954 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态已更新】任务: TASK-20260113141057050-4602, 状态: failed +2026-01-13 14:32:05.954 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创退还积分】任务: TASK-20260113141057050-4602, 积分: 150 +2026-01-13 14:32:05.962 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:32:05.962 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17670587282337540(Long) +2026-01-13 14:32:05.971 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-13 14:32:05.972 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-13 14:32:05.972 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: 150(Integer), 17670587282337540(Long), 150(Integer) +2026-01-13 14:32:05.989 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-13 14:32:05.989 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-13 14:32:05.989 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17670587282337540(Long), TASK-20260113141057050-4602(String), refund(String), 150(Integer), 2240(Integer), 2390(Integer), 任务失败,积分退回(String), 0(Integer) +2026-01-13 14:32:06.007 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-13 14:32:06.027 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创积分已退还】任务: TASK-20260113141057050-4602, 用户: 17670587282337540, 积分: 150 +2026-01-13 14:32:06.028 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17670587282337540 发送任务 TASK-20260113141057050-4602 的进度更新到目的地: /queue/tasks-progress +2026-01-13 14:32:06.034 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17670587282337540, 任务: TASK-20260113141057050-4602 +2026-01-13 14:32:06.034 [MessageBroker-7] WARN com.dora.service.impl.NotificationServiceImpl - 任务失败通知已发送 - 用户: 17670587282337540, 任务: TASK-20260113141057050-4602, 错误: 任务处理超时(超过20分钟),已自动取消,本次不消耗积分 +2026-01-13 14:32:06.034 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创失败处理完成】任务: TASK-20260113141057050-4602 +2026-01-13 14:32:07.642 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:07.642 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:07.652 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:12.645 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:12.645 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:12.656 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:17.641 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:17.641 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:17.651 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:22.642 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:22.643 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:22.652 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:23.226 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:32:23.226 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:32:23.235 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:32:27.643 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:27.643 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:27.654 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:28.808 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/index.html +2026-01-13 14:32:28.809 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/index.html +2026-01-13 14:32:28.809 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.846 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-ui.css +2026-01-13 14:32:28.846 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-ui-bundle.js +2026-01-13 14:32:28.846 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/index.css +2026-01-13 14:32:28.847 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-ui.css +2026-01-13 14:32:28.847 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-ui-bundle.js +2026-01-13 14:32:28.847 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/index.css +2026-01-13 14:32:28.847 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.847 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.847 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.847 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-ui-standalone-preset.js +2026-01-13 14:32:28.847 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-ui-standalone-preset.js +2026-01-13 14:32:28.847 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.848 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-initializer.js +2026-01-13 14:32:28.848 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-initializer.js +2026-01-13 14:32:28.848 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.971 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/favicon-16x16.png +2026-01-13 14:32:28.971 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/favicon-16x16.png +2026-01-13 14:32:28.971 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.979 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /v3/api-docs/swagger-config +2026-01-13 14:32:28.979 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /v3/api-docs/swagger-config +2026-01-13 14:32:28.979 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:28.998 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /v3/api-docs/default +2026-01-13 14:32:28.998 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /v3/api-docs/default +2026-01-13 14:32:28.998 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-13 14:32:31.340 [http-nio-8082-exec-9] INFO org.springdoc.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 2339 ms +2026-01-13 14:32:32.647 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:32.647 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:32.656 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:36.050 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:32:36.050 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:32:36.058 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:32:36.058 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143220937-3874(providerTaskId:27b65cc5-28b9-44c7-be28-02b803545ebe) +2026-01-13 14:32:36.058 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143220937-3874, providerTaskId: 27b65cc5-28b9-44c7-be28-02b803545ebe, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:32:20 +2026-01-13 14:32:36.058 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143220937-3874, 调用queryTaskStatus... +2026-01-13 14:32:36.058 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:32:36.058 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=27b65cc5-28b9-44c7-be28-02b803545ebe, taskId=27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:32:36.506 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:32:21","updated_at":"2026-01-13 14:32:21","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"27b65cc5-28b9-44c7-be28-02b803545ebe"},"exec_time":0.354926,"ip":"115.204.7.6"} +2026-01-13 14:32:36.507 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:32:36.507 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:32:36.507 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143220937-3874, 状态: QUEUED +2026-01-13 14:32:36.507 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:32:36.508 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 27b65cc5-28b9-44c7-be28-02b803545ebe(String), 2026-01-13T14:32:21(LocalDateTime), 2894(Long) +2026-01-13 14:32:36.524 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:32:36.525 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143220937-3874, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:32:37.646 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:37.646 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:37.656 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:42.645 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:42.645 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:42.654 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:43.259 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:32:43.260 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:32:43.271 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:32:47.651 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:47.651 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:47.661 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:52.645 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:52.645 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:52.655 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:32:57.648 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:32:57.648 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:32:57.658 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:02.643 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:33:02.643 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:23:02.636370400(LocalDateTime) +2026-01-13 14:33:02.644 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:02.644 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:02.650 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:33:02.654 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:03.291 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:33:03.291 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:33:03.299 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:33:06.544 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:33:06.544 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:33:06.553 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:33:06.553 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143220937-3874(providerTaskId:27b65cc5-28b9-44c7-be28-02b803545ebe) +2026-01-13 14:33:06.553 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143220937-3874, providerTaskId: 27b65cc5-28b9-44c7-be28-02b803545ebe, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:32:20 +2026-01-13 14:33:06.553 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143220937-3874, 调用queryTaskStatus... +2026-01-13 14:33:06.553 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:33:06.553 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=27b65cc5-28b9-44c7-be28-02b803545ebe, taskId=27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:33:07.268 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:32:21","updated_at":"2026-01-13 14:32:21","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"27b65cc5-28b9-44c7-be28-02b803545ebe"},"exec_time":0.368937,"ip":"115.204.7.6"} +2026-01-13 14:33:07.269 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:33:07.269 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:33:07.269 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143220937-3874, 状态: QUEUED +2026-01-13 14:33:07.277 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:33:07.278 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 27b65cc5-28b9-44c7-be28-02b803545ebe(String), 2026-01-13T14:32:21(LocalDateTime), 2894(Long) +2026-01-13 14:33:07.297 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:33:07.297 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143220937-3874, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:33:07.639 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:07.639 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:07.891 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:12.650 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:12.650 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:12.676 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:17.652 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:17.652 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:17.662 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:19.386 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models/stats +2026-01-13 14:33:19.387 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:33:19.397 [http-nio-8082-exec-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:19.397 [http-nio-8082-exec-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:19.407 [http-nio-8082-exec-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:22.640 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:22.640 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:22.652 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:23.313 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:33:23.313 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:33:23.322 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:33:23.591 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models/stats +2026-01-13 14:33:23.591 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:33:23.592 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:23.592 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:23.602 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:27.640 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:27.640 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:27.652 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:32.648 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:32.649 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:32.659 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:37.319 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:33:37.319 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:33:37.329 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:33:37.329 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143220937-3874(providerTaskId:27b65cc5-28b9-44c7-be28-02b803545ebe) +2026-01-13 14:33:37.329 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143220937-3874, providerTaskId: 27b65cc5-28b9-44c7-be28-02b803545ebe, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:32:20 +2026-01-13 14:33:37.329 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143220937-3874, 调用queryTaskStatus... +2026-01-13 14:33:37.329 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:33:37.329 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=27b65cc5-28b9-44c7-be28-02b803545ebe, taskId=27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:33:37.649 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:37.649 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:37.657 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:37.868 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:32:21","updated_at":"2026-01-13 14:32:21","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"27b65cc5-28b9-44c7-be28-02b803545ebe"},"exec_time":0.419025,"ip":"115.204.7.6"} +2026-01-13 14:33:37.868 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:33:37.868 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:33:37.868 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143220937-3874, 状态: QUEUED +2026-01-13 14:33:37.877 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:33:37.877 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 27b65cc5-28b9-44c7-be28-02b803545ebe(String), 2026-01-13T14:32:21(LocalDateTime), 2894(Long) +2026-01-13 14:33:37.896 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:33:37.897 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143220937-3874, 状态: QUEUED, 已运行 1 分钟 +2026-01-13 14:33:42.645 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:42.645 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:42.655 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:43.341 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:33:43.342 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:33:43.350 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:33:47.651 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:47.651 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:47.662 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:52.651 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:52.652 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:52.662 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:33:53.376 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models/group-by-type +2026-01-13 14:33:53.377 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:33:53.385 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PointsConfigMapper.findAllEnabled - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND is_enabled = 1 ORDER BY id ASC +2026-01-13 14:33:53.385 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PointsConfigMapper.findAllEnabled - ==> Parameters: +2026-01-13 14:33:53.394 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PointsConfigMapper.findAllEnabled - <== Total: 56 +2026-01-13 14:33:57.637 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:33:57.638 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:33:57.648 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:02.643 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:02.643 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:02.644 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:34:02.644 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:24:02.636407700(LocalDateTime) +2026-01-13 14:34:02.651 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:02.653 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:34:03.370 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:34:03.371 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:34:03.378 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:34:07.645 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:07.645 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:07.657 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:07.904 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:34:07.904 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:34:07.913 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:34:07.914 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143220937-3874(providerTaskId:27b65cc5-28b9-44c7-be28-02b803545ebe) +2026-01-13 14:34:07.914 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143220937-3874, providerTaskId: 27b65cc5-28b9-44c7-be28-02b803545ebe, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:32:20 +2026-01-13 14:34:07.914 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143220937-3874, 调用queryTaskStatus... +2026-01-13 14:34:07.914 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:34:07.914 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=27b65cc5-28b9-44c7-be28-02b803545ebe, taskId=27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:34:08.279 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:32:21","updated_at":"2026-01-13 14:32:21","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"27b65cc5-28b9-44c7-be28-02b803545ebe"},"exec_time":0.345464,"ip":"115.204.7.6"} +2026-01-13 14:34:08.279 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:34:08.279 [MessageBroker-4] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:34:08.279 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143220937-3874, 状态: QUEUED +2026-01-13 14:34:08.280 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:34:08.280 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 27b65cc5-28b9-44c7-be28-02b803545ebe(String), 2026-01-13T14:32:21(LocalDateTime), 2894(Long) +2026-01-13 14:34:08.299 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:34:08.299 [MessageBroker-4] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143220937-3874, 状态: QUEUED, 已运行 1 分钟 +2026-01-13 14:34:12.647 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:12.647 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:12.657 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:13.346 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /admin/ai/tasks/list +2026-01-13 14:34:13.346 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-13 14:34:17.639 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:17.639 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:17.649 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:22.645 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:22.645 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:22.655 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:23.225 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /admin/ai/tasks/list +2026-01-13 14:34:23.225 [http-nio-8082-exec-7] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-01-13 14:34:23.234 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:34:23.234 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String) +2026-01-13 14:34:23.243 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-01-13 14:34:23.243 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:34:23.244 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:34:23.253 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:34:23.253 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-01-13 14:34:23.254 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String), true(Boolean), 2026-01-13T14:34:23.253479200(LocalDateTime), false(Boolean), 113(Long) +2026-01-13 14:34:23.273 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-01-13 14:34:23.273 [http-nio-8082-exec-7] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17682859094257188 通过API Key认证成功 +2026-01-13 14:34:23.390 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:34:23.390 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:34:23.400 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:34:27.650 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:27.651 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:27.661 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:32.647 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:32.647 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:32.656 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:37.644 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:37.644 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:37.652 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:38.310 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:34:38.310 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:34:38.319 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:34:38.319 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143220937-3874(providerTaskId:27b65cc5-28b9-44c7-be28-02b803545ebe) +2026-01-13 14:34:38.320 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143220937-3874, providerTaskId: 27b65cc5-28b9-44c7-be28-02b803545ebe, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:32:20 +2026-01-13 14:34:38.320 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143220937-3874, 调用queryTaskStatus... +2026-01-13 14:34:38.320 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:34:38.320 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=27b65cc5-28b9-44c7-be28-02b803545ebe, taskId=27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:34:38.711 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":0,"fail_reason":null,"created_at":"2026-01-13 14:32:21","updated_at":"2026-01-13 14:32:21","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"27b65cc5-28b9-44c7-be28-02b803545ebe"},"exec_time":0.371907,"ip":"115.204.7.6"} +2026-01-13 14:34:38.711 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, status=0, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:34:38.711 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:34:38.711 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143220937-3874, 状态: QUEUED +2026-01-13 14:34:38.712 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:34:38.712 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 27b65cc5-28b9-44c7-be28-02b803545ebe(String), 2026-01-13T14:32:21(LocalDateTime), 2894(Long) +2026-01-13 14:34:38.730 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:34:38.731 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143220937-3874, 状态: QUEUED, 已运行 2 分钟 +2026-01-13 14:34:42.639 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:42.639 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:42.649 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:43.420 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:34:43.420 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:34:43.429 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:34:47.647 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:47.648 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:47.657 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:52.637 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:52.637 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:52.647 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:34:57.650 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:34:57.650 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:34:57.660 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:02.646 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:35:02.646 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:25:02.639718400(LocalDateTime) +2026-01-13 14:35:02.648 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:02.648 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:02.653 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:35:02.658 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:03.451 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:35:03.451 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:35:03.458 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:35:05.120 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-13 14:35:05.120 [http-nio-8082-exec-9] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-01-13 14:35:05.130 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:35:05.131 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String) +2026-01-13 14:35:05.139 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-01-13 14:35:05.140 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:35:05.140 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:35:05.150 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:35:05.150 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-01-13 14:35:05.150 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String), true(Boolean), 2026-01-13T14:35:05.150145200(LocalDateTime), false(Boolean), 113(Long) +2026-01-13 14:35:05.170 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-01-13 14:35:05.171 [http-nio-8082-exec-9] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17682859094257188 通过API Key认证成功 +2026-01-13 14:35:05.172 [http-nio-8082-exec-9] INFO com.dora.controller.AiTaskController - 用户 17682859094257188 查询任务列表,page=1, size=10, status=null, taskType=null +2026-01-13 14:35:05.227 [http-nio-8082-exec-9] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlaza_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.is_deleted = 0 +2026-01-13 14:35:05.227 [http-nio-8082-exec-9] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlaza_COUNT - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:35:05.236 [http-nio-8082-exec-9] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlaza_COUNT - <== Total: 1 +2026-01-13 14:35:05.239 [http-nio-8082-exec-9] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 0, 当前页数量: 0 +2026-01-13 14:35:07.644 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:07.644 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:07.653 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:08.739 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:35:08.740 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:35:08.749 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:35:08.749 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143220937-3874(providerTaskId:27b65cc5-28b9-44c7-be28-02b803545ebe) +2026-01-13 14:35:08.749 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143220937-3874, providerTaskId: 27b65cc5-28b9-44c7-be28-02b803545ebe, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:32:20 +2026-01-13 14:35:08.749 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143220937-3874, 调用queryTaskStatus... +2026-01-13 14:35:08.749 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:35:08.749 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=27b65cc5-28b9-44c7-be28-02b803545ebe, taskId=27b65cc5-28b9-44c7-be28-02b803545ebe +2026-01-13 14:35:09.175 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧","status":2,"fail_reason":"system error","created_at":"2026-01-13 14:32:21","updated_at":"2026-01-13 14:35:06","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768284656958_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":"","remixTargetId":"","transfer_url":"","id":"27b65cc5-28b9-44c7-be28-02b803545ebe"},"exec_time":0.410045,"ip":"115.204.7.6"} +2026-01-13 14:35:09.175 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, status=2, content=请采用一群年轻人,有白皮肤的欧美人,有黑皮肤微胖的时尚女孩等作为模特。生成的视频要有苹果手机拍的既视感 请用地道的美式英语翻译【开场】想知道如何让你的穿搭更有魅力吗? 【镜头切换:户外运动跑步中、派对、跳街舞等场景】在奔跑时,防滑设计让丝袜不易下滑;在派对上,简约设计让你轻松成为焦点;在跳街舞时,灵活的设计让每个动作都自信有力。 【主体】不管是男生还是女生,不管胖瘦身材,这款丝袜都能完美契合你的身材,带来超级舒适感! 【镜头展示:用户穿着丝袜在不同场景中活泼地跳舞或微笑】防滑、透气、仿汗设计,让你在任何场合都能轻松展现魅力! 【结尾】还在等什么?一双让你自信的丝袜,快来选购吧 +2026-01-13 14:35:09.175 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=27b65cc5-28b9-44c7-be28-02b803545ebe, scStatus=2, mappedStatus=FAILED, error=生成失败,积分已退回。错误原因:system error +2026-01-13 14:35:09.175 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143220937-3874, 状态: FAILED +2026-01-13 14:35:09.175 [MessageBroker-7] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创任务失败】任务: TASK-20260113143220937-3874, 错误: 生成失败,积分已退回。错误原因:system error +2026-01-13 14:35:09.175 [MessageBroker-7] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创失败处理开始】任务: TASK-20260113143220937-3874, 错误: 生成失败,积分已退回。错误原因:system error +2026-01-13 14:35:09.176 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, error_message = ?, start_time = ?, complete_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:35:09.176 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: failed(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 27b65cc5-28b9-44c7-be28-02b803545ebe(String), 生成失败,积分已退回。错误原因:system error(String), 2026-01-13T14:32:21(LocalDateTime), 2026-01-13T14:35:09.175633100(LocalDateTime), 2894(Long) +2026-01-13 14:35:09.195 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:35:09.195 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态已更新】任务: TASK-20260113143220937-3874, 状态: failed +2026-01-13 14:35:09.195 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创退还积分】任务: TASK-20260113143220937-3874, 积分: 150 +2026-01-13 14:35:09.204 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:35:09.205 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17670587282337540(Long) +2026-01-13 14:35:09.215 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-13 14:35:09.216 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-13 14:35:09.216 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: 150(Integer), 17670587282337540(Long), 150(Integer) +2026-01-13 14:35:09.233 [MessageBroker-7] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-13 14:35:09.233 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-13 14:35:09.234 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17670587282337540(Long), TASK-20260113143220937-3874(String), refund(String), 150(Integer), 2240(Integer), 2390(Integer), 任务失败,积分退回(String), 0(Integer) +2026-01-13 14:35:09.251 [MessageBroker-7] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-13 14:35:09.270 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创积分已退还】任务: TASK-20260113143220937-3874, 用户: 17670587282337540, 积分: 150 +2026-01-13 14:35:09.270 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17670587282337540 发送任务 TASK-20260113143220937-3874 的进度更新到目的地: /queue/tasks-progress +2026-01-13 14:35:09.270 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17670587282337540, 任务: TASK-20260113143220937-3874 +2026-01-13 14:35:09.270 [MessageBroker-7] WARN com.dora.service.impl.NotificationServiceImpl - 任务失败通知已发送 - 用户: 17670587282337540, 任务: TASK-20260113143220937-3874, 错误: 生成失败,积分已退回。错误原因:system error +2026-01-13 14:35:09.270 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创失败处理完成】任务: TASK-20260113143220937-3874 +2026-01-13 14:35:12.644 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:12.644 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:12.655 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:17.642 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:17.642 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:17.654 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:22.646 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:22.647 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:22.657 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:23.481 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:35:23.482 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:35:23.491 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:35:27.643 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:27.643 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:27.653 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:32.642 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:32.642 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:32.651 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:37.641 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:37.641 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:37.651 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:39.281 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:35:39.281 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:35:39.289 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:35:42.638 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:42.638 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:42.648 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:43.509 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:35:43.509 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:35:43.518 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:35:47.650 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:47.651 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:47.661 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:52.636 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:52.636 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:52.646 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:35:57.636 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:35:57.636 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:35:57.647 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:02.648 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:02.648 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:02.649 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:36:02.649 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:26:02.640773(LocalDateTime) +2026-01-13 14:36:02.656 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:02.658 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:36:03.532 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:36:03.532 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:36:03.541 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:36:07.637 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:07.637 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:07.646 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:09.309 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:36:09.310 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:36:09.318 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:36:12.651 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:12.652 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:12.661 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:17.651 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:17.651 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:17.660 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:22.646 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:22.646 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:22.655 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:23.563 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:36:23.564 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:36:23.572 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:36:27.637 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:27.637 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:27.647 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:32.645 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:32.645 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:32.653 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:37.641 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:37.641 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:37.649 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:39.340 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:36:39.340 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:36:39.347 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:36:42.646 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:42.646 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:42.655 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:43.584 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:36:43.584 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:36:43.593 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:36:47.650 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:47.651 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:47.660 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:52.649 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:52.649 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:52.659 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:36:57.651 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:36:57.651 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:36:57.661 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:02.649 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:37:02.650 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:27:02.643535200(LocalDateTime) +2026-01-13 14:37:02.651 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:02.651 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:02.657 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:37:02.661 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:03.607 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:37:03.607 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:37:03.614 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:37:07.647 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:07.648 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:07.658 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:09.355 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:37:09.355 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:37:09.362 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:37:12.637 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:12.637 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:12.648 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:17.651 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:17.651 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:17.662 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:22.645 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:22.645 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:22.655 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:23.636 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:37:23.637 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:37:23.646 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:37:27.649 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:27.650 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:27.660 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:32.637 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:32.637 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:32.648 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:37.641 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:37.641 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:37.651 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:39.385 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:37:39.385 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:37:39.394 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:37:42.636 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:42.636 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:42.644 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:43.667 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:37:43.668 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:37:43.676 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:37:47.648 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:47.648 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:47.658 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:52.648 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:52.649 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:52.659 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:37:57.643 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:37:57.644 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:37:57.654 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:02.646 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:02.646 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:02.647 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-13 14:38:02.647 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-13T14:28:02.639485100(LocalDateTime) +2026-01-13 14:38:02.654 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:02.656 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-13 14:38:03.689 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:38:03.689 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:38:03.699 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:38:07.648 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:07.648 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:07.657 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:09.416 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:38:09.416 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:38:09.424 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:38:09.424 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143739702-8650(providerTaskId:9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec) +2026-01-13 14:38:09.424 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143739702-8650, providerTaskId: 9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:37:39 +2026-01-13 14:38:09.424 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143739702-8650, 调用queryTaskStatus... +2026-01-13 14:38:09.424 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec +2026-01-13 14:38:09.424 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, taskId=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec +2026-01-13 14:38:09.909 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"开场部分,原来的00:00-00:10已经是一个问题引出,但可能可以更简练一些。比如直接用标题和一个吸引人的问题,然后快速过渡到产品展示。\n\n接下来是主体部分,从00:10到01:00,这里详细介绍了丝袜的功能和不同场景。我需要挑选最能代表产品优势的镜头,比如防滑设计、透气效果和仿汗功能,每个功能只用几秒钟展示,可能通过快速切换或特写来表现。\n\n结尾部分,从01:00-01:10,可以保留,但要简洁有力,直接呼吁观众购买。\n\n在调整过程中,我需要确保每个镜头的信息点不重复,并且画面切换足够快,让观众能够快速抓住重点。同时,保持苹果手机的既视感,可能通过固定构图或快速镜头转换来实现。\n\n此外,还要注意演员的动作和表情,要在短时间内传达出信任感和产品优势,这样才能让观众产生购买欲望。\n\n最后,我需要重新组织分镜脚本,确保每个镜头的内容都紧凑,同时保持叙事流畅。可能将一些对话合并或删除,只保留最关键的信息,让整个视频在10秒内传达出完整的信息。\n\n拍摄要求:\n1、演员:演员数量:2-3人,性别:男女均可,主配角:白皮肤欧美风型男生和黑皮肤微胖时尚女孩\n2、背景:户外运动跑步道、室内派对场景(简约布置)、现代舞工作室\n3、服装:模特们穿着新款丝袜,服装要求:清新白色、深蓝色、黑色等主色调,设计风格简约时尚\n\n分镜脚本:","status":0,"fail_reason":null,"created_at":"2026-01-13 14:37:40","updated_at":"2026-01-13 14:37:40","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768286259631_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec"},"exec_time":0.405202,"ip":"115.204.7.6"} +2026-01-13 14:38:09.910 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, status=0, content=开场部分,原来的00:00-00:10已经是一个问题引出,但可能可以更简练一些。比如直接用标题和一个吸引人的问题,然后快速过渡到产品展示。 + +接下来是主体部分,从00:10到01:00,这里详细介绍了丝袜的功能和不同场景。我需要挑选最能代表产品优势的镜头,比如防滑设计、透气效果和仿汗功能,每个功能只用几秒钟展示,可能通过快速切换或特写来表现。 + +结尾部分,从01:00-01:10,可以保留,但要简洁有力,直接呼吁观众购买。 + +在调整过程中,我需要确保每个镜头的信息点不重复,并且画面切换足够快,让观众能够快速抓住重点。同时,保持苹果手机的既视感,可能通过固定构图或快速镜头转换来实现。 + +此外,还要注意演员的动作和表情,要在短时间内传达出信任感和产品优势,这样才能让观众产生购买欲望。 + +最后,我需要重新组织分镜脚本,确保每个镜头的内容都紧凑,同时保持叙事流畅。可能将一些对话合并或删除,只保留最关键的信息,让整个视频在10秒内传达出完整的信息。 + +拍摄要求: +1、演员:演员数量:2-3人,性别:男女均可,主配角:白皮肤欧美风型男生和黑皮肤微胖时尚女孩 +2、背景:户外运动跑步道、室内派对场景(简约布置)、现代舞工作室 +3、服装:模特们穿着新款丝袜,服装要求:清新白色、深蓝色、黑色等主色调,设计风格简约时尚 + +分镜脚本: +2026-01-13 14:38:09.910 [MessageBroker-13] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:38:09.910 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143739702-8650, 状态: QUEUED +2026-01-13 14:38:09.911 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:38:09.911 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec(String), 2026-01-13T14:37:40(LocalDateTime), 2899(Long) +2026-01-13 14:38:09.927 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:38:09.927 [MessageBroker-13] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143739702-8650, 状态: QUEUED, 已运行 0 分钟 +2026-01-13 14:38:12.644 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:12.644 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:12.652 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:17.647 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:17.647 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:17.658 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:22.649 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:22.650 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:22.659 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:23.720 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:38:23.720 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:38:23.728 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:38:25.597 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/v1/api-key/check-validity +2026-01-13 14:38:25.598 [http-nio-8082-exec-1] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-01-13 14:38:25.606 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:38:25.607 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String) +2026-01-13 14:38:25.617 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-01-13 14:38:25.618 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:38:25.618 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:38:25.626 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:38:25.627 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-01-13 14:38:25.627 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String), true(Boolean), 2026-01-13T14:38:25.627944500(LocalDateTime), false(Boolean), 113(Long) +2026-01-13 14:38:25.646 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-01-13 14:38:25.646 [http-nio-8082-exec-1] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17682859094257188 通过API Key认证成功 +2026-01-13 14:38:25.650 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:38:25.650 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_1234567890abcdef1234567890abcdef(String) +2026-01-13 14:38:25.659 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-13 14:38:27.652 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:27.652 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:27.662 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:32.648 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:32.649 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:32.657 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:37.649 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:37.649 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:37.659 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:37.816 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/v1/api-key/check-validity +2026-01-13 14:38:37.816 [http-nio-8082-exec-3] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-01-13 14:38:37.825 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:38:37.825 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String) +2026-01-13 14:38:37.835 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-01-13 14:38:37.835 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:38:37.835 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:38:37.844 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:38:37.845 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-01-13 14:38:37.845 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String), true(Boolean), 2026-01-13T14:38:37.845549700(LocalDateTime), false(Boolean), 113(Long) +2026-01-13 14:38:37.863 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-01-13 14:38:37.863 [http-nio-8082-exec-3] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17682859094257188 通过API Key认证成功 +2026-01-13 14:38:37.865 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-13 14:38:37.865 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String) +2026-01-13 14:38:37.873 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-01-13 14:38:37.873 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-13 14:38:37.874 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17682859094257188(Long) +2026-01-13 14:38:37.882 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-13 14:38:37.883 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-01-13 14:38:37.883 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_755e09d7c06243aa8b5e0d304c90acdf(String), true(Boolean), 2026-01-13T14:38:37.883821300(LocalDateTime), false(Boolean), 113(Long) +2026-01-13 14:38:37.902 [http-nio-8082-exec-3] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-01-13 14:38:39.947 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:38:39.947 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-13 14:38:39.955 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-13 14:38:39.955 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260113143739702-8650(providerTaskId:9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec) +2026-01-13 14:38:39.955 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260113143739702-8650, providerTaskId: 9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, 模型: sc_sora2_img_portrait_10s_large, 创建时间: 2026-01-13T14:37:39 +2026-01-13 14:38:39.955 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260113143739702-8650, 调用queryTaskStatus... +2026-01-13 14:38:39.955 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec +2026-01-13 14:38:39.955 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, taskId=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec +2026-01-13 14:38:40.319 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"开场部分,原来的00:00-00:10已经是一个问题引出,但可能可以更简练一些。比如直接用标题和一个吸引人的问题,然后快速过渡到产品展示。\n\n接下来是主体部分,从00:10到01:00,这里详细介绍了丝袜的功能和不同场景。我需要挑选最能代表产品优势的镜头,比如防滑设计、透气效果和仿汗功能,每个功能只用几秒钟展示,可能通过快速切换或特写来表现。\n\n结尾部分,从01:00-01:10,可以保留,但要简洁有力,直接呼吁观众购买。\n\n在调整过程中,我需要确保每个镜头的信息点不重复,并且画面切换足够快,让观众能够快速抓住重点。同时,保持苹果手机的既视感,可能通过固定构图或快速镜头转换来实现。\n\n此外,还要注意演员的动作和表情,要在短时间内传达出信任感和产品优势,这样才能让观众产生购买欲望。\n\n最后,我需要重新组织分镜脚本,确保每个镜头的内容都紧凑,同时保持叙事流畅。可能将一些对话合并或删除,只保留最关键的信息,让整个视频在10秒内传达出完整的信息。\n\n拍摄要求:\n1、演员:演员数量:2-3人,性别:男女均可,主配角:白皮肤欧美风型男生和黑皮肤微胖时尚女孩\n2、背景:户外运动跑步道、室内派对场景(简约布置)、现代舞工作室\n3、服装:模特们穿着新款丝袜,服装要求:清新白色、深蓝色、黑色等主色调,设计风格简约时尚\n\n分镜脚本:","status":0,"fail_reason":null,"created_at":"2026-01-13 14:37:40","updated_at":"2026-01-13 14:37:40","remote_url":"","size":"large","duration":10,"aspectRatio":"9:16","url":"https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//1768286259631_HTB13eLSuHGYBuNjy0Foq6AiBFXa5.webp","pid":null,"remixTargetId":"","transfer_url":null,"id":"9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec"},"exec_time":0.346527,"ip":"115.204.7.6"} +2026-01-13 14:38:40.319 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, status=0, content=开场部分,原来的00:00-00:10已经是一个问题引出,但可能可以更简练一些。比如直接用标题和一个吸引人的问题,然后快速过渡到产品展示。 + +接下来是主体部分,从00:10到01:00,这里详细介绍了丝袜的功能和不同场景。我需要挑选最能代表产品优势的镜头,比如防滑设计、透气效果和仿汗功能,每个功能只用几秒钟展示,可能通过快速切换或特写来表现。 + +结尾部分,从01:00-01:10,可以保留,但要简洁有力,直接呼吁观众购买。 + +在调整过程中,我需要确保每个镜头的信息点不重复,并且画面切换足够快,让观众能够快速抓住重点。同时,保持苹果手机的既视感,可能通过固定构图或快速镜头转换来实现。 + +此外,还要注意演员的动作和表情,要在短时间内传达出信任感和产品优势,这样才能让观众产生购买欲望。 + +最后,我需要重新组织分镜脚本,确保每个镜头的内容都紧凑,同时保持叙事流畅。可能将一些对话合并或删除,只保留最关键的信息,让整个视频在10秒内传达出完整的信息。 + +拍摄要求: +1、演员:演员数量:2-3人,性别:男女均可,主配角:白皮肤欧美风型男生和黑皮肤微胖时尚女孩 +2、背景:户外运动跑步道、室内派对场景(简约布置)、现代舞工作室 +3、服装:模特们穿着新款丝袜,服装要求:清新白色、深蓝色、黑色等主色调,设计风格简约时尚 + +分镜脚本: +2026-01-13 14:38:40.319 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-13 14:38:40.319 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260113143739702-8650, 状态: QUEUED +2026-01-13 14:38:40.319 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-13 14:38:40.320 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 9b5f8daa-7ee8-40fd-a9a9-7b7aa1171dec(String), 2026-01-13T14:37:40(LocalDateTime), 2899(Long) +2026-01-13 14:38:40.335 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-13 14:38:40.336 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260113143739702-8650, 状态: QUEUED, 已运行 1 分钟 +2026-01-13 14:38:42.650 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:42.650 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:42.660 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:43.738 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-13 14:38:43.738 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-13 14:38:43.746 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-13 14:38:47.637 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-13 14:38:47.637 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-13 14:38:47.646 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-13 14:38:49.352 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-13 14:38:49.353 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@582ce329]] +2026-01-13 14:38:49.353 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-13 14:38:49.484 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-13 14:38:49.487 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/logs/1818-user-server.2026-01-30.log b/logs/1818-user-server.2026-01-30.log new file mode 100644 index 0000000..cfd5069 --- /dev/null +++ b/logs/1818-user-server.2026-01-30.log @@ -0,0 +1,10822 @@ +2026-01-30 16:43:20.024 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-30 16:43:20.083 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 50900 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-30 16:43:20.085 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-30 16:43:20.086 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-30 16:43:31.836 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-30 16:43:31.839 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-30 16:43:31.895 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 39 ms. Found 0 Redis repository interfaces. +2026-01-30 16:43:32.843 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-30 16:43:32.855 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-30 16:43:32.856 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-30 16:43:32.856 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-30 16:43:32.926 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-30 16:43:32.926 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 12781 ms +2026-01-30 16:43:34.126 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-30 16:43:34.127 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-30 16:43:34.945 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-30 16:43:34.945 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-30 16:43:34.945 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-30 16:43:35.819 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 5e8e2147-5497-4feb-bf4d-079d2b20b7ad + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-30 16:43:36.312 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@51a8aed8, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1f13eabb, org.springframework.security.web.context.SecurityContextHolderFilter@6114902c, org.springframework.security.web.header.HeaderWriterFilter@416bff93, org.springframework.web.filter.CorsFilter@cfe881a, org.springframework.security.web.authentication.logout.LogoutFilter@520e6089, com.dora.config.JwtAuthenticationFilter@306cfb8a, com.dora.config.ApiKeyAuthenticationFilter@5f5923ef, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@217abcc9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3123ac1a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@75f579d2, org.springframework.security.web.session.SessionManagementFilter@467625e3, org.springframework.security.web.access.ExceptionTranslationFilter@149162a4, org.springframework.security.web.access.intercept.AuthorizationFilter@10007fdc] +2026-01-30 16:43:37.066 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-30 16:43:37.089 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-30 16:43:37.092 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-30 16:43:37.092 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@a712344]] +2026-01-30 16:43:37.092 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-30 16:43:37.106 [main] INFO com.dora.Application - Started Application in 17.8 seconds (process running for 20.111) +2026-01-30 16:43:37.109 [MessageBroker-8] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1769157817109 +2026-01-30 16:43:37.109 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-29T16:43:37.109467100 (24小时前) +2026-01-30 16:43:37.112 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-30 16:43:37.132 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:37.521 [MessageBroker-8] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-30 16:43:38.506 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:38.512 [MessageBroker-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:38.513 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:39.578 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:39.579 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:39.580 [MessageBroker-1] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:40.640 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:40.642 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:40.642 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:41.700 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:41.700 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:41.700 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:42.754 [MessageBroker-10] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:42.754 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:42.754 [MessageBroker-10] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:43:43.808 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:43.808 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:47.106 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:48.163 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:48.164 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:52.116 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:53.186 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:53.186 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:43:57.116 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:43:58.183 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:43:58.184 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:01.713 [MessageBroker-11] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:44:02.778 [MessageBroker-11] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:02.779 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:44:02.779 [MessageBroker-11] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:44:03.849 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:03.850 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:07.108 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:44:08.170 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:08.171 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:12.116 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:44:13.187 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:13.188 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:44:13.188 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +2026-01-30 16:44:14.240 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:44:14.240 [MessageBroker-2] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: java.sql.SQLException: Access denied for user '1818ai'@'localhost' (using password: YES) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +2026-01-30 16:44:16.453 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-30 16:44:16.453 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@a712344]] +2026-01-30 16:44:16.453 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-30 16:44:33.555 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-30 16:44:33.590 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 55912 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-30 16:44:33.592 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-30 16:44:33.592 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-30 16:44:34.591 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-30 16:44:34.593 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-30 16:44:34.638 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 0 Redis repository interfaces. +2026-01-30 16:44:35.374 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-30 16:44:35.382 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-30 16:44:35.382 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-30 16:44:35.383 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-30 16:44:35.438 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-30 16:44:35.440 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1804 ms +2026-01-30 16:44:36.208 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-30 16:44:36.209 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-30 16:44:36.853 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-30 16:44:36.854 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-30 16:44:36.854 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-30 16:44:37.526 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: e6451cee-adce-4860-a4f5-2cadcde14b69 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-30 16:44:37.868 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@197c3101, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7b5e1b16, org.springframework.security.web.context.SecurityContextHolderFilter@7f59f4e4, org.springframework.security.web.header.HeaderWriterFilter@6dc98c02, org.springframework.web.filter.CorsFilter@4d65fbad, org.springframework.security.web.authentication.logout.LogoutFilter@58c48a23, com.dora.config.JwtAuthenticationFilter@36762234, com.dora.config.ApiKeyAuthenticationFilter@25b20860, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3e09067, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7a7f5c44, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@55fc6344, org.springframework.security.web.session.SessionManagementFilter@718b9d56, org.springframework.security.web.access.ExceptionTranslationFilter@7473cfe2, org.springframework.security.web.access.intercept.AuthorizationFilter@759862a2] +2026-01-30 16:44:38.355 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-30 16:44:38.372 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-30 16:44:38.373 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-30 16:44:38.374 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@49825659]] +2026-01-30 16:44:38.374 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-30 16:44:38.385 [main] INFO com.dora.Application - Started Application in 5.324 seconds (process running for 5.87) +2026-01-30 16:44:38.387 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1769157878387 +2026-01-30 16:44:38.387 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-29T16:44:38.387762700 (24小时前) +2026-01-30 16:44:38.390 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-30 16:44:38.406 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:44:38.707 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-30 16:44:38.719 [MessageBroker-4] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@69cbd147 +2026-01-30 16:44:38.722 [MessageBroker-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-30 16:44:38.729 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:44:38.750 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:34:38.387762700(LocalDateTime) +2026-01-30 16:44:38.775 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-30 16:44:38.775 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-29T16:44:38.387762700(LocalDateTime) +2026-01-30 16:44:38.775 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:44:38.775 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:44:38.776 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:44:38.777 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:44:38.777 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:44:38.778 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:44:38.892 [MessageBroker-1] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:44:38.892 [MessageBroker-6] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:43.388 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:44:43.388 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:44:43.389 [MessageBroker-6] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:48.398 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:44:48.398 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:44:48.399 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:53.385 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:44:53.386 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:44:53.386 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:58.398 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:44:58.398 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:44:58.398 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:44:58.906 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:44:58.906 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:44:58.907 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:03.385 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:03.386 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:03.387 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:08.392 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:08.392 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:08.392 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:08.903 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:45:08.903 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:45:08.904 [MessageBroker-11] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:13.396 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:13.396 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:13.397 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:18.385 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:18.385 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:18.386 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:18.916 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:45:18.917 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:45:18.918 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:23.384 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:23.384 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:23.385 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:28.384 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:28.384 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:28.385 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:33.387 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:33.387 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:33.388 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:38.352 [MessageBroker-3] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-30 16:45:38.397 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:38.397 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:45:38.398 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:38.398 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:35:38.397058400(LocalDateTime) +2026-01-30 16:45:38.398 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:38.398 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:38.909 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:45:38.910 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:45:38.911 [MessageBroker-2] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:38.925 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:45:38.925 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:45:38.926 [MessageBroker-6] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:43.387 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:43.388 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:43.389 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:48.389 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:48.389 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:48.390 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:53.398 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:53.398 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:53.399 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +2026-01-30 16:45:58.388 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:45:58.390 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:45:58.390 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:45:58.929 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:45:58.929 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:45:58.930 [MessageBroker-13] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:03.395 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:03.395 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:03.396 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:08.395 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:08.395 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:08.397 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:08.913 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:46:08.913 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:46:08.914 [MessageBroker-11] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:13.383 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:13.384 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:13.385 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:18.398 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:18.398 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:18.399 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:18.941 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:46:18.941 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:46:18.942 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:23.385 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:23.386 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:23.387 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:28.392 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:28.393 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:28.394 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:33.392 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:33.392 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:33.392 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.395 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:38.395 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:46:38.396 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:38.396 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:36:38.395063600(LocalDateTime) +2026-01-30 16:46:38.397 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.397 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.924 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:46:38.925 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:46:38.925 [MessageBroker-5] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:38.955 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:46:38.957 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:46:38.958 [MessageBroker-11] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:43.394 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:43.395 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:43.395 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:48.397 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:48.397 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:48.398 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:53.390 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:53.390 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:53.392 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:58.386 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:46:58.386 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:46:58.387 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:46:58.959 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:46:58.960 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:46:58.961 [MessageBroker-8] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:03.390 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:03.390 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:03.391 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:08.384 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:08.384 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:08.385 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:08.933 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:47:08.933 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:47:08.934 [MessageBroker-1] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:13.395 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:13.395 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:13.397 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:18.388 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:18.388 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:18.389 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:18.963 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:47:18.964 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:47:18.964 [MessageBroker-7] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:23.394 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:23.395 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:23.395 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:28.394 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:28.394 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:28.395 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:33.397 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:33.397 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:33.398 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.392 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:38.392 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:47:38.392 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:38.392 [MessageBroker-13] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:37:38.392158700(LocalDateTime) +2026-01-30 16:47:38.393 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.393 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.951 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:47:38.951 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:47:38.952 [MessageBroker-1] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:38.966 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:47:38.967 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:47:38.968 [MessageBroker-5] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:43.394 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:43.394 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:43.395 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:48.392 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:48.392 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:48.394 [MessageBroker-6] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:53.397 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:53.398 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:53.401 [MessageBroker-14] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:58.385 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:47:58.385 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:47:58.386 [MessageBroker-12] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:47:58.971 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:47:58.971 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:47:58.972 [MessageBroker-10] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:03.392 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:03.392 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:03.392 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:08.391 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:08.391 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:08.392 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:08.962 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:48:08.963 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:48:08.964 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:13.393 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:13.393 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:13.395 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:18.392 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:18.392 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:18.394 [MessageBroker-11] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:18.979 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:48:18.979 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:48:18.979 [MessageBroker-6] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:23.393 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:23.393 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:23.394 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:28.397 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:28.398 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:28.398 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:33.383 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:33.383 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:33.384 [MessageBroker-16] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.398 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:38.398 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:48:38.398 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:38.398 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:38:38.397969300(LocalDateTime) +2026-01-30 16:48:38.398 [MessageBroker-8] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.398 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.973 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:48:38.973 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:48:38.974 [MessageBroker-4] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:38.988 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:48:38.988 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:48:38.988 [MessageBroker-1] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:43.393 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:43.393 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:43.395 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:48.390 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:48.390 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:48.390 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:53.387 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:53.387 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:53.387 [MessageBroker-7] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:58.385 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:48:58.385 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:48:58.386 [MessageBroker-9] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:48:59.003 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:48:59.004 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:48:59.005 [MessageBroker-16] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:03.383 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:03.383 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:03.385 [MessageBroker-10] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:08.394 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:08.394 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:08.395 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:08.978 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:49:08.978 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:49:08.980 [MessageBroker-3] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:13.388 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:13.388 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:13.388 [MessageBroker-4] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:18.389 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:18.389 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:18.390 [MessageBroker-5] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.points_config' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:19.007 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:49:19.007 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:49:19.008 [MessageBroker-2] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider-Inline +### The error occurred while setting parameters +### SQL: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +### Cause: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table '1818ai.ai_task' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at jdk.internal.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy3/jdk.proxy3.$Proxy227.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +2026-01-30 16:49:20.020 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-30 16:49:20.020 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@49825659]] +2026-01-30 16:49:20.020 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-30 16:49:20.157 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-30 16:49:20.164 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2026-01-30 16:49:22.975 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-30 16:49:23.011 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 26904 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-30 16:49:23.011 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-30 16:49:23.011 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-30 16:49:23.960 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-30 16:49:23.961 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-30 16:49:24.007 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 0 Redis repository interfaces. +2026-01-30 16:49:24.765 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-30 16:49:24.773 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-30 16:49:24.774 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-30 16:49:24.774 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-30 16:49:24.828 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-30 16:49:24.828 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1778 ms +2026-01-30 16:49:25.552 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-30 16:49:25.553 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-30 16:49:26.211 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-30 16:49:26.211 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-30 16:49:26.211 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-30 16:49:26.894 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 11ec144e-31f1-45f8-8bc0-9ba8445cbdb1 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-30 16:49:27.252 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@35e0d91e, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3204146d, org.springframework.security.web.context.SecurityContextHolderFilter@3a4d0ca2, org.springframework.security.web.header.HeaderWriterFilter@1f4083ac, org.springframework.web.filter.CorsFilter@3299e315, org.springframework.security.web.authentication.logout.LogoutFilter@4a5a8c6f, com.dora.config.JwtAuthenticationFilter@432448, com.dora.config.ApiKeyAuthenticationFilter@3b42b729, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2b8a11d7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1391d95f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7320bccc, org.springframework.security.web.session.SessionManagementFilter@4bacabc4, org.springframework.security.web.access.ExceptionTranslationFilter@fe58644, org.springframework.security.web.access.intercept.AuthorizationFilter@7a7f5c44] +2026-01-30 16:49:27.727 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-30 16:49:27.742 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-30 16:49:27.744 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-30 16:49:27.744 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@567412db]] +2026-01-30 16:49:27.745 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-30 16:49:27.762 [main] INFO com.dora.Application - Started Application in 5.306 seconds (process running for 5.919) +2026-01-30 16:49:27.764 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1769158167764 +2026-01-30 16:49:27.764 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-29T16:49:27.764242700 (24小时前) +2026-01-30 16:49:27.766 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-30 16:49:27.783 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:49:28.065 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-30 16:49:28.328 [MessageBroker-10] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@32f5dc7b +2026-01-30 16:49:28.329 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-30 16:49:28.335 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:28.357 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:28.402 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:28.406 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-30 16:49:28.407 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-29T16:49:27.764242700(LocalDateTime) +2026-01-30 16:49:28.418 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-01-30 16:49:28.418 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-01-30 16:49:28.418 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:49:28.418 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:49:28.429 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:49:28.429 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:49:28.429 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:39:27.764242700(LocalDateTime) +2026-01-30 16:49:28.438 [MessageBroker-4] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:49:28.438 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:49:28.440 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:49:28.448 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:49:32.778 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:32.778 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:32.790 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:37.775 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:37.776 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:37.788 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:42.782 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:42.782 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:42.795 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:47.773 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:47.773 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:47.784 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:48.442 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:49:48.442 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:49:48.450 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:49:52.782 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:52.782 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:52.792 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:57.778 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:49:57.779 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:49:57.788 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:49:58.471 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:49:58.471 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:49:58.479 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:49:59.761 [http-nio-8082-exec-3] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1767336500,1768284877,1769762999;] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-30 16:49:59.769 [http-nio-8082-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-01-30 16:49:59.769 [http-nio-8082-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-01-30 16:49:59.774 [http-nio-8082-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 5 ms +2026-01-30 16:49:59.807 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:49:59.807 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-30 16:49:59.807 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/categories +2026-01-30 16:49:59.807 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/categories +2026-01-30 16:49:59.939 [http-nio-8082-exec-6] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872290938 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:49:59.938Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:49:59.939 [http-nio-8082-exec-3] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872290938 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:49:59.938Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:49:59.939 [http-nio-8082-exec-1] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872290938 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:49:59.938Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:49:59.939 [http-nio-8082-exec-4] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872290938 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:49:59.938Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:49:59.940 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/categories +2026-01-30 16:49:59.940 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/categories +2026-01-30 16:49:59.940 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/banner/list +2026-01-30 16:49:59.940 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:49:59.940 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:49:59.940 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:49:59.948 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:49:59.948 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:49:59.957 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:49:59.957 [http-nio-8082-exec-1] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:49:59.959 [http-nio-8082-exec-4] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-30 16:49:59.959 [http-nio-8082-exec-6] INFO com.dora.controller.CourseController - 获取课程分类列表 +2026-01-30 16:49:59.959 [http-nio-8082-exec-4] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-30 16:49:59.959 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-30 16:49:59.960 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-30 16:49:59.968 [http-nio-8082-exec-6] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-30 16:49:59.969 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-30 16:49:59.970 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 1(Integer) +2026-01-30 16:49:59.972 [http-nio-8082-exec-4] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-30 16:49:59.972 [http-nio-8082-exec-4] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-30 16:49:59.983 [http-nio-8082-exec-6] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 3 +2026-01-30 16:49:59.985 [http-nio-8082-exec-4] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-30 16:49:59.989 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:49:59.989 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 1(Long), 1(Long) +2026-01-30 16:49:59.995 [http-nio-8082-exec-3] INFO com.dora.controller.WorkflowController - 获取工作流分类列表 +2026-01-30 16:49:59.995 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:49:59.995 [http-nio-8082-exec-1] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:49:59.996 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:49:59.996 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:49:59.998 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-30 16:49:59.998 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:49:59.998 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 6(Long), 6(Long) +2026-01-30 16:50:00.007 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-30 16:50:00.007 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Preparing: SELECT COUNT(*) FROM course c WHERE c.is_deleted = 0 AND c.audit_status = 1 AND (c.category_id = ? OR (c.category_id IS NULL AND c.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.007 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-30 16:50:00.007 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - ==> Parameters: 13(Long), 13(Long) +2026-01-30 16:50:00.007 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-30 16:50:00.009 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:50:00.010 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:50:00.017 [http-nio-8082-exec-6] DEBUG c.d.mapper.CourseMapper.countCoursesByCategoryId - <== Total: 1 +2026-01-30 16:50:00.020 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-30 16:50:00.021 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Preparing: SELECT id, name, type, description, sort_order, is_enabled, create_time, update_time, is_deleted FROM category WHERE type = ? AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-30 16:50:00.021 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - ==> Parameters: 2(Integer) +2026-01-30 16:50:00.034 [http-nio-8082-exec-3] DEBUG c.dora.mapper.CategoryMapper.selectEnabledByType - <== Total: 10 +2026-01-30 16:50:00.037 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.038 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 15(Long), 15(Long) +2026-01-30 16:50:00.050 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.051 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.052 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 16(Long), 16(Long) +2026-01-30 16:50:00.059 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/course/hot +2026-01-30 16:50:00.060 [http-nio-8082-exec-5] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872291060 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:00.060Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:00.060 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/course/hot +2026-01-30 16:50:00.060 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:50:00.065 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.065 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.066 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 17(Long), 17(Long) +2026-01-30 16:50:00.079 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.079 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.080 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 7(Long), 7(Long) +2026-01-30 16:50:00.085 [http-nio-8082-exec-5] INFO com.dora.controller.CourseController - 获取热门课程列表 - page: 1, size: 32 +2026-01-30 16:50:00.087 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Preparing: SELECT c.id, c.title, c.description, c.cover_url, c.detail_gallery, c.price, c.level, c.category, c.category_id, c.audit_status, c.reject_reason, c.review_time, c.user_id, c.is_free, c.create_time, c.update_time, c.is_deleted FROM course c LEFT JOIN ( -- 计算课程总观看次数 SELECT cc.course_id, COALESCE(SUM(v.view_count), 0) as total_view_count FROM course_chapter cc LEFT JOIN course_video cv ON cc.id = cv.chapter_id AND cv.is_deleted = 0 LEFT JOIN video v ON cv.video_id = v.id AND v.is_deleted = 0 WHERE cc.is_deleted = 0 GROUP BY cc.course_id ) view_stats ON c.id = view_stats.course_id LEFT JOIN ( -- 计算课程点赞次数 SELECT course_id, COUNT(*) as like_count FROM course_like WHERE is_deleted = 0 GROUP BY course_id ) like_stats ON c.id = like_stats.course_id WHERE c.is_deleted = 0 AND c.audit_status = 1 ORDER BY -- 综合评分公式: 观看次数40% + 点赞次数30% + 时间分数30% ( (COALESCE(view_stats.total_view_count, 0) * 0.4) + (COALESCE(like_stats.like_count, 0) * 0.3) + ((1000 / (DATEDIFF(NOW(), c.create_time) + 1)) * 0.3) ) DESC LIMIT ?, ? +2026-01-30 16:50:00.087 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - ==> Parameters: 0(Integer), 32(Integer) +2026-01-30 16:50:00.092 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.093 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.094 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 8(Long), 8(Long) +2026-01-30 16:50:00.098 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.selectHotCourses - <== Total: 12 +2026-01-30 16:50:00.099 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Preparing: SELECT COUNT(*) FROM course WHERE is_deleted = 0 AND audit_status = 1 +2026-01-30 16:50:00.099 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.countAllCourses - ==> Parameters: +2026-01-30 16:50:00.106 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.107 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.107 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseMapper.countAllCourses - <== Total: 1 +2026-01-30 16:50:00.107 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 9(Long), 9(Long) +2026-01-30 16:50:00.120 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.120 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.120 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 10(Long), 10(Long) +2026-01-30 16:50:00.122 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? ) AND is_deleted = 0 +2026-01-30 16:50:00.122 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564379418669007(Long) +2026-01-30 16:50:00.130 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 1 +2026-01-30 16:50:00.132 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.132 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 8(Long) +2026-01-30 16:50:00.133 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.133 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.134 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 11(Long), 11(Long) +2026-01-30 16:50:00.140 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.141 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.142 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 8(Long) +2026-01-30 16:50:00.146 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.147 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.147 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 12(Long), 12(Long) +2026-01-30 16:50:00.150 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.151 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.151 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 8(Long) +2026-01-30 16:50:00.159 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.159 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.159 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Preparing: SELECT COUNT(*) FROM workflow w WHERE w.audit_status = 1 AND w.is_deleted = 0 AND (w.category_id = ? OR (w.category_id IS NULL AND w.category = (SELECT name FROM category WHERE id = ?))) +2026-01-30 16:50:00.160 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - ==> Parameters: 14(Long), 14(Long) +2026-01-30 16:50:00.160 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.160 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 25(Long) +2026-01-30 16:50:00.169 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.170 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.170 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 25(Long) +2026-01-30 16:50:00.172 [http-nio-8082-exec-3] DEBUG c.d.m.WorkflowMapper.countWorkflowsByCategoryId - <== Total: 1 +2026-01-30 16:50:00.172 [http-nio-8082-exec-3] INFO com.dora.service.impl.WorkflowServiceImpl - 工作流分类数量超过10个,已限制为前10个分类 +2026-01-30 16:50:00.179 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.179 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.180 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 25(Long) +2026-01-30 16:50:00.183 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/workflow/hot +2026-01-30 16:50:00.185 [http-nio-8082-exec-2] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872291184 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:00.184Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:00.185 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/workflow/hot +2026-01-30 16:50:00.185 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:50:00.187 [http-nio-8082-exec-2] INFO com.dora.controller.WorkflowController - 获取热门工作流列表 - page: 1, size: 32 +2026-01-30 16:50:00.187 [http-nio-8082-exec-2] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Preparing: SELECT id, name, description, cover_url, detail_gallery, price, owner_id, category, audit_status, reject_reason, review_time, is_free, full_access_role, copy_access_role, is_public, like_count, rating, video_id, data, data_file_url, create_time, update_time, is_deleted FROM workflow WHERE audit_status = 1 AND is_deleted = 0 ORDER BY like_count DESC, create_time DESC LIMIT ?, ? +2026-01-30 16:50:00.187 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.187 [http-nio-8082-exec-2] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - ==> Parameters: 0(Integer), 32(Integer) +2026-01-30 16:50:00.188 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.188 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 2(Long) +2026-01-30 16:50:00.197 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.197 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.198 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 2(Long) +2026-01-30 16:50:00.206 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.206 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.206 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 2(Long) +2026-01-30 16:50:00.215 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.215 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.216 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 9(Long) +2026-01-30 16:50:00.218 [http-nio-8082-exec-2] DEBUG com.dora.mapper.WorkflowMapper.selectHotWorkflows - <== Total: 32 +2026-01-30 16:50:00.218 [http-nio-8082-exec-2] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Preparing: SELECT COUNT(*) FROM workflow WHERE audit_status = 1 AND is_deleted = 0 +2026-01-30 16:50:00.218 [http-nio-8082-exec-2] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - ==> Parameters: +2026-01-30 16:50:00.224 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.225 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.225 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 9(Long) +2026-01-30 16:50:00.231 [http-nio-8082-exec-2] DEBUG com.dora.mapper.WorkflowMapper.countAllWorkflows - <== Total: 1 +2026-01-30 16:50:00.233 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id IN ( ? , ? , ? , ? , ? , ? , ? ) AND is_deleted = 0 +2026-01-30 16:50:00.233 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectByIds - ==> Parameters: 17564481182853556(Long), 17564630096767044(Long), 17564794376041081(Long), 17567400320744741(Long), 17564379418669007(Long), 17564526189636750(Long), 17564803204774202(Long) +2026-01-30 16:50:00.233 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.233 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.233 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 9(Long) +2026-01-30 16:50:00.242 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.242 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.242 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 11(Long) +2026-01-30 16:50:00.245 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectByIds - <== Total: 7 +2026-01-30 16:50:00.251 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.252 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.252 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 11(Long) +2026-01-30 16:50:00.260 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.260 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.260 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 11(Long) +2026-01-30 16:50:00.268 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.268 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.270 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 3(Long) +2026-01-30 16:50:00.278 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.278 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.279 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 3(Long) +2026-01-30 16:50:00.287 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.287 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.287 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 3(Long) +2026-01-30 16:50:00.295 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.296 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.296 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 4(Long) +2026-01-30 16:50:00.305 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.305 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.305 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 4(Long) +2026-01-30 16:50:00.314 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.314 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.315 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 4(Long) +2026-01-30 16:50:00.323 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.324 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.324 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 7(Long) +2026-01-30 16:50:00.332 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.332 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.333 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 7(Long) +2026-01-30 16:50:00.342 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.342 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.342 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 7(Long) +2026-01-30 16:50:00.352 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.352 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.352 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 5(Long) +2026-01-30 16:50:00.361 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.363 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.363 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 5(Long) +2026-01-30 16:50:00.372 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.372 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.372 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 5(Long) +2026-01-30 16:50:00.382 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.383 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.383 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 13(Long) +2026-01-30 16:50:00.390 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.392 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.392 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 13(Long) +2026-01-30 16:50:00.400 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.400 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.401 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 13(Long) +2026-01-30 16:50:00.409 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.409 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.409 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 6(Long) +2026-01-30 16:50:00.417 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.417 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.417 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 6(Long) +2026-01-30 16:50:00.427 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.428 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.428 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 6(Long) +2026-01-30 16:50:00.436 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:00.437 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Preparing: SELECT IFNULL(SUM(cv.duration_sec), 0) FROM course_video cv INNER JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 +2026-01-30 16:50:00.437 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - ==> Parameters: 12(Long) +2026-01-30 16:50:00.445 [http-nio-8082-exec-5] DEBUG c.d.mapper.CourseVideoMapper.sumDurationByCourseId - <== Total: 1 +2026-01-30 16:50:00.445 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Preparing: SELECT SUM(v.view_count) FROM video v WHERE v.id IN ( SELECT DISTINCT cv.video_id FROM course_video cv JOIN course_chapter cc ON cv.chapter_id = cc.id WHERE cc.course_id = ? AND cv.is_deleted = 0 AND cc.is_deleted = 0 AND cv.video_id IS NOT NULL ) AND v.is_deleted = 0 +2026-01-30 16:50:00.445 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - ==> Parameters: 12(Long) +2026-01-30 16:50:00.454 [http-nio-8082-exec-5] DEBUG c.dora.mapper.VideoMapper.sumViewCountByCourseId - <== Total: 1 +2026-01-30 16:50:00.455 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Preparing: SELECT COUNT(*) FROM course_like WHERE course_id = ? AND is_deleted = 0 +2026-01-30 16:50:00.455 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - ==> Parameters: 12(Long) +2026-01-30 16:50:00.463 [http-nio-8082-exec-5] DEBUG com.dora.mapper.CourseLikeMapper.countByCourseId - <== Total: 1 +2026-01-30 16:50:01.737 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:50:01.737 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-30 16:50:01.739 [http-nio-8082-exec-8] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872292739 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:01.739Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:01.739 [http-nio-8082-exec-7] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872292739 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:01.739Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:01.739 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/banner/list +2026-01-30 16:50:01.739 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:50:01.740 [http-nio-8082-exec-8] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-30 16:50:01.740 [http-nio-8082-exec-8] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-30 16:50:01.740 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/plaza/works/list +2026-01-30 16:50:01.741 [http-nio-8082-exec-9] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872292740 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:01.740Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:01.748 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:01.748 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:01.752 [http-nio-8082-exec-8] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-30 16:50:01.753 [http-nio-8082-exec-8] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-30 16:50:01.754 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:01.754 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:01.756 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:01.756 [http-nio-8082-exec-7] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:01.757 [http-nio-8082-exec-7] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:50:01.757 [http-nio-8082-exec-7] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:50:01.757 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:50:01.757 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:50:01.765 [http-nio-8082-exec-8] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-30 16:50:01.765 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:50:01.766 [http-nio-8082-exec-7] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:50:01.767 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:01.767 [http-nio-8082-exec-9] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:01.778 [http-nio-8082-exec-9] INFO com.dora.service.impl.PlazaServiceImpl - 查询广场作品列表,taskType: null, sortBy: latest, page: 1, size: 20 +2026-01-30 16:50:01.784 [http-nio-8082-exec-9] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - ==> Preparing: SELECT pw.id, pw.work_no, pw.user_id, pw.task_no, pw.task_type, pw.model_name, pw.prompt, pw.result_url, pw.image_url, pw.aspect_ratio, pw.title, pw.description, pw.tags, pw.view_count, pw.like_count, pw.share_count, pw.comment_count, pw.is_public, pw.status, pw.create_time, pw.update_time, u.username as nickname, u.avatar_url, UNIX_TIMESTAMP(pw.create_time) as score FROM plaza_work pw LEFT JOIN user u ON pw.user_id = u.id WHERE pw.status = 'published' AND pw.audit_status = 'approved' AND pw.is_public = 1 AND pw.is_deleted = 0 ORDER BY score DESC LIMIT ?, ? +2026-01-30 16:50:01.784 [http-nio-8082-exec-9] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - ==> Parameters: 0(Integer), 20(Integer) +2026-01-30 16:50:01.814 [http-nio-8082-exec-9] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - <== Total: 20 +2026-01-30 16:50:01.815 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - ==> Preparing: SELECT COUNT(*) FROM plaza_work WHERE status = 'published' AND audit_status = 'approved' AND is_public = 1 AND is_deleted = 0 +2026-01-30 16:50:01.815 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - ==> Parameters: +2026-01-30 16:50:01.828 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - <== Total: 1 +2026-01-30 16:50:02.357 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:50:02.358 [http-nio-8082-exec-10] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872293358 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:02.358Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:02.413 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:02.414 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:02.421 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:02.422 [http-nio-8082-exec-10] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:02.423 [http-nio-8082-exec-10] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:50:02.423 [http-nio-8082-exec-10] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:50:02.424 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:50:02.424 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:50:02.433 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:50:02.433 [http-nio-8082-exec-10] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:50:02.766 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:02.766 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:02.778 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:07.542 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:50:07.544 [http-nio-8082-exec-6] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872298544 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:07.544Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:07.552 [http-nio-8082-exec-6] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:07.552 [http-nio-8082-exec-6] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:07.561 [http-nio-8082-exec-6] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:07.561 [http-nio-8082-exec-6] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:07.562 [http-nio-8082-exec-6] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:50:07.562 [http-nio-8082-exec-6] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:50:07.562 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:50:07.563 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:50:07.571 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:50:07.572 [http-nio-8082-exec-6] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:50:07.773 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:07.774 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:07.783 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:07.873 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:50:07.873 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:50:07.874 [http-nio-8082-exec-4] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872298874 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:07.874Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:07.874 [http-nio-8082-exec-1] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872298874 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:07.874Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:07.874 [http-nio-8082-exec-4] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:07.875 [http-nio-8082-exec-4] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:07.883 [http-nio-8082-exec-4] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:07.883 [http-nio-8082-exec-4] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:07.885 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:50:07.885 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:50:07.886 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:07.886 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:07.887 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:50:07.887 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:50:07.889 [http-nio-8082-exec-2] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872298889 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:07.889Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:07.889 [http-nio-8082-exec-3] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872298889 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:07.889Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:07.889 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/me +2026-01-30 16:50:07.889 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:50:07.892 [http-nio-8082-exec-3] WARN com.dora.util.JwtUtil - JWT令牌验证失败: JWT expired 872298892 milliseconds ago at 2026-01-20T06:31:49.000Z. Current time: 2026-01-30T08:50:07.892Z. Allowed clock skew: 0 milliseconds. +2026-01-30 16:50:07.894 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:50:07.899 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:07.899 [http-nio-8082-exec-1] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:07.902 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-01-30 16:50:07.903 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: eyJhbGciOiJIUzUxMiJ9.eyJwaG9uZSI6IjE4NTI4NjU1OTA3IiwidHlwZSI6InVzZXIiLCJ1c2VySWQiOjE3NjgyODU5MDk0MjU3MTg4LCJqdGkiOiIxZWU2NTNlZS1jYzA5LTRhNDQtYTVjNi0wMmZmNjc5NzFiNTkiLCJzdWIiOiIxODUyODY1NTkwNyIsImlhdCI6MTc2ODI4NTkwOSwiZXhwIjoxNzY4ODkwNzA5fQ.n8RLFaxMS1MbZWUG10yRuhClYkU9m9gHxLWfHBRUMihF-SbVAoo9qMppalqJmHe8tQUQ1AzRA20Np5fnr0NUhA(String) +2026-01-30 16:50:07.914 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 0 +2026-01-30 16:50:07.914 [http-nio-8082-exec-2] WARN com.dora.config.ApiKeyAuthenticationFilter - 无效的API Key: eyJh****NUhA +2026-01-30 16:50:07.916 [http-nio-8082-exec-2] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:50:07.916 [http-nio-8082-exec-2] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:50:07.929 [http-nio-8082-exec-2] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:50:08.465 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:50:08.465 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:50:08.473 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:50:08.513 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/wechat/qr/login +2026-01-30 16:50:08.513 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-01-30 16:50:08.747 [http-nio-8082-exec-5] ERROR com.dora.controller.WeChatMpController - 生成登录二维码失败 +me.chanjar.weixin.common.error.WxErrorException: 错误代码:40164, 错误信息:invalid ip 122.233.104.139 ipv6 ::ffff:122.233.104.139, not in whitelist rid: 697c70be-17a32b53-46bc7931,微信原始报文:{"errcode":40164,"errmsg":"invalid ip 122.233.104.139 ipv6 ::ffff:122.233.104.139, not in whitelist rid: 697c70be-17a32b53-46bc7931"} + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.extractAccessToken(BaseWxMpServiceImpl.java:518) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.getAccessToken(BaseWxMpServiceImpl.java:283) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:463) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:427) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:381) + at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:386) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.getQrCodeTicket(WxMpQrcodeServiceImpl.java:79) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.createQrCode(WxMpQrcodeServiceImpl.java:58) + at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:44) + at com.dora.controller.WeChatMpController.getLoginQrCode(WeChatMpController.java:216) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:71) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:50:12.768 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:12.768 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:12.778 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:17.782 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:17.782 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:17.792 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:22.775 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:22.776 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:22.785 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:23.932 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/msm/send/13142377874 +2026-01-30 16:50:23.933 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/msm/send/13142377874 +2026-01-30 16:50:23.933 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:50:23.933 [http-nio-8082-exec-8] INFO com.dora.controller.MsmController - 发送短信验证码 - phone: 13142377874, force: false +2026-01-30 16:50:24.424 [http-nio-8082-exec-8] INFO com.dora.service.impl.MsmServiceImpl - 短信发送响应: {"Message":"OK","RequestId":"12025C09-F511-50EF-BD54-08FB2ABF3FF2","Code":"OK","BizId":"171823669763022521^0"} +2026-01-30 16:50:24.425 [http-nio-8082-exec-8] INFO com.dora.service.impl.MsmServiceImpl - 短信发送成功 - phone: 13142377874 +2026-01-30 16:50:24.430 [http-nio-8082-exec-8] INFO com.dora.controller.MsmController - 短信验证码发送成功 - phone: 13142377874, code: 432265, force: false +2026-01-30 16:50:27.738 [MessageBroker-9] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-30 16:50:27.770 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:27.770 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:27.774 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:50:27.774 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:40:27.762940100(LocalDateTime) +2026-01-30 16:50:27.781 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:27.786 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:50:28.486 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:50:28.487 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:50:28.495 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:50:28.505 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:50:28.507 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:50:28.518 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:50:32.780 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:32.781 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:32.790 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:37.773 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:37.773 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:37.782 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:42.778 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:42.778 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:42.788 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:47.779 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:47.779 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:47.788 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:48.511 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:50:48.511 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:50:48.520 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:50:52.778 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:52.778 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:52.788 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:57.775 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:50:57.775 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:50:57.789 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:50:58.532 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:50:58.532 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:50:58.540 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:51:02.775 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:02.775 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:02.786 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:07.775 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:07.776 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:07.786 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:08.538 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:51:08.538 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:51:08.547 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:51:12.781 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:12.781 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:12.792 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:17.774 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:17.774 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:17.785 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:22.774 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:22.775 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:22.785 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:27.781 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:51:27.781 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:41:27.772699100(LocalDateTime) +2026-01-30 16:51:27.784 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:27.784 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:27.788 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:51:27.797 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:28.551 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:51:28.552 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:51:28.560 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:51:28.570 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:51:28.571 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:51:28.584 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:51:32.781 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:32.781 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:32.795 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:34.102 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/auth/sms-login +2026-01-30 16:51:34.102 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /user/auth/sms-login +2026-01-30 16:51:34.102 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:34.159 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE phone = ? LIMIT 1 +2026-01-30 16:51:34.159 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - ==> Parameters: 13142377874(String) +2026-01-30 16:51:34.168 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectByPhoneAnyStatus - <== Total: 1 +2026-01-30 16:51:34.194 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token已添加 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1 +2026-01-30 16:51:34.195 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:34.195 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:34.204 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:34.205 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:34.205 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:34.213 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:34.214 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:34.214 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:34.222 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:34.222 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:34.223 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:34.231 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:34.231 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:34.231 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:34.239 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:34.240 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:34.240 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:34.248 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:34.249 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:34.249 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:34.257 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:34.258 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:51:34.258 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:51:34.266 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:51:34.268 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:34.268 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:51:34.277 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:51:34.277 [http-nio-8082-exec-7] INFO com.dora.service.impl.UserServiceImpl - 用户短信登录成功 - phone: 13142377874, userId: 17563793187762127 +2026-01-30 16:51:34.715 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:51:34.719 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:34.733 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:34.733 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:34.745 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:34.746 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:34.746 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:34.747 [http-nio-8082-exec-9] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:51:34.747 [http-nio-8082-exec-9] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:51:34.747 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:51:34.747 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:51:34.760 [http-nio-8082-exec-9] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:51:34.760 [http-nio-8082-exec-9] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:51:35.288 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:51:35.292 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:35.300 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.301 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.309 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.309 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:35.309 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:35.311 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:51:35.311 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:51:35.319 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:51:35.335 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:51:35.337 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:51:35.337 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:51:35.338 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:35.338 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.339 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.339 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:35.340 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:35.347 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.347 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:35.347 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:35.348 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:51:35.348 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:51:35.350 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.351 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.352 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.352 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.357 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:51:35.363 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.364 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:35.364 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:35.365 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.365 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.366 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.367 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:35.367 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:35.367 [http-nio-8082-exec-3] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 16:51:35.379 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.379 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.379 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.390 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.392 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:35.392 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:35.402 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:35.402 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:35.402 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.415 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:35.416 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:35.416 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:35.425 [http-nio-8082-exec-3] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:51:35.425 [http-nio-8082-exec-3] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:51:35.427 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:35.427 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:35.428 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.439 [http-nio-8082-exec-3] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:51:35.440 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:35.440 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.440 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:35.441 [http-nio-8082-exec-3] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:51:35.441 [http-nio-8082-exec-3] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 16:51:35.454 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:35.454 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:35.454 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:35.458 [http-nio-8082-exec-3] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:51:35.460 [http-nio-8082-exec-3] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 76, 当前页数量: 10 +2026-01-30 16:51:35.466 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:35.466 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:51:35.466 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:51:35.479 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:51:35.479 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:35.480 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:51:35.492 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:51:37.778 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:37.778 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:37.788 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:42.777 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:42.777 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:42.787 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:47.042 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:51:47.044 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:47.056 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:47.056 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:47.069 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:47.069 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:47.069 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:47.070 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=2, size=10, status=null, taskType=text_to_video +2026-01-30 16:51:47.073 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:51:47.073 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:51:47.085 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:51:47.086 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ?, ? +2026-01-30 16:51:47.086 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Long), 10(Integer) +2026-01-30 16:51:47.104 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:51:47.104 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 76, 当前页数量: 10 +2026-01-30 16:51:47.779 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:47.780 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:47.790 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:48.598 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:51:48.598 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:51:48.606 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:51:52.778 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:52.778 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:52.788 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:57.770 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:51:57.770 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:51:57.779 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:51:58.092 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/ai/tasks/submit +2026-01-30 16:51:58.094 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:58.107 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:58.108 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:58.121 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:58.121 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:58.121 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:58.123 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 提交AI任务,模型: sc_sora2_text_portrait_15s_small, 提示词长度: 834, 是否图生视频: false +2026-01-30 16:51:58.144 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-01-30 16:51:58.144 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: sc_sora2_text_portrait_15s_small(String) +2026-01-30 16:51:58.156 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-01-30 16:51:58.158 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:58.158 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:58.170 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-30 16:51:58.171 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-30 16:51:58.171 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: -150(Integer), 17563793187762127(Long), -150(Integer) +2026-01-30 16:51:58.195 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-30 16:51:58.195 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-30 16:51:58.195 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17563793187762127(Long), TASK-20260130165158157-8329(String), consume(String), -150(Integer), 27480(Integer), 27330(Integer), AI任务创建: sc_sora2_text_portrait_15s_small(String), 0(Integer) +2026-01-30 16:51:58.221 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-30 16:51:58.223 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - ==> Preparing: INSERT INTO ai_task ( task_no, user_id, model_name, task_type, provider_type, provider_task_id, provider_response, prompt, image_url, image_base64, aspect_ratio, status, progress, progress_message, points_frozen, points_consumed, result_url, error_message, queue_time, start_time, complete_time, expire_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2026-01-30 16:51:58.224 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - ==> Parameters: TASK-20260130165158157-8329(String), 17563793187762127(Long), sc_sora2_text_portrait_15s_small(String), text_to_video(String), suchuang(String), null, null, 15-second epic movie shot: Chinese divine dragon. Golden-scaled, coiling through thick dark gray clouds—dragon horns sharp frosted, tail sweeping clouds apart like surging waves. Focus on claws: four powerful paws spread, talons gleaming with cold light, scales extending to claw roots (distinct textures), muscles tensing as it grips clouds, realistic joint details, no misalignment. Warm gold vs deep gray color palette. Clouds blend photorealistic depth with hazy artistry. Light pierces cloud gaps, highlighting dragon’s body and claws to emphasize majesty and mystery. Style inspired by The Lord of the Rings (epic grandeur) + The Great Wall (Eastern aesthetics). Smooth camera movement, clear depth of field (dragon in sharp focus, background clouds softly blurred), no distractions. 8K resolution, cinematic lighting rendering.(String), null, null, 9:16(String), created(String), null, null, 150(Integer), null, null, null, null, null, null, null +2026-01-30 16:51:58.250 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - <== Updates: 1 +2026-01-30 16:51:58.250 [http-nio-8082-exec-2] INFO com.dora.service.impl.AiTaskServiceImpl - 速创任务 TASK-20260130165158157-8329 立即处理(异步) +2026-01-30 16:51:58.250 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:51:58.250 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165158157-8329(String) +2026-01-30 16:51:58.263 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:51:58.264 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:51:58.266 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), AI模型正在生成内容...(String), 2026-01-30T16:51:58.263417400(LocalDateTime), 3277(Long) +2026-01-30 16:51:58.290 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:51:58.292 [http-nio-8082-exec-2] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260130165158157-8329 的进度更新到目的地: /queue/tasks-progress +2026-01-30 16:51:58.298 [http-nio-8082-exec-2] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260130165158157-8329 +2026-01-30 16:51:58.303 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 开始异步调用API,任务编号: TASK-20260130165158157-8329, 模型: sc_sora2_text_portrait_15s_small, Provider类型: suchuang +2026-01-30 16:51:58.303 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:51:58.303 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165158157-8329(String) +2026-01-30 16:51:58.311 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-01-30 16:51:58.311 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: sc_sora2_text_portrait_15s_small(String) +2026-01-30 16:51:58.316 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:51:58.320 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-01-30 16:51:58.320 [taskExecutor-1] DEBUG com.dora.service.AIProviderService - 模型 sc_sora2_text_portrait_15s_small 使用服务商: suchuang +2026-01-30 16:51:58.320 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 任务 TASK-20260130165158157-8329 使用Provider: suchuang +2026-01-30 16:51:58.320 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-01-30 16:51:58.321 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: sc_sora2_text_portrait_15s_small(String) +2026-01-30 16:51:58.330 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-01-30 16:51:58.330 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 获取到模型配置,modelName: sc_sora2_text_portrait_15s_small, config: {duration=15, taskType=text_to_video, size=small, aspectRatio=9:16} +2026-01-30 16:51:58.330 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交任务,模型: sc_sora2_text_portrait_15s_small +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - === SuChuang Provider 提交任务负载数据(POST) === +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 请求类型: 【普通任务】 +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 请求URL: https://api.wuyinkeji.com/api/sora2-new/submit +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 模型类型: sora2 +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 任务类型: text_to_video +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 是否图生视频: false +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 提示词: 15-second epic movie shot: Chinese divine dragon. Golden-scaled, coiling through thick dark gray clouds—dragon horns sharp frosted, tail sweeping clouds apart like surging waves. Focus on claws: four powerful paws spread, talons gleaming with cold light, scales extending to claw roots (distinct textures), muscles tensing as it grips clouds, realistic joint details, no misalignment. Warm gold vs deep gray color palette. Clouds blend photorealistic depth with hazy artistry. Light pierces cloud gaps, highlighting dragon’s body and claws to emphasize majesty and mystery. Style inspired by The Lord of the Rings (epic grandeur) + The Great Wall (Eastern aesthetics). Smooth camera movement, clear depth of field (dragon in sharp focus, background clouds softly blurred), no distractions. 8K resolution, cinematic lighting rendering. +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 参考图片URL: N/A (文生视频) +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 宽高比: 9:16 +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 时长: 15 秒 +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 尺寸: small +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - API密钥: GpFpub*** +2026-01-30 16:51:58.331 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - ======================================= +2026-01-30 16:51:58.346 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 任务创建成功,taskNo: TASK-20260130165158157-8329, 队列位置: 0 +2026-01-30 16:51:58.569 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:51:58.569 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:51:58.577 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交任务响应: {"code":400,"exec_time":0.049709,"ip":"122.233.104.139","msg":"请求失败,该接口正在维护"} +2026-01-30 16:51:58.577 [taskExecutor-1] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交失败: code=400, msg=请求失败,该接口正在维护 +2026-01-30 16:51:58.578 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:51:58.579 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165158157-8329(providerTaskId:null) +2026-01-30 16:51:58.579 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165158157-8329, providerTaskId: null, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:51:56 +2026-01-30 16:51:58.579 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - SORA2任务 TASK-20260130165158157-8329 的providerTaskId为空,但任务刚创建2秒,继续等待 +2026-01-30 16:51:58.577 [taskExecutor-1] ERROR com.dora.service.AsyncTaskExecutor - 异步任务 TASK-20260130165158157-8329 提交失败,Provider返回无效响应: ProviderTaskResponse(providerTaskId=null, status=FAILED, resultUrl=null, errorMessage=速创API提交失败: 请求失败,该接口正在维护, websocketUrl=null, clientId=null, rawResponse=null) +2026-01-30 16:51:58.581 [taskExecutor-1] ERROR com.dora.service.AsyncTaskExecutor - 任务 TASK-20260130165158157-8329 在Provider调用期间发生异常: 出现一点小错误,本次积分已回退 +java.lang.RuntimeException: 出现一点小错误,本次积分已回退 + at com.dora.service.AsyncTaskExecutor.executeApiCall(AsyncTaskExecutor.java:62) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:113) + at org.springframework.util.concurrent.FutureUtils.lambda$toSupplier$0(FutureUtils.java:74) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-01-30 16:51:58.581 [taskExecutor-1] ERROR com.dora.service.impl.AiTaskServiceImpl - 任务 TASK-20260130165158157-8329 处理失败。 +java.util.concurrent.CompletionException: java.lang.RuntimeException: 出现一点小错误,本次积分已回退 + at org.springframework.util.concurrent.FutureUtils.lambda$toSupplier$0(FutureUtils.java:78) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.lang.RuntimeException: 出现一点小错误,本次积分已回退 + at com.dora.service.AsyncTaskExecutor.executeApiCall(AsyncTaskExecutor.java:62) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:113) + at org.springframework.util.concurrent.FutureUtils.lambda$toSupplier$0(FutureUtils.java:74) + ... 4 common frames omitted +2026-01-30 16:51:58.582 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:51:58.582 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165158157-8329(String) +2026-01-30 16:51:58.590 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:51:58.592 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, error_message = ?, start_time = ?, complete_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:51:58.594 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: failed(String), 10(Integer), 处理失败: java.lang.RuntimeException: 出现一点小错误,本次积分已回退(String), 处理失败: java.lang.RuntimeException: 出现一点小错误,本次积分已回退(String), 2026-01-30T16:51:58(LocalDateTime), 2026-01-30T16:51:58.591842200(LocalDateTime), 3277(Long) +2026-01-30 16:51:58.611 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:51:58.611 [taskExecutor-1] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260130165158157-8329 的进度更新到目的地: /queue/tasks-progress +2026-01-30 16:51:58.612 [taskExecutor-1] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260130165158157-8329 +2026-01-30 16:51:58.621 [taskExecutor-1] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:58.621 [taskExecutor-1] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:58.629 [taskExecutor-1] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-30 16:51:58.630 [taskExecutor-1] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-30 16:51:58.630 [taskExecutor-1] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: 150(Integer), 17563793187762127(Long), 150(Integer) +2026-01-30 16:51:58.645 [taskExecutor-1] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-30 16:51:58.645 [taskExecutor-1] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-30 16:51:58.645 [taskExecutor-1] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17563793187762127(Long), TASK-20260130165158157-8329(String), refund(String), 150(Integer), 27330(Integer), 27480(Integer), 任务失败,退还积分(String), 0(Integer) +2026-01-30 16:51:58.661 [taskExecutor-1] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-30 16:51:58.679 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 任务 TASK-20260130165158157-8329 处理完毕,已释放模型 sc_sora2_text_portrait_15s_small 的一个处理槽位。 +2026-01-30 16:51:58.978 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:51:58.979 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:51:58.980 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:58.980 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:58.981 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:58.981 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:58.988 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:58.988 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:58.990 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:58.990 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=2, size=10, status=null, taskType=text_to_video +2026-01-30 16:51:58.992 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:58.992 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:58.992 [http-nio-8082-exec-5] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:51:58.992 [http-nio-8082-exec-5] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:51:59.003 [http-nio-8082-exec-5] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:51:59.004 [http-nio-8082-exec-5] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ?, ? +2026-01-30 16:51:59.004 [http-nio-8082-exec-5] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Long), 10(Integer) +2026-01-30 16:51:59.005 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.006 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:59.006 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:59.008 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.008 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.016 [http-nio-8082-exec-5] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:51:59.016 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 77, 当前页数量: 10 +2026-01-30 16:51:59.019 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.020 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.021 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.033 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.033 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.033 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:59.045 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:59.046 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.046 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.072 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:59.073 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.073 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:59.085 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:59.085 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.085 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.097 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:59.098 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.098 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.110 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.110 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.111 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:59.123 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:59.123 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:51:59.123 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:51:59.135 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:51:59.135 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.136 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:51:59.148 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.221 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:51:59.223 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:51:59.223 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.223 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.231 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.232 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:51:59.232 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:51:59.233 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.233 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.242 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.242 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.242 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.250 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.251 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.252 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:59.260 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:59.260 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.260 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.268 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:59.268 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.268 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:59.276 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:59.277 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.277 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.285 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:51:59.285 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.286 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:51:59.294 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:51:59.294 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:51:59.294 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:51:59.303 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:51:59.303 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:51:59.303 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:51:59.312 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:51:59.312 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:51:59.312 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:51:59.321 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:52:02.775 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:02.775 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:02.785 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:03.998 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165158157-8329 +2026-01-30 16:52:04.000 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:52:04.013 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.013 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.026 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.026 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:52:04.026 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:52:04.027 [http-nio-8082-exec-9] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165158157-8329 +2026-01-30 16:52:04.027 [http-nio-8082-exec-9] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:52:04.028 [http-nio-8082-exec-9] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165158157-8329(String) +2026-01-30 16:52:04.040 [http-nio-8082-exec-9] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:52:04.041 [http-nio-8082-exec-9] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165158157-8329, status: failed +2026-01-30 16:52:04.444 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:52:04.446 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:52:04.454 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.454 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.463 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.464 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:52:04.464 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:52:04.465 [http-nio-8082-exec-10] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:52:04.465 [http-nio-8082-exec-10] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:52:04.465 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:52:04.465 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:52:04.474 [http-nio-8082-exec-10] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:52:04.474 [http-nio-8082-exec-10] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:52:04.524 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:52:04.527 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:52:04.528 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.528 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.536 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.537 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:52:04.537 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:52:04.537 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:52:04.537 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:52:04.545 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:52:04.935 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:52:04.935 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:52:04.935 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:52:04.937 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:52:04.937 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:52:04.937 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:52:04.938 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.938 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.947 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.947 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:52:04.947 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:52:04.948 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 16:52:04.950 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.950 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.950 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.950 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.950 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:52:04.951 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:52:04.959 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:52:04.961 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:52:04.961 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 16:52:04.962 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.962 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.963 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:52:04.963 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:52:04.963 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:52:04.963 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:52:04.964 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:52:04.964 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:52:04.964 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.964 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.974 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:52:04.974 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 77, 当前页数量: 10 +2026-01-30 16:52:04.977 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.977 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:52:04.977 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:04.978 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:04.988 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:04.991 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:52:04.991 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:52:05.003 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:52:05.004 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:52:05.004 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:05.016 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:52:05.017 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:52:05.017 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:52:05.029 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:52:05.029 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:52:05.029 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:05.042 [http-nio-8082-exec-3] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:52:05.042 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:05.042 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:52:05.055 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:52:05.056 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:52:05.056 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:52:05.068 [http-nio-8082-exec-3] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:52:05.068 [http-nio-8082-exec-3] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:52:05.068 [http-nio-8082-exec-3] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:52:05.081 [http-nio-8082-exec-3] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:52:05.082 [http-nio-8082-exec-3] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:52:05.082 [http-nio-8082-exec-3] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:52:05.094 [http-nio-8082-exec-3] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:52:07.774 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:07.774 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:07.788 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:08.621 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:52:08.621 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:52:08.629 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:52:12.775 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:12.775 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:12.784 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:17.776 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:17.776 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:17.785 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:22.770 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:22.770 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:22.779 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:27.771 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:52:27.771 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:42:27.762759100(LocalDateTime) +2026-01-30 16:52:27.774 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:27.774 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:27.778 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:52:27.787 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:28.595 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:52:28.595 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:52:28.607 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:52:28.638 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:52:28.638 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:52:28.646 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:52:32.775 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:32.775 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:32.785 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:37.781 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:37.781 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:37.794 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:42.767 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:42.767 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:42.777 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:47.775 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:47.776 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:47.786 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:48.660 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:52:48.660 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:52:48.669 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:52:52.782 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:52.782 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:52.792 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:57.781 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:52:57.781 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:52:57.790 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:52:58.622 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:52:58.623 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:52:58.631 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:53:02.782 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:02.782 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:02.796 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:07.777 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:07.777 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:07.787 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:08.682 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:53:08.682 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:53:08.695 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:53:12.776 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:12.777 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:12.786 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:17.782 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:17.782 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:17.792 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:22.777 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:22.777 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:22.787 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:27.777 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:27.778 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:27.781 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:53:27.783 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:43:27.769521500(LocalDateTime) +2026-01-30 16:53:27.793 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:27.797 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:53:28.650 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:53:28.650 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:53:28.663 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:53:28.708 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:53:28.709 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:53:28.717 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:53:32.779 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:32.779 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:32.794 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:37.774 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:37.774 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:37.783 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:42.778 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:42.779 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:42.793 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:44.238 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-30 16:53:44.238 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@567412db]] +2026-01-30 16:53:44.238 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-30 16:53:44.374 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-30 16:53:44.377 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2026-01-30 16:53:49.151 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-01-30 16:53:49.189 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 68228 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-01-30 16:53:49.190 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-01-30 16:53:49.190 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-01-30 16:53:50.198 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-01-30 16:53:50.200 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-01-30 16:53:50.247 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34 ms. Found 0 Redis repository interfaces. +2026-01-30 16:53:51.018 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-01-30 16:53:51.027 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-01-30 16:53:51.028 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-01-30 16:53:51.028 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-01-30 16:53:51.082 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-01-30 16:53:51.082 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1848 ms +2026-01-30 16:53:51.861 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-01-30 16:53:51.861 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-01-30 16:53:52.557 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-01-30 16:53:52.557 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-01-30 16:53:52.557 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-01-30 16:53:53.248 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 8d78bb9e-590c-4211-948a-f2a759ad5930 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-01-30 16:53:53.600 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@61bfd7da, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6179af64, org.springframework.security.web.context.SecurityContextHolderFilter@7473cfe2, org.springframework.security.web.header.HeaderWriterFilter@26401eda, org.springframework.web.filter.CorsFilter@193f5509, org.springframework.security.web.authentication.logout.LogoutFilter@65d3e2ba, com.dora.config.JwtAuthenticationFilter@3fad8636, com.dora.config.ApiKeyAuthenticationFilter@11dbcb3b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@41a6ab50, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6dc98c02, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@475a8415, org.springframework.security.web.session.SessionManagementFilter@16baf8d0, org.springframework.security.web.access.ExceptionTranslationFilter@5ef03158, org.springframework.security.web.access.intercept.AuthorizationFilter@cfe881a] +2026-01-30 16:53:54.055 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-01-30 16:53:54.072 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-01-30 16:53:54.074 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-01-30 16:53:54.074 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@65c97eeb]] +2026-01-30 16:53:54.074 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-01-30 16:53:54.086 [main] INFO com.dora.Application - Started Application in 5.43 seconds (process running for 5.926) +2026-01-30 16:53:54.087 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1769158434087 +2026-01-30 16:53:54.087 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-01-29T16:53:54.087776900 (24小时前) +2026-01-30 16:53:54.090 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-01-30 16:53:54.106 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-01-30 16:53:54.403 [MessageBroker-3] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-01-30 16:53:54.457 [MessageBroker-10] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@660431e8 +2026-01-30 16:53:54.460 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-01-30 16:53:54.466 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-01-30 16:53:54.487 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-01-29T16:53:54.087776900(LocalDateTime) +2026-01-30 16:53:54.519 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-01-30 16:53:54.524 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:54.524 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-01-30 16:53:54.524 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:54.563 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:53:54.563 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:53:54.564 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:53:54.577 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:53:54.578 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:53:54.578 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:43:54.087776900(LocalDateTime) +2026-01-30 16:53:54.590 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:53:54.590 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:53:54.590 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:53:54.605 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:53:59.093 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:53:59.095 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:53:59.110 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:04.107 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:04.108 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:04.123 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:09.100 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:09.100 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:09.116 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:11.069 [http-nio-8082-exec-1] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1767336500,1768284877,1769762999;] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-01-30 16:54:11.078 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-01-30 16:54:11.078 [http-nio-8082-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-01-30 16:54:11.079 [http-nio-8082-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2026-01-30 16:54:11.102 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:54:11.202 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:54:11.216 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:11.216 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:11.230 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:11.231 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:54:11.232 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:54:11.259 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=3, size=10, status=null, taskType=text_to_video +2026-01-30 16:54:11.333 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:54:11.333 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:54:11.349 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:54:11.352 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ?, ? +2026-01-30 16:54:11.352 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 20(Long), 10(Integer) +2026-01-30 16:54:11.370 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:54:11.372 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 77, 当前页数量: 10 +2026-01-30 16:54:14.107 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:14.107 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:14.122 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:14.608 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:54:14.608 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:54:14.620 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:54:19.104 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:19.104 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:19.118 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:24.105 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:24.105 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:24.119 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:24.585 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:54:24.586 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:54:24.598 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:54:29.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:29.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:29.115 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:34.101 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:34.102 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:34.115 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:34.642 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:54:34.643 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:54:34.654 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:54:39.108 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:39.109 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:39.123 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:44.108 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:44.108 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:44.122 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:49.096 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:49.096 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:49.109 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:54.051 [MessageBroker-8] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-01-30 16:54:54.104 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:54:54.105 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:44:54.093296900(LocalDateTime) +2026-01-30 16:54:54.105 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:54.105 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:54.116 [MessageBroker-14] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:54:54.129 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:54.604 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:54:54.604 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:54:54.616 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:54:54.665 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:54:54.665 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:54:54.677 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:54:57.637 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/ai/tasks/submit +2026-01-30 16:54:57.638 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:54:57.652 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:57.652 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:57.664 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:57.664 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:54:57.664 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:54:57.688 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 提交AI任务,模型: sc_sora2_text_portrait_15s_small, 提示词长度: 241, 是否图生视频: false +2026-01-30 16:54:57.705 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-01-30 16:54:57.705 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: sc_sora2_text_portrait_15s_small(String) +2026-01-30 16:54:57.718 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-01-30 16:54:57.719 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:57.719 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:57.731 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-01-30 16:54:57.731 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-01-30 16:54:57.731 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: -150(Integer), 17563793187762127(Long), -150(Integer) +2026-01-30 16:54:57.754 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-01-30 16:54:57.755 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-01-30 16:54:57.756 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17563793187762127(Long), TASK-20260130165457718-3219(String), consume(String), -150(Integer), 27480(Integer), 27330(Integer), AI任务创建: sc_sora2_text_portrait_15s_small(String), 0(Integer) +2026-01-30 16:54:57.779 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-01-30 16:54:57.780 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - ==> Preparing: INSERT INTO ai_task ( task_no, user_id, model_name, task_type, provider_type, provider_task_id, provider_response, prompt, image_url, image_base64, aspect_ratio, status, progress, progress_message, points_frozen, points_consumed, result_url, error_message, queue_time, start_time, complete_time, expire_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2026-01-30 16:54:57.782 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - ==> Parameters: TASK-20260130165457718-3219(String), 17563793187762127(Long), sc_sora2_text_portrait_15s_small(String), text_to_video(String), suchuang(String), null, null, 史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)(String), null, null, 9:16(String), created(String), null, null, 150(Integer), null, null, null, null, null, null, null +2026-01-30 16:54:57.806 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - <== Updates: 1 +2026-01-30 16:54:57.806 [http-nio-8082-exec-2] INFO com.dora.service.impl.AiTaskServiceImpl - 速创任务 TASK-20260130165457718-3219 立即处理(异步) +2026-01-30 16:54:57.807 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:54:57.807 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:54:57.819 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:54:57.831 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:54:57.831 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), AI模型正在生成内容...(String), 2026-01-30T16:54:57.819647100(LocalDateTime), 3278(Long) +2026-01-30 16:54:57.855 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:54:57.855 [http-nio-8082-exec-2] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260130165457718-3219 的进度更新到目的地: /queue/tasks-progress +2026-01-30 16:54:57.860 [http-nio-8082-exec-2] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260130165457718-3219 +2026-01-30 16:54:57.864 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 开始异步调用API,任务编号: TASK-20260130165457718-3219, 模型: sc_sora2_text_portrait_15s_small, Provider类型: suchuang +2026-01-30 16:54:57.864 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:54:57.864 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:54:57.875 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-01-30 16:54:57.876 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:54:57.876 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: sc_sora2_text_portrait_15s_small(String) +2026-01-30 16:54:57.888 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-01-30 16:54:57.889 [taskExecutor-1] DEBUG com.dora.service.AIProviderService - 模型 sc_sora2_text_portrait_15s_small 使用服务商: suchuang +2026-01-30 16:54:57.889 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 任务 TASK-20260130165457718-3219 使用Provider: suchuang +2026-01-30 16:54:57.889 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-01-30 16:54:57.889 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: sc_sora2_text_portrait_15s_small(String) +2026-01-30 16:54:57.901 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-01-30 16:54:57.902 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 任务创建成功,taskNo: TASK-20260130165457718-3219, 队列位置: 0 +2026-01-30 16:54:57.949 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 获取到模型配置,modelName: sc_sora2_text_portrait_15s_small, config: {duration=15, taskType=text_to_video, size=small, aspectRatio=9:16} +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交任务,模型: sc_sora2_text_portrait_15s_small +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - === SuChuang Provider 提交任务负载数据(POST) === +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 请求类型: 【普通任务】 +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 请求URL: https://api.wuyinkeji.com/api/sora2-new/submit +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 模型类型: sora2 +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 任务类型: text_to_video +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 是否图生视频: false +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 提示词: 史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 参考图片URL: N/A (文生视频) +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 宽高比: 9:16 +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 时长: 15 秒 +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 尺寸: small +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - API密钥: GpFpub*** +2026-01-30 16:54:57.950 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - ======================================= +2026-01-30 16:54:58.541 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:54:58.541 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:54:58.545 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:54:58.545 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:54:58.557 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.557 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.557 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.557 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.568 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.569 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:54:58.569 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.569 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:54:58.569 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:54:58.569 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:54:58.570 [http-nio-8082-exec-3] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=3, size=10, status=null, taskType=text_to_video +2026-01-30 16:54:58.573 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.573 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.574 [http-nio-8082-exec-3] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:54:58.574 [http-nio-8082-exec-3] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:54:58.586 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.587 [http-nio-8082-exec-3] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:54:58.587 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.587 [http-nio-8082-exec-3] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ?, ? +2026-01-30 16:54:58.588 [http-nio-8082-exec-3] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 20(Long), 10(Integer) +2026-01-30 16:54:58.588 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.600 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.601 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.602 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:54:58.608 [http-nio-8082-exec-3] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:54:58.608 [http-nio-8082-exec-3] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 78, 当前页数量: 10 +2026-01-30 16:54:58.614 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:54:58.614 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.615 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.627 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:54:58.627 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.627 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:54:58.640 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:54:58.640 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.640 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.653 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:54:58.653 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.653 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.666 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.666 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.666 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:54:58.678 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:54:58.679 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:54:58.679 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:54:58.692 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:54:58.692 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.692 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:54:58.706 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.804 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:54:58.806 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:54:58.806 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.807 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.819 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.819 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:54:58.819 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:54:58.822 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.822 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.833 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.835 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.835 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.847 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.847 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.848 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:54:58.859 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:54:58.859 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.860 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.872 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:54:58.872 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.872 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:54:58.885 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:54:58.885 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.886 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.897 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:54:58.898 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.898 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:54:58.909 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:54:58.910 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:54:58.910 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:54:58.922 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:54:58.923 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:54:58.923 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:54:58.935 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:54:58.935 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:54:58.935 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:54:58.947 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:54:59.095 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:54:59.096 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:54:59.109 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:54:59.704 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交任务响应: {"code":200,"data":{"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":1.525344,"ip":"122.233.104.139","msg":"成功"} +2026-01-30 16:54:59.705 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务已提交成功,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:54:59.705 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 异步任务 TASK-20260130165457718-3219 提交成功,Provider任务ID: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:54:59.705 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 异步任务 TASK-20260130165457718-3219 已提交,Provider任务ID: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:54:59.718 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:54:59.718 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:57.819647100(LocalDateTime), 3278(Long) +2026-01-30 16:54:59.745 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:54:59.745 [taskExecutor-1] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260130165457718-3219 的进度更新到目的地: /queue/tasks-progress +2026-01-30 16:54:59.745 [taskExecutor-1] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260130165457718-3219 +2026-01-30 16:54:59.745 [taskExecutor-1] INFO com.dora.service.impl.NotificationServiceImpl - 任务进度通知已发送 - 用户: 17563793187762127, 任务: TASK-20260130165457718-3219, 状态: processing, 进度: 20% +2026-01-30 16:54:59.745 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 异步任务 TASK-20260130165457718-3219 状态已更新,等待轮询获取结果 +2026-01-30 16:54:59.745 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 异步任务 TASK-20260130165457718-3219 已提交,保持处理槽位直到轮询完成 +2026-01-30 16:55:03.502 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:55:03.503 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:55:03.505 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:03.505 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:03.518 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.518 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.518 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.519 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.531 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.531 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.531 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:03.531 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:03.532 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:03.532 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:03.532 [http-nio-8082-exec-8] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=image_to_video +2026-01-30 16:55:03.533 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:55:03.534 [http-nio-8082-exec-5] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:55:03.534 [http-nio-8082-exec-5] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:55:03.535 [http-nio-8082-exec-8] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:55:03.535 [http-nio-8082-exec-8] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), image_to_video(String) +2026-01-30 16:55:03.544 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:55:03.545 [http-nio-8082-exec-5] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:55:03.545 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:55:03.548 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:03.548 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.548 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.549 [http-nio-8082-exec-8] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:55:03.549 [http-nio-8082-exec-8] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:55:03.549 [http-nio-8082-exec-8] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), image_to_video(String), 10(Integer) +2026-01-30 16:55:03.561 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.561 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:03.561 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:03.563 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:55:03.564 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:55:03.564 [http-nio-8082-exec-8] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:55:03.566 [http-nio-8082-exec-8] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 56, 当前页数量: 10 +2026-01-30 16:55:03.576 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:55:03.760 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:55:03.764 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:03.764 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.764 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.778 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.778 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:03.778 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:03.779 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.781 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.794 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.794 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.795 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.806 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.806 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:03.807 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:03.819 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:03.819 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:03.819 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.832 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:03.832 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:03.832 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:03.844 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:03.844 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:03.845 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.856 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:03.856 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.856 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:03.868 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:03.868 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:03.869 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:03.879 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:03.879 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:55:03.879 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:55:03.894 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:55:03.895 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:03.895 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:55:03.906 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:55:04.084 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:04.084 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:04.103 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:05.397 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:55:05.400 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:05.410 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:05.412 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:05.424 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:05.424 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:05.424 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:05.426 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:55:05.426 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:55:05.438 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:55:09.095 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:09.095 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:09.109 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:14.098 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:14.098 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:14.112 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:14.701 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:55:14.702 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:55:14.714 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:55:15.760 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:55:15.761 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:15.774 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:15.774 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:15.785 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:15.786 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:15.786 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:15.814 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:55:15.814 [http-nio-8082-exec-1] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:55:15.814 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:55:15.814 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:55:15.826 [http-nio-8082-exec-1] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:55:15.826 [http-nio-8082-exec-1] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:55:16.340 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/plaza/works/list +2026-01-30 16:55:16.342 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:16.353 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:16.354 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:16.364 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:16.364 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:16.366 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:16.368 [http-nio-8082-exec-2] INFO com.dora.service.impl.PlazaServiceImpl - 查询广场作品列表,taskType: null, sortBy: latest, page: 1, size: 20 +2026-01-30 16:55:16.369 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - ==> Preparing: SELECT pw.id, pw.work_no, pw.user_id, pw.task_no, pw.task_type, pw.model_name, pw.prompt, pw.result_url, pw.image_url, pw.aspect_ratio, pw.title, pw.description, pw.tags, pw.view_count, pw.like_count, pw.share_count, pw.comment_count, pw.is_public, pw.status, pw.create_time, pw.update_time, u.username as nickname, u.avatar_url, UNIX_TIMESTAMP(pw.create_time) as score FROM plaza_work pw LEFT JOIN user u ON pw.user_id = u.id WHERE pw.status = 'published' AND pw.audit_status = 'approved' AND pw.is_public = 1 AND pw.is_deleted = 0 ORDER BY score DESC LIMIT ?, ? +2026-01-30 16:55:16.370 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - ==> Parameters: 0(Integer), 20(Integer) +2026-01-30 16:55:16.372 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-30 16:55:16.376 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:16.388 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:16.388 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:16.394 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - <== Total: 20 +2026-01-30 16:55:16.394 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - ==> Preparing: SELECT COUNT(*) FROM plaza_work WHERE status = 'published' AND audit_status = 'approved' AND is_public = 1 AND is_deleted = 0 +2026-01-30 16:55:16.394 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - ==> Parameters: +2026-01-30 16:55:16.401 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:16.401 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:16.401 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:16.401 [http-nio-8082-exec-3] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-30 16:55:16.401 [http-nio-8082-exec-3] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-30 16:55:16.402 [http-nio-8082-exec-3] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-30 16:55:16.402 [http-nio-8082-exec-3] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-30 16:55:16.406 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - <== Total: 1 +2026-01-30 16:55:16.409 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PlazaWorkLikeMapper.findLikedWorkIds - ==> Preparing: SELECT work_id FROM plaza_work_like WHERE user_id = ? AND work_id IN ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ) +2026-01-30 16:55:16.409 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PlazaWorkLikeMapper.findLikedWorkIds - ==> Parameters: 17563793187762127(Long), 67(Long), 66(Long), 65(Long), 64(Long), 63(Long), 62(Long), 61(Long), 60(Long), 59(Long), 58(Long), 57(Long), 56(Long), 55(Long), 54(Long), 53(Long), 52(Long), 51(Long), 50(Long), 49(Long), 48(Long) +2026-01-30 16:55:16.414 [http-nio-8082-exec-3] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-30 16:55:16.421 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PlazaWorkLikeMapper.findLikedWorkIds - <== Total: 4 +2026-01-30 16:55:17.149 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:55:17.149 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:55:17.149 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:55:17.152 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:17.152 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:17.152 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:17.164 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.164 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.164 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.164 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.167 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.168 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.177 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.177 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:17.177 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.177 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:17.177 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:17.177 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:17.178 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 16:55:17.178 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:55:17.178 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:55:17.179 [http-nio-8082-exec-5] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:55:17.181 [http-nio-8082-exec-5] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:55:17.183 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.183 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:17.183 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:17.185 [http-nio-8082-exec-7] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:55:17.185 [http-nio-8082-exec-7] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:55:17.190 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:55:17.192 [http-nio-8082-exec-5] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:55:17.194 [http-nio-8082-exec-5] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:55:17.194 [http-nio-8082-exec-5] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 16:55:17.202 [http-nio-8082-exec-7] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:55:17.211 [http-nio-8082-exec-5] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:55:17.211 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 78, 当前页数量: 10 +2026-01-30 16:55:17.758 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:55:17.760 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:17.772 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.773 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.786 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.786 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:17.786 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:17.788 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.788 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.801 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.802 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.802 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.814 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.814 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:17.814 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:17.827 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:17.827 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:17.828 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.840 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:17.840 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:17.840 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:17.853 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:17.854 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:17.854 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.866 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:17.866 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.866 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:17.879 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:17.880 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:17.880 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:17.892 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:17.892 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:55:17.892 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:55:17.906 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:55:17.906 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:17.907 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:55:17.919 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:55:19.108 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:19.108 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:19.122 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:23.555 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:55:23.556 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:23.568 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:23.568 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:23.580 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:23.581 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:23.581 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:23.582 [http-nio-8082-exec-10] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:55:23.582 [http-nio-8082-exec-10] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:55:23.582 [http-nio-8082-exec-10] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:55:23.593 [http-nio-8082-exec-10] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:55:23.593 [http-nio-8082-exec-10] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:55:24.108 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:24.109 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:24.122 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:24.224 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:55:24.226 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:24.226 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:24.227 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:24.238 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:24.238 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:24.238 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:24.240 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:24.240 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:24.252 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:24.253 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:24.253 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:24.265 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:24.265 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:24.266 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:24.277 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:24.278 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:24.278 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:24.290 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:24.290 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:24.290 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:24.301 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:24.302 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:24.302 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:24.313 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:24.314 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:24.314 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:24.325 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:24.326 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:24.326 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:24.337 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:24.337 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:55:24.339 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:55:24.350 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:55:24.351 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:24.351 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:55:24.363 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:55:24.620 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:55:24.621 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:55:24.633 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:55:24.634 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:55:24.634 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:55:24.635 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:55:24.635 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:55:24.635 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:55:25.230 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.561869,"ip":"122.233.104.139"} +2026-01-30 16:55:25.237 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:55:25.237 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:55:25.237 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:55:25.250 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:55:25.250 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:55:25.275 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:55:25.275 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 0 分钟 +2026-01-30 16:55:29.103 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:29.103 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:29.116 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:34.105 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:34.105 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:34.118 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:34.736 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:55:34.737 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:55:34.749 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:55:39.104 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:39.104 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:39.119 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:43.603 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:55:43.605 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:43.616 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:43.616 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:43.628 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:43.629 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:43.629 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:43.629 [http-nio-8082-exec-6] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:55:43.630 [http-nio-8082-exec-6] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:55:43.630 [http-nio-8082-exec-6] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:55:43.642 [http-nio-8082-exec-6] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:55:43.642 [http-nio-8082-exec-6] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:55:44.095 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:44.095 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:44.108 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:44.270 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:55:44.272 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:55:44.272 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:44.273 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:44.285 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:44.285 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:55:44.285 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:55:44.286 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:44.286 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:44.299 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:44.299 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:44.300 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:44.311 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:44.311 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:44.312 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:44.324 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:44.324 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:44.324 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:44.336 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:44.336 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:44.336 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:44.347 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:44.348 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:44.348 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:44.360 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:55:44.360 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:44.360 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:55:44.372 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:55:44.373 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:55:44.373 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:55:44.385 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:55:44.385 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:55:44.385 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:55:44.397 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:55:44.397 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:55:44.397 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:55:44.409 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:55:49.101 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:49.101 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:49.114 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:54.098 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:54.098 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:54.098 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:55:54.098 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:45:54.086670200(LocalDateTime) +2026-01-30 16:55:54.110 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:55:54.110 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:55:54.765 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:55:54.766 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:55:54.777 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:55:55.294 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:55:55.295 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:55:55.306 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:55:55.307 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:55:55.307 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:55:55.307 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:55:55.307 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:55:55.307 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:55:55.871 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.518031,"ip":"122.233.104.139"} +2026-01-30 16:55:55.871 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:55:55.871 [MessageBroker-9] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:55:55.871 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:55:55.883 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:55:55.883 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:55:55.907 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:55:55.907 [MessageBroker-9] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 0 分钟 +2026-01-30 16:55:59.103 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:55:59.103 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:55:59.117 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:03.656 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:56:03.657 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:56:03.670 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:03.670 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:03.683 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:03.683 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:56:03.683 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:56:03.684 [http-nio-8082-exec-3] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:56:03.685 [http-nio-8082-exec-3] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:56:03.685 [http-nio-8082-exec-3] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:56:03.697 [http-nio-8082-exec-3] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:56:03.698 [http-nio-8082-exec-3] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:56:04.105 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:04.105 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:04.119 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:04.329 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:56:04.331 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:56:04.331 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:04.331 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:04.342 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:04.344 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:56:04.344 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:56:04.345 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:04.345 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:04.359 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:04.359 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:04.359 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:04.370 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:04.371 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:04.371 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:04.382 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:04.383 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:04.383 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:04.393 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:56:04.395 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:04.395 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:04.407 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:04.407 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:04.407 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:04.418 [http-nio-8082-exec-2] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:56:04.419 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:04.419 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:04.431 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:04.431 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:04.432 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:04.442 [http-nio-8082-exec-2] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:04.444 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:56:04.444 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:56:04.456 [http-nio-8082-exec-2] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:56:04.456 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:04.456 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:56:04.467 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:56:09.100 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:09.100 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:09.114 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:14.099 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:14.099 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:14.113 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:14.797 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:56:14.797 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:56:14.808 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:56:19.095 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:19.095 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:19.110 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:23.717 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:56:23.718 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:56:23.731 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:23.731 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:23.744 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:23.744 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:56:23.744 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:56:23.745 [http-nio-8082-exec-4] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:56:23.746 [http-nio-8082-exec-4] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:56:23.746 [http-nio-8082-exec-4] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:56:23.758 [http-nio-8082-exec-4] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:56:23.758 [http-nio-8082-exec-4] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:56:24.088 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:24.088 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:24.103 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:24.390 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:56:24.390 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:56:24.405 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:24.405 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:24.422 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:24.423 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:56:24.423 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:56:24.424 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:24.424 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:24.440 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:24.440 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:24.440 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:24.455 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:24.456 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:24.456 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:24.471 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:24.471 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:24.471 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:24.487 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:56:24.487 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:24.488 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:24.503 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:24.503 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:24.504 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:24.518 [http-nio-8082-exec-7] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:56:24.518 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:24.518 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:24.533 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:24.533 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:24.535 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:24.550 [http-nio-8082-exec-7] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:24.550 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:56:24.550 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:56:24.566 [http-nio-8082-exec-7] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:56:24.566 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:24.566 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:56:24.580 [http-nio-8082-exec-7] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:56:25.928 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:56:25.929 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:56:25.942 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:56:25.942 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:56:25.942 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:56:25.942 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:56:25.942 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:56:25.942 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:56:26.455 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.462698,"ip":"122.233.104.139"} +2026-01-30 16:56:26.455 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:56:26.455 [MessageBroker-10] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:56:26.456 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:56:26.468 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:56:26.468 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:56:26.494 [MessageBroker-10] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:56:26.495 [MessageBroker-10] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 1 分钟 +2026-01-30 16:56:29.107 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:29.107 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:29.121 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:34.097 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:34.097 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:34.110 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:34.829 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:56:34.829 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:56:34.841 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:56:39.098 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:39.098 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:39.111 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:43.773 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:56:43.775 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:56:43.785 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:43.785 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:43.798 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:43.798 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:56:43.798 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:56:43.798 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:56:43.798 [http-nio-8082-exec-5] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:56:43.800 [http-nio-8082-exec-5] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:56:43.812 [http-nio-8082-exec-5] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:56:43.812 [http-nio-8082-exec-5] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:56:44.096 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:44.097 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:44.110 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:44.441 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:56:44.443 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:56:44.455 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:44.455 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:44.468 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:44.468 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:56:44.469 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:56:44.469 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:44.469 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:44.482 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:44.482 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:44.483 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:44.496 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:44.496 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:44.496 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:44.507 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:44.508 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:44.508 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:44.520 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:56:44.521 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:44.521 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:44.533 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:44.533 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:44.534 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:44.546 [http-nio-8082-exec-8] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:56:44.546 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:44.547 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:56:44.560 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:56:44.560 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:56:44.560 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:56:44.573 [http-nio-8082-exec-8] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:56:44.573 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:56:44.574 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:56:44.586 [http-nio-8082-exec-8] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:56:44.587 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:56:44.587 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:56:44.598 [http-nio-8082-exec-8] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:56:49.105 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:49.105 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:49.118 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:54.108 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:54.109 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:54.109 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:56:54.109 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:46:54.097502200(LocalDateTime) +2026-01-30 16:56:54.121 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:56:54.122 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:56:54.868 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:56:54.868 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:56:54.881 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:56:56.518 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:56:56.518 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:56:56.529 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:56:56.530 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:56:56.530 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:56:56.530 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:56:56.530 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:56:56.530 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:56:57.113 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.514432,"ip":"122.233.104.139"} +2026-01-30 16:56:57.114 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:56:57.114 [MessageBroker-6] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:56:57.114 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:56:57.125 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:56:57.125 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:56:57.151 [MessageBroker-6] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:56:57.151 [MessageBroker-6] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 2 分钟 +2026-01-30 16:56:59.100 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:56:59.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:56:59.114 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:03.822 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260130165457718-3219 +2026-01-30 16:57:03.823 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:03.835 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:03.835 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:03.847 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:03.848 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:03.848 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:03.849 [http-nio-8082-exec-10] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260130165457718-3219 +2026-01-30 16:57:03.849 [http-nio-8082-exec-10] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-01-30 16:57:03.849 [http-nio-8082-exec-10] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260130165457718-3219(String) +2026-01-30 16:57:03.861 [http-nio-8082-exec-10] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-01-30 16:57:03.861 [http-nio-8082-exec-10] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260130165457718-3219, status: processing +2026-01-30 16:57:04.095 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:04.095 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:04.109 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:04.486 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:57:04.488 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:04.488 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:04.488 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:04.501 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:04.501 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:04.501 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:04.502 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:04.503 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:04.514 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:04.515 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:04.515 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:04.527 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:04.527 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:04.527 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:04.538 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:04.538 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:04.538 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:04.550 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:57:04.551 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:04.551 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:04.562 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:04.562 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:04.563 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:04.574 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:57:04.574 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:04.574 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:04.586 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:04.587 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:04.587 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:04.598 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:04.598 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:57:04.598 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:57:04.610 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:57:04.611 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:04.611 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:57:04.623 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:57:07.717 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:57:07.718 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:07.731 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:07.731 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:07.744 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:07.744 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:07.744 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:07.745 [http-nio-8082-exec-6] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:57:07.745 [http-nio-8082-exec-6] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:57:07.745 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:57:07.745 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:57:07.757 [http-nio-8082-exec-6] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:57:07.757 [http-nio-8082-exec-6] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:57:08.095 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:57:08.096 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:08.097 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.097 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.109 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.109 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:08.109 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:08.110 [http-nio-8082-exec-1] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:57:08.111 [http-nio-8082-exec-1] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:57:08.123 [http-nio-8082-exec-1] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:57:08.338 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:57:08.338 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:57:08.338 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:57:08.341 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:08.341 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:08.341 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:08.341 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.341 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.353 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.353 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.353 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:08.353 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.353 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:08.354 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 16:57:08.355 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.356 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.356 [http-nio-8082-exec-2] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:57:08.356 [http-nio-8082-exec-2] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:57:08.365 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.365 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:08.365 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:08.366 [http-nio-8082-exec-3] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:57:08.366 [http-nio-8082-exec-3] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:57:08.369 [http-nio-8082-exec-2] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:57:08.369 [http-nio-8082-exec-2] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:57:08.369 [http-nio-8082-exec-2] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 16:57:08.372 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.372 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:08.372 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:08.373 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.373 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.379 [http-nio-8082-exec-3] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:57:08.385 [http-nio-8082-exec-2] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:57:08.386 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 78, 当前页数量: 10 +2026-01-30 16:57:08.388 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.388 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.388 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.404 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.405 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:08.405 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:08.421 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:08.421 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:08.421 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.437 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:57:08.437 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:08.437 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:08.452 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:08.453 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:08.453 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.468 [http-nio-8082-exec-4] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:57:08.468 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.468 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:08.483 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:08.483 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:08.485 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:08.500 [http-nio-8082-exec-4] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:08.500 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:57:08.500 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:57:08.516 [http-nio-8082-exec-4] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:57:08.516 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:08.517 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:57:08.532 [http-nio-8082-exec-4] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:57:09.101 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:09.101 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:09.115 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:09.638 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:57:09.640 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:09.655 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:09.656 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:09.671 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:09.671 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:09.671 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:09.672 [http-nio-8082-exec-7] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:57:09.672 [http-nio-8082-exec-7] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:57:09.672 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:57:09.673 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:57:09.688 [http-nio-8082-exec-7] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:57:09.689 [http-nio-8082-exec-7] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:57:10.224 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/plaza/works/list +2026-01-30 16:57:10.225 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:10.237 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:10.237 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:10.249 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:10.250 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:10.250 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:10.251 [http-nio-8082-exec-5] INFO com.dora.service.impl.PlazaServiceImpl - 查询广场作品列表,taskType: null, sortBy: latest, page: 1, size: 20 +2026-01-30 16:57:10.251 [http-nio-8082-exec-5] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - ==> Preparing: SELECT pw.id, pw.work_no, pw.user_id, pw.task_no, pw.task_type, pw.model_name, pw.prompt, pw.result_url, pw.image_url, pw.aspect_ratio, pw.title, pw.description, pw.tags, pw.view_count, pw.like_count, pw.share_count, pw.comment_count, pw.is_public, pw.status, pw.create_time, pw.update_time, u.username as nickname, u.avatar_url, UNIX_TIMESTAMP(pw.create_time) as score FROM plaza_work pw LEFT JOIN user u ON pw.user_id = u.id WHERE pw.status = 'published' AND pw.audit_status = 'approved' AND pw.is_public = 1 AND pw.is_deleted = 0 ORDER BY score DESC LIMIT ?, ? +2026-01-30 16:57:10.251 [http-nio-8082-exec-5] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - ==> Parameters: 0(Integer), 20(Integer) +2026-01-30 16:57:10.257 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/banner/list +2026-01-30 16:57:10.258 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:10.266 [http-nio-8082-exec-5] DEBUG c.dora.mapper.PlazaWorkMapper.findPublicWorksList - <== Total: 20 +2026-01-30 16:57:10.266 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - ==> Preparing: SELECT COUNT(*) FROM plaza_work WHERE status = 'published' AND audit_status = 'approved' AND is_public = 1 AND is_deleted = 0 +2026-01-30 16:57:10.267 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - ==> Parameters: +2026-01-30 16:57:10.271 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:10.271 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:10.278 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PlazaWorkMapper.countPublicWorks - <== Total: 1 +2026-01-30 16:57:10.280 [http-nio-8082-exec-5] DEBUG c.dora.mapper.PlazaWorkLikeMapper.findLikedWorkIds - ==> Preparing: SELECT work_id FROM plaza_work_like WHERE user_id = ? AND work_id IN ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ) +2026-01-30 16:57:10.280 [http-nio-8082-exec-5] DEBUG c.dora.mapper.PlazaWorkLikeMapper.findLikedWorkIds - ==> Parameters: 17563793187762127(Long), 67(Long), 66(Long), 65(Long), 64(Long), 63(Long), 62(Long), 61(Long), 60(Long), 59(Long), 58(Long), 57(Long), 56(Long), 55(Long), 54(Long), 53(Long), 52(Long), 51(Long), 50(Long), 49(Long), 48(Long) +2026-01-30 16:57:10.283 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:10.284 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:10.284 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:10.285 [http-nio-8082-exec-8] INFO com.dora.controller.BannerController - 获取Banner列表 +2026-01-30 16:57:10.285 [http-nio-8082-exec-8] INFO com.dora.service.impl.BannerServiceImpl - 查询所有启用的Banner列表 +2026-01-30 16:57:10.285 [http-nio-8082-exec-8] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Preparing: SELECT id, image, title, description, button_text, link_type, link, sort_order, is_enabled, create_time, update_time, is_deleted FROM banner WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC +2026-01-30 16:57:10.285 [http-nio-8082-exec-8] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - ==> Parameters: +2026-01-30 16:57:10.292 [http-nio-8082-exec-5] DEBUG c.dora.mapper.PlazaWorkLikeMapper.findLikedWorkIds - <== Total: 4 +2026-01-30 16:57:10.298 [http-nio-8082-exec-8] DEBUG com.dora.mapper.BannerMapper.selectAllEnabled - <== Total: 5 +2026-01-30 16:57:14.102 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:14.102 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:14.114 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:14.899 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:57:14.899 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:57:14.911 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:57:19.097 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:19.097 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:19.109 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:24.108 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:24.108 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:24.123 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:27.163 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:57:27.163 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:57:27.176 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:57:27.176 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:57:27.176 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:57:27.176 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:57:27.176 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:57:27.176 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:57:27.820 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.598209,"ip":"122.233.104.139"} +2026-01-30 16:57:27.820 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:57:27.820 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:57:27.820 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:57:27.832 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:57:27.832 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:57:27.857 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:57:27.857 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 2 分钟 +2026-01-30 16:57:29.103 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:29.103 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:29.116 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:34.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:34.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:34.115 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:34.122 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:57:34.122 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:57:34.123 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:34.123 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:34.124 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.124 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.135 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.136 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.136 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.136 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:34.137 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:34.137 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:57:34.137 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:57:34.148 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.148 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:34.148 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:34.150 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:57:34.150 [http-nio-8082-exec-9] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:57:34.150 [http-nio-8082-exec-9] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:57:34.164 [http-nio-8082-exec-9] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:57:34.746 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:57:34.746 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:57:34.747 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:34.747 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:57:34.759 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.759 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.759 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.759 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.771 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.771 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.771 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:34.771 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:57:34.771 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:34.771 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:57:34.772 [http-nio-8082-exec-6] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 16:57:34.772 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.772 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.774 [http-nio-8082-exec-6] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:57:34.774 [http-nio-8082-exec-6] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:57:34.784 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.784 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.785 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.787 [http-nio-8082-exec-6] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:57:34.787 [http-nio-8082-exec-6] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:57:34.787 [http-nio-8082-exec-6] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 16:57:34.795 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.797 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:34.797 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:34.804 [http-nio-8082-exec-6] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:57:34.804 [http-nio-8082-exec-6] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 78, 当前页数量: 10 +2026-01-30 16:57:34.808 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:34.808 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:34.808 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.819 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:57:34.819 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:34.819 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:34.832 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:34.833 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:34.833 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.845 [http-nio-8082-exec-1] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:57:34.845 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.845 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:57:34.857 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.857 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:57:34.857 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:57:34.868 [http-nio-8082-exec-1] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:57:34.869 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:57:34.869 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:57:34.881 [http-nio-8082-exec-1] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:57:34.882 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:57:34.882 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:57:34.894 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:57:34.913 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:57:34.913 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:57:34.925 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:57:39.104 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:39.104 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:39.118 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:44.097 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:44.098 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:44.111 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:49.097 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:49.097 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:49.111 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:54.095 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:57:54.097 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:47:54.085461900(LocalDateTime) +2026-01-30 16:57:54.097 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:54.097 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:54.108 [MessageBroker-2] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:57:54.110 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:57:54.948 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:57:54.948 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:57:54.961 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:57:57.879 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:57:57.879 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:57:57.892 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:57:57.892 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:57:57.892 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:57:57.892 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:57:57.892 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:57:57.892 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:57:58.528 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.517289,"ip":"122.233.104.139"} +2026-01-30 16:57:58.529 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:57:58.529 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:57:58.529 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:57:58.540 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:57:58.541 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:57:58.566 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:57:58.566 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 3 分钟 +2026-01-30 16:57:59.098 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:57:59.098 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:57:59.112 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:04.099 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:04.100 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:04.113 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:09.096 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:09.097 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:09.109 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:14.108 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:14.109 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:14.122 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:14.978 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:58:14.978 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:58:14.990 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:58:19.104 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:19.105 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:19.118 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:24.094 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:24.095 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:24.107 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:28.579 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:58:28.579 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:58:28.592 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:58:28.592 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:58:28.592 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:58:28.592 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:58:28.592 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:58:28.592 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:58:29.105 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:29.105 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:29.118 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:29.154 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.463186,"ip":"122.233.104.139"} +2026-01-30 16:58:29.155 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:58:29.155 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:58:29.155 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:58:29.166 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:58:29.167 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:58:29.192 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:58:29.193 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 3 分钟 +2026-01-30 16:58:34.107 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:34.107 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:34.121 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:35.005 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:58:35.005 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:58:35.016 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:58:39.107 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:39.107 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:39.120 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:44.095 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:44.097 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:44.110 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:49.104 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:49.104 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:49.117 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:54.101 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:58:54.102 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:54.102 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:48:54.090228700(LocalDateTime) +2026-01-30 16:58:54.102 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:54.114 [MessageBroker-1] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:58:54.115 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:55.031 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:58:55.031 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:58:55.042 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:58:59.109 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:58:59.109 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:58:59.123 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:58:59.216 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:58:59.216 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:58:59.228 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:58:59.228 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:58:59.228 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:58:59.228 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:58:59.228 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:58:59.228 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:58:59.716 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":0,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:54:57","remote_url":"","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":null,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.452354,"ip":"122.233.104.139"} +2026-01-30 16:58:59.716 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=0, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:58:59.717 [MessageBroker-11] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=0, mappedStatus=QUEUED, error=null +2026-01-30 16:58:59.717 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: QUEUED +2026-01-30 16:58:59.717 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:58:59.718 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 2026-01-30T16:54:58(LocalDateTime), 3278(Long) +2026-01-30 16:58:59.742 [MessageBroker-11] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:58:59.742 [MessageBroker-11] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260130165457718-3219, 状态: QUEUED, 已运行 4 分钟 +2026-01-30 16:59:04.095 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:04.095 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:04.109 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:09.095 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:09.095 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:09.108 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:14.108 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:14.108 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:14.121 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:15.066 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:59:15.066 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:59:15.078 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:59:19.102 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:19.102 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:19.114 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:24.102 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:24.103 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:24.115 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:29.097 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:29.097 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:29.110 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:29.766 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:59:29.766 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 16:59:29.779 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-01-30 16:59:29.779 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260130165457718-3219(providerTaskId:3369b1b4-bc09-4a07-a2ba-59c7b718ed39) +2026-01-30 16:59:29.779 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39, 模型: sc_sora2_text_portrait_15s_small, 创建时间: 2026-01-30T16:54:56 +2026-01-30 16:59:29.779 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260130165457718-3219, 调用queryTaskStatus... +2026-01-30 16:59:29.779 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:59:29.779 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:59:30.350 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":1,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:59:11","remote_url":"https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":"https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4","id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.514648,"ip":"122.233.104.139"} +2026-01-30 16:59:30.350 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询状态解析后(已解码): taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, status=1, content=史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况) +2026-01-30 16:59:30.350 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 任务状态: taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, scStatus=1, mappedStatus=SUCCESS, error=null +2026-01-30 16:59:30.350 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260130165457718-3219, 状态: SUCCESS +2026-01-30 16:59:30.350 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创yo任务成功】任务: TASK-20260130165457718-3219, 开始获取结果 +2026-01-30 16:59:30.350 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创成功处理开始】任务: TASK-20260130165457718-3219, providerTaskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:59:30.350 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创获取结果】任务: TASK-20260130165457718-3219, 调用getTaskResult... +2026-01-30 16:59:30.350 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 获取任务结果,taskId: 3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:59:30.351 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 获取结果请求: URL=https://api.wuyinkeji.com/api/sora2/detail?id=3369b1b4-bc09-4a07-a2ba-59c7b718ed39, taskId=3369b1b4-bc09-4a07-a2ba-59c7b718ed39 +2026-01-30 16:59:31.267 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 获取结果原始响应: {"code":200,"msg":"成功","data":{"content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","status":1,"fail_reason":null,"created_at":"2026-01-30 16:54:57","updated_at":"2026-01-30 16:59:11","remote_url":"https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4","size":"small","duration":15,"aspectRatio":"9:16","url":"","pid":null,"remixTargetId":"","transfer_url":"https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4","id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39"},"exec_time":0.877563,"ip":"122.233.104.139"} +2026-01-30 16:59:31.274 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 获取结果解析后(已解码): {"code":200,"data":{"aspectRatio":"9:16","content":"史诗电影镜头,鎏金神龙在厚重云层中舒展身姿,龙角锋利带霜、龙尾扫过处云层散开如浪,龙脚细节清晰立体—— 四爪遒劲张开,爪尖锋利带寒光,鳞片覆盖至爪根且纹理分明,挥爪时肌肉线条紧绷,抓握云层的动作有力逼真。整体色调偏暖金与深灰对比,云层兼具写实质感与写意朦胧感,光影从云层缝隙中穿透,重点照亮龙身及龙脚细节,突出龙的威严与神秘感。画风参考《指环王》《长城》史诗场景,运镜流畅、景深分明,无多余元素干扰主体,8K 分辨率、电影级光影渲染。时长要求15秒。(要求龙不能出现打结等抽象情况)","created_at":"2026-01-30 16:54:57","duration":15,"id":"3369b1b4-bc09-4a07-a2ba-59c7b718ed39","remixTargetId":"","remote_url":"https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4","size":"small","status":1,"transfer_url":"https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4","updated_at":"2026-01-30 16:59:11","url":""},"exec_time":0.877563,"ip":"122.233.104.139","msg":"成功"} +2026-01-30 16:59:31.275 [MessageBroker-7] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 成功获取结果文件: https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4 +2026-01-30 16:59:31.275 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创结果文件】任务: TASK-20260130165457718-3219, 文件数量: 1, 主文件URL: https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4 +2026-01-30 16:59:31.275 [MessageBroker-7] INFO com.dora.service.ResultFileTransferService - 开始转存文件到COS - 任务: TASK-20260130165457718-3219, 源URL: https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4 +2026-01-30 16:59:31.275 [MessageBroker-7] INFO com.dora.service.ResultFileTransferService - 开始下载文件(尝试 1/3): https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4 +2026-01-30 16:59:34.098 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:34.100 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:34.113 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:35.102 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:59:35.102 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:59:35.118 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:59:36.967 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 16:59:36.969 [http-nio-8082-exec-3] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:59:36.981 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:36.981 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 16:59:36.993 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 16:59:37.006 [http-nio-8082-exec-3] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 16:59:37.006 [http-nio-8082-exec-3] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 16:59:37.415 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 16:59:37.415 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:59:37.415 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 16:59:37.415 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 16:59:37.416 [http-nio-8082-exec-2] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:59:37.416 [http-nio-8082-exec-4] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:59:37.416 [http-nio-8082-exec-7] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:59:37.416 [http-nio-8082-exec-5] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 16:59:37.416 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.416 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.427 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.427 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.427 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.428 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.429 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.429 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:59:37.429 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:59:37.429 [http-nio-8082-exec-2] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:59:37.431 [http-nio-8082-exec-2] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 16:59:37.432 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.432 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.439 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.439 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:59:37.439 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:59:37.439 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.439 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:59:37.439 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:59:37.440 [http-nio-8082-exec-7] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 16:59:37.440 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.440 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.442 [http-nio-8082-exec-7] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 16:59:37.442 [http-nio-8082-exec-7] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 16:59:37.442 [http-nio-8082-exec-2] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:59:37.447 [http-nio-8082-exec-4] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.447 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 16:59:37.447 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 16:59:37.448 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 16:59:37.448 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 16:59:37.450 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.451 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.451 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.454 [http-nio-8082-exec-7] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 16:59:37.455 [http-nio-8082-exec-7] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 16:59:37.455 [http-nio-8082-exec-7] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 16:59:37.462 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.462 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:59:37.463 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:59:37.464 [http-nio-8082-exec-4] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 16:59:37.470 [http-nio-8082-exec-7] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 16:59:37.470 [http-nio-8082-exec-7] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 78, 当前页数量: 10 +2026-01-30 16:59:37.473 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:59:37.474 [http-nio-8082-exec-5] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:59:37.474 [http-nio-8082-exec-5] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.485 [http-nio-8082-exec-5] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:59:37.485 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:59:37.485 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:59:37.496 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:59:37.496 [http-nio-8082-exec-5] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:59:37.497 [http-nio-8082-exec-5] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.507 [http-nio-8082-exec-5] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 16:59:37.507 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.508 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 16:59:37.518 [http-nio-8082-exec-5] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.519 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 16:59:37.519 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 16:59:37.529 [http-nio-8082-exec-5] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 16:59:37.530 [http-nio-8082-exec-5] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 16:59:37.531 [http-nio-8082-exec-5] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 16:59:37.542 [http-nio-8082-exec-5] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 16:59:37.542 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 16:59:37.542 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 16:59:37.553 [http-nio-8082-exec-5] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 16:59:37.757 [MessageBroker-7] INFO com.dora.service.ResultFileTransferService - 文件下载成功,大小: 12058844 bytes +2026-01-30 16:59:37.761 [MessageBroker-7] WARN com.qcloud.cos.COSClient - No content length specified for stream data. Stream contents will be buffered in memory and could result in out of memory errors. +2026-01-30 16:59:38.831 [MessageBroker-7] INFO com.dora.service.ResultFileTransferService - 文件转存成功 - 任务: TASK-20260130165457718-3219, COS URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260130165457718-3219_1769763577757.mp4 +2026-01-30 16:59:38.831 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创文件转存】任务: TASK-20260130165457718-3219, 原URL: https://tempfile.aiquickdraw.com/f/d3f68baaa4e187cb98952f2c18b7e664/22bf3c72-b26c-417b-adfb-e5223dde6064.mp4, COS URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260130165457718-3219_1769763577757.mp4 +2026-01-30 16:59:38.842 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, points_consumed = ?, result_url = ?, start_time = ?, complete_time = ?, update_time = NOW() WHERE id = ? +2026-01-30 16:59:38.843 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: completed(String), 100(Integer), 任务已完成(String), 3369b1b4-bc09-4a07-a2ba-59c7b718ed39(String), 150(Integer), https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260130165457718-3219_1769763577757.mp4(String), 2026-01-30T16:54:58(LocalDateTime), 2026-01-30T16:59:38.831194300(LocalDateTime), 3278(Long) +2026-01-30 16:59:38.869 [MessageBroker-7] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-01-30 16:59:38.869 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260130165457718-3219 的进度更新到目的地: /queue/tasks-progress +2026-01-30 16:59:38.869 [MessageBroker-7] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260130165457718-3219 +2026-01-30 16:59:38.870 [MessageBroker-7] INFO com.dora.service.impl.NotificationServiceImpl - 任务完成通知已发送 - 用户: 17563793187762127, 任务: TASK-20260130165457718-3219, 结果URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260130165457718-3219_1769763577757.mp4 +2026-01-30 16:59:38.870 [MessageBroker-7] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创任务完成】任务: TASK-20260130165457718-3219, 结果URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260130165457718-3219_1769763577757.mp4, 消耗积分: 150 +2026-01-30 16:59:39.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:39.101 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:39.114 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:44.102 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:44.103 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:44.116 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:49.099 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:49.099 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:49.359 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:54.095 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:54.095 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:54.097 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-01-30 16:59:54.097 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-01-30T16:49:54.085395900(LocalDateTime) +2026-01-30 16:59:54.109 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-01-30 16:59:54.367 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 16:59:55.135 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 16:59:55.135 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 16:59:55.147 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 16:59:59.105 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 16:59:59.105 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 16:59:59.139 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:00.005 [MessageBroker-11] DEBUG com.dora.config.UvStatisticsConfig - 执行每小时UV数据统计检查 +2026-01-30 17:00:00.005 [MessageBroker-6] DEBUG com.dora.scheduler.ToolUsageStatsScheduler - 更新今日工具使用统计: date=2026-01-30 +2026-01-30 17:00:00.009 [MessageBroker-11] DEBUG com.dora.config.UvStatisticsConfig - 当前UV统计 - UV: 0, PV: 0 +2026-01-30 17:00:00.028 [MessageBroker-6] DEBUG c.d.m.ToolUsageLogMapper.selectStatsByTimeRange - ==> Preparing: SELECT tool_code, tool_name, COUNT(*) as total_calls, SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as success_calls, SUM(points_cost) as total_points_cost FROM tool_usage_log WHERE create_time >= ? AND create_time < ? AND is_deleted = 0 GROUP BY tool_code, tool_name +2026-01-30 17:00:00.028 [MessageBroker-6] DEBUG c.d.m.ToolUsageLogMapper.selectStatsByTimeRange - ==> Parameters: 2026-01-30T00:00(LocalDateTime), 2026-01-30T23:59:59.999999999(LocalDateTime) +2026-01-30 17:00:00.040 [MessageBroker-6] DEBUG c.d.m.ToolUsageLogMapper.selectStatsByTimeRange - <== Total: 4 +2026-01-30 17:00:00.041 [MessageBroker-6] DEBUG c.d.m.T.countUniqueUsersByTimeRange - ==> Preparing: SELECT COUNT(DISTINCT user_id) FROM tool_usage_log WHERE create_time >= ? AND create_time < ? AND is_deleted = 0 +2026-01-30 17:00:00.041 [MessageBroker-6] DEBUG c.d.m.T.countUniqueUsersByTimeRange - ==> Parameters: 2026-01-30T00:00(LocalDateTime), 2026-01-30T23:59:59.999999999(LocalDateTime) +2026-01-30 17:00:00.053 [MessageBroker-6] DEBUG c.d.m.T.countUniqueUsersByTimeRange - <== Total: 1 +2026-01-30 17:00:00.053 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Preparing: SELECT * FROM tool_config WHERE tool_code = ? AND is_deleted = 0 +2026-01-30 17:00:00.054 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Parameters: douyin_search(String) +2026-01-30 17:00:00.065 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - <== Total: 1 +2026-01-30 17:00:00.065 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Preparing: INSERT INTO tool_usage_daily_stats (stats_date, tool_id, tool_code, tool_name, total_calls, success_calls, failed_calls, total_points_cost, unique_users, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) ON DUPLICATE KEY UPDATE total_calls = ?, success_calls = ?, failed_calls = ?, total_points_cost = ?, unique_users = ?, update_time = NOW() +2026-01-30 17:00:00.065 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Parameters: 2026-01-30(LocalDate), 10(Long), douyin_search(String), 抖音搜索工具(String), 1(Integer), 1(Integer), 0(Integer), 20(Integer), 2(Integer), 1(Integer), 1(Integer), 0(Integer), 20(Integer), 2(Integer) +2026-01-30 17:00:00.089 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - <== Updates: 1 +2026-01-30 17:00:00.089 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Preparing: SELECT * FROM tool_config WHERE tool_code = ? AND is_deleted = 0 +2026-01-30 17:00:00.089 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Parameters: douyin_user_uid(String) +2026-01-30 17:00:00.101 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - <== Total: 1 +2026-01-30 17:00:00.101 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Preparing: INSERT INTO tool_usage_daily_stats (stats_date, tool_id, tool_code, tool_name, total_calls, success_calls, failed_calls, total_points_cost, unique_users, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) ON DUPLICATE KEY UPDATE total_calls = ?, success_calls = ?, failed_calls = ?, total_points_cost = ?, unique_users = ?, update_time = NOW() +2026-01-30 17:00:00.101 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Parameters: 2026-01-30(LocalDate), 13(Long), douyin_user_uid(String), 通过uid获取用户主页数据(String), 2(Integer), 2(Integer), 0(Integer), 40(Integer), 2(Integer), 2(Integer), 2(Integer), 0(Integer), 40(Integer), 2(Integer) +2026-01-30 17:00:00.124 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - <== Updates: 2 +2026-01-30 17:00:00.124 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Preparing: SELECT * FROM tool_config WHERE tool_code = ? AND is_deleted = 0 +2026-01-30 17:00:00.124 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Parameters: douyin_user_videos(String) +2026-01-30 17:00:00.136 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - <== Total: 1 +2026-01-30 17:00:00.136 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Preparing: INSERT INTO tool_usage_daily_stats (stats_date, tool_id, tool_code, tool_name, total_calls, success_calls, failed_calls, total_points_cost, unique_users, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) ON DUPLICATE KEY UPDATE total_calls = ?, success_calls = ?, failed_calls = ?, total_points_cost = ?, unique_users = ?, update_time = NOW() +2026-01-30 17:00:00.136 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Parameters: 2026-01-30(LocalDate), 1(Long), douyin_user_videos(String), 获取用户主页视频(String), 3(Integer), 3(Integer), 0(Integer), 60(Integer), 2(Integer), 3(Integer), 3(Integer), 0(Integer), 60(Integer), 2(Integer) +2026-01-30 17:00:00.159 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - <== Updates: 2 +2026-01-30 17:00:00.159 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Preparing: SELECT * FROM tool_config WHERE tool_code = ? AND is_deleted = 0 +2026-01-30 17:00:00.159 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - ==> Parameters: xiaohongshu_search_notes(String) +2026-01-30 17:00:00.171 [MessageBroker-6] DEBUG com.dora.mapper.ToolConfigMapper.selectByToolCode - <== Total: 1 +2026-01-30 17:00:00.171 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Preparing: INSERT INTO tool_usage_daily_stats (stats_date, tool_id, tool_code, tool_name, total_calls, success_calls, failed_calls, total_points_cost, unique_users, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) ON DUPLICATE KEY UPDATE total_calls = ?, success_calls = ?, failed_calls = ?, total_points_cost = ?, unique_users = ?, update_time = NOW() +2026-01-30 17:00:00.171 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - ==> Parameters: 2026-01-30(LocalDate), 4(Long), xiaohongshu_search_notes(String), 搜索笔记(String), 1(Integer), 1(Integer), 0(Integer), 20(Integer), 2(Integer), 1(Integer), 1(Integer), 0(Integer), 20(Integer), 2(Integer) +2026-01-30 17:00:00.194 [MessageBroker-6] DEBUG c.d.m.ToolUsageDailyStatsMapper.insertOrUpdate - <== Updates: 1 +2026-01-30 17:00:00.194 [MessageBroker-6] INFO com.dora.service.impl.AdminToolConfigServiceImpl - 刷新每日统计完成: date=2026-01-30, toolCount=4 +2026-01-30 17:00:04.105 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:04.105 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:04.118 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:07.447 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/wechat-qr/list +2026-01-30 17:00:07.450 [http-nio-8082-exec-8] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 17:00:07.462 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.462 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.475 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.475 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 17:00:07.475 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 17:00:07.476 [http-nio-8082-exec-8] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表 +2026-01-30 17:00:07.476 [http-nio-8082-exec-8] DEBUG com.dora.service.impl.WechatQrCodeServiceImpl - 获取所有企业微信二维码 +2026-01-30 17:00:07.476 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Preparing: SELECT id, qr_code_url, description, create_time, is_deleted FROM wechat_qr_code WHERE is_deleted = 0 ORDER BY create_time DESC +2026-01-30 17:00:07.476 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - ==> Parameters: +2026-01-30 17:00:07.489 [http-nio-8082-exec-8] DEBUG com.dora.mapper.WechatQrCodeMapper.selectAll - <== Total: 1 +2026-01-30 17:00:07.489 [http-nio-8082-exec-8] INFO com.dora.controller.WechatQrCodeController - 获取企业微信二维码列表成功,共 1 个 +2026-01-30 17:00:07.546 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 17:00:07.547 [http-nio-8082-exec-10] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 17:00:07.559 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.560 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.571 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.572 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 17:00:07.572 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 17:00:07.572 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 17:00:07.573 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), image_to_video(String) +2026-01-30 17:00:07.585 [http-nio-8082-exec-10] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 17:00:07.814 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/auth/me +2026-01-30 17:00:07.814 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-01-30 17:00:07.814 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/list +2026-01-30 17:00:07.816 [http-nio-8082-exec-9] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 17:00:07.816 [http-nio-8082-exec-1] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 17:00:07.816 [http-nio-8082-exec-6] DEBUG com.dora.service.JwtTokenManager - 用户token验证 - userId: 17563793187762127, tokenId: b6d53560-eb70-46eb-8650-f4e3c46f8fb1, valid: true +2026-01-30 17:00:07.816 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.816 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.816 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.816 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.827 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.828 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 17:00:07.828 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 17:00:07.828 [http-nio-8082-exec-6] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.828 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 17:00:07.828 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 17:00:07.829 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务列表,page=1, size=10, status=null, taskType=text_to_video +2026-01-30 17:00:07.829 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND provider_type = ? AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-01-30 17:00:07.829 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - ==> Parameters: suchuang(String), text_to_video(String) +2026-01-30 17:00:07.831 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.831 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Preparing: SELECT count(0) FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 +2026-01-30 17:00:07.831 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.831 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - ==> Parameters: 17563793187762127(Long), text_to_video(String) +2026-01-30 17:00:07.841 [http-nio-8082-exec-6] DEBUG c.d.m.PointsConfigMapper.findByProviderAndTaskType - <== Total: 14 +2026-01-30 17:00:07.842 [http-nio-8082-exec-1] DEBUG c.d.m.A.findUserTasksWithPlazaAndType_COUNT - <== Total: 1 +2026-01-30 17:00:07.842 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Preparing: SELECT at.*, pw.id as pw_id, pw.work_no as pw_work_no, pw.status as pw_status, pw.audit_status as pw_audit_status, pw.audit_time as pw_audit_time, pw.audit_remark as pw_audit_remark FROM ai_task at LEFT JOIN plaza_work pw ON at.task_no COLLATE utf8mb4_unicode_ci = pw.task_no COLLATE utf8mb4_unicode_ci AND pw.is_deleted = 0 WHERE at.user_id = ? AND at.task_type = ? AND at.is_deleted = 0 ORDER BY at.create_time DESC LIMIT ? +2026-01-30 17:00:07.842 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - ==> Parameters: 17563793187762127(Long), text_to_video(String), 10(Integer) +2026-01-30 17:00:07.845 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.845 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 用户JWT认证成功,用户ID: 17563793187762127,用户名: 村头情报大哥 +2026-01-30 17:00:07.846 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-01-30 17:00:07.846 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.846 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.862 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.862 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.862 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.868 [http-nio-8082-exec-1] DEBUG c.d.m.AiTaskMapper.findUserTasksWithPlazaAndType - <== Total: 10 +2026-01-30 17:00:07.868 [http-nio-8082-exec-1] INFO com.dora.controller.AiTaskController - 成功查询任务列表,总数: 78, 当前页数量: 10 +2026-01-30 17:00:07.877 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.877 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 17:00:07.877 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 17:00:07.892 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 17:00:07.893 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 17:00:07.893 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.908 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 17:00:07.908 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 17:00:07.908 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 17:00:07.923 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 17:00:07.924 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Preparing: SELECT COUNT(*) FROM `order` WHERE user_id = ? AND status = 1 AND is_deleted = 0 +2026-01-30 17:00:07.924 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.939 [http-nio-8082-exec-9] DEBUG c.d.mapper.OrderMapper.countSuccessOrdersByUserId - <== Total: 1 +2026-01-30 17:00:07.939 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.939 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-01-30 17:00:07.955 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-01-30 17:00:07.955 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Preparing: SELECT COUNT(*) FROM gift_code_usage WHERE user_id = ? AND type = ? AND status = 1 AND is_deleted = 0 +2026-01-30 17:00:07.955 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - ==> Parameters: 17563793187762127(Long), 2(Integer) +2026-01-30 17:00:07.970 [http-nio-8082-exec-9] DEBUG c.d.mapper.GiftCodeUsageMapper.countByUserAndType - <== Total: 1 +2026-01-30 17:00:07.970 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Preparing: SELECT * FROM `order` WHERE user_id = ? AND order_type = 2 AND is_deleted = 0 AND status = ? ORDER BY paid_at DESC LIMIT 1 +2026-01-30 17:00:07.970 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - ==> Parameters: 17563793187762127(Long), 1(Integer) +2026-01-30 17:00:07.986 [http-nio-8082-exec-9] DEBUG c.d.m.OrderMapper.selectLastPointsOrderByUserId - <== Total: 1 +2026-01-30 17:00:07.986 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Preparing: SELECT * FROM points_package WHERE id = ? AND is_deleted = 0 +2026-01-30 17:00:07.987 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - ==> Parameters: 7(Long) +2026-01-30 17:00:08.002 [http-nio-8082-exec-9] DEBUG com.dora.mapper.PointsPackageMapper.selectById - <== Total: 1 +2026-01-30 17:00:08.894 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 17:00:08.894 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 17:00:08.906 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 17:00:09.083 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:09.084 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:09.108 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:14.099 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:14.099 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:14.122 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:15.174 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 17:00:15.174 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 17:00:15.186 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 17:00:19.101 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:19.101 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:19.124 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:24.100 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:24.101 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:24.114 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:29.094 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:29.094 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:29.118 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:34.097 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:34.097 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:34.120 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:35.214 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 17:00:35.215 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-01-30 17:00:35.227 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 17:00:38.921 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-01-30 17:00:38.921 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-01-30 17:00:38.933 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-01-30 17:00:39.097 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:39.097 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:39.110 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:44.100 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:44.100 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:44.112 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:49.095 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-01-30 17:00:49.095 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-01-30 17:00:49.108 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 66 +2026-01-30 17:00:52.940 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-01-30 17:00:52.940 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@65c97eeb]] +2026-01-30 17:00:52.940 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-01-30 17:00:53.083 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-01-30 17:00:53.087 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/logs/1818-user-server.log b/logs/1818-user-server.log new file mode 100644 index 0000000..f61f5da --- /dev/null +++ b/logs/1818-user-server.log @@ -0,0 +1,6769 @@ +2026-02-03 14:03:50.486 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-02-03 14:03:50.547 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 6404 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-02-03 14:03:50.547 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-02-03 14:03:50.548 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-02-03 14:04:02.657 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-02-03 14:04:02.660 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-02-03 14:04:02.719 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 41 ms. Found 0 Redis repository interfaces. +2026-02-03 14:04:03.687 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-02-03 14:04:03.698 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-02-03 14:04:03.699 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-02-03 14:04:03.700 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-02-03 14:04:03.766 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-02-03 14:04:03.766 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 13160 ms +2026-02-03 14:04:04.960 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-02-03 14:04:04.960 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-02-03 14:04:05.650 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-02-03 14:04:05.651 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-02-03 14:04:05.651 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-02-03 14:04:06.464 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: a99a3fda-3808-4522-ace4-a0e88b9d67f0 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-02-03 14:04:06.945 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@7a7f5c44, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ab1693b, org.springframework.security.web.context.SecurityContextHolderFilter@508de524, org.springframework.security.web.header.HeaderWriterFilter@2ecb87b2, org.springframework.web.filter.CorsFilter@35e0d91e, org.springframework.security.web.authentication.logout.LogoutFilter@118cbb26, com.dora.config.JwtAuthenticationFilter@14d36bb2, com.dora.config.ApiKeyAuthenticationFilter@12404f9d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3a4d0ca2, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@149162a4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3204146d, org.springframework.security.web.session.SessionManagementFilter@44a25dc7, org.springframework.security.web.access.ExceptionTranslationFilter@418f0f27, org.springframework.security.web.access.intercept.AuthorizationFilter@5295a774] +2026-02-03 14:04:07.634 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-02-03 14:04:07.653 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-02-03 14:04:07.654 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-02-03 14:04:07.655 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@4a2891d1]] +2026-02-03 14:04:07.655 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-02-03 14:04:07.669 [main] INFO com.dora.Application - Started Application in 17.928 seconds (process running for 19.624) +2026-02-03 14:04:07.673 [MessageBroker-5] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-02-02T14:04:07.673153200 (24小时前) +2026-02-03 14:04:07.673 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1769493847673 +2026-02-03 14:04:07.675 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://198.18.0.1:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://198.18.0.1:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-02-03 14:04:07.700 [MessageBroker-10] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:08.126 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-02-03 14:04:09.082 [MessageBroker-10] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:09.087 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:09.087 [MessageBroker-10] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:10.363 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:10.364 [MessageBroker-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:10.364 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:11.647 [MessageBroker-1] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:11.647 [MessageBroker-9] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:11.647 [MessageBroker-1] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:12.930 [MessageBroker-9] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:12.931 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:12.931 [MessageBroker-9] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:14.212 [MessageBroker-5] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:14.213 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:14.213 [MessageBroker-5] ERROR com.dora.scheduler.QueuedTaskTimeoutChecker - 队列超时检查器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findQueuedTasksBeforeTime(Unknown Source) + at com.dora.scheduler.QueuedTaskTimeoutChecker.checkQueuedTasksTimeout(QueuedTaskTimeoutChecker.java:55) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findQueuedTasksBeforeTime +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:15.500 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:15.501 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:17.669 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:39.712 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88) + at com.mysql.cj.NativeSession.connect(NativeSession.java:120) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.net.ConnectException: Connection timed out: no further information + at java.base/sun.nio.ch.Net.pollConnect(Native Method) + at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) + at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) + at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) + at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) + at java.base/java.net.Socket.connect(Socket.java:633) + at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) + ... 59 common frames omitted +2026-02-03 14:04:39.713 [MessageBroker-7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:39.713 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88) + at com.mysql.cj.NativeSession.connect(NativeSession.java:120) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.net.ConnectException: Connection timed out: no further information + at java.base/sun.nio.ch.Net.pollConnect(Native Method) + at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) + at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) + at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) + at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) + at java.base/java.net.Socket.connect(Socket.java:633) + at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) + at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) + ... 59 common frames omitted +2026-02-03 14:04:40.996 [MessageBroker-7] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:40.997 [MessageBroker-14] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:40.997 [MessageBroker-7] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:42.281 [MessageBroker-14] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:42.282 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:42.282 [MessageBroker-14] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:43.577 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:43.578 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:43.580 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:44.863 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:44.864 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:44.865 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:46.132 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:46.133 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:46.134 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:47.415 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:47.415 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:47.416 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:48.701 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:48.702 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:48.702 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:49.985 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:49.985 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:52.679 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:53.950 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:53.951 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 31 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 43 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 56 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 62 common frames omitted +2026-02-03 14:04:57.672 [MessageBroker-3] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:04:58.959 [MessageBroker-3] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:04:58.960 [MessageBroker-3] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:02.289 [MessageBroker-6] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:03.570 [MessageBroker-6] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:03.571 [MessageBroker-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:03.571 [MessageBroker-6] ERROR com.dora.scheduler.RunningHubPollingScheduler - RunningHub轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.RunningHubPollingScheduler.pollRunningHubTasks(RunningHubPollingScheduler.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:04.857 [MessageBroker-2] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:04.858 [MessageBroker-2] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:07.639 [MessageBroker-11] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-02-03 14:05:07.681 [MessageBroker-13] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:08.960 [MessageBroker-13] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:08.961 [MessageBroker-15] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:08.961 [MessageBroker-13] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findStuckTasks(Unknown Source) + at com.dora.scheduler.TaskScheduler.checkTasksTimeout(TaskScheduler.java:60) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findStuckTasks +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:10.229 [MessageBroker-15] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:10.230 [MessageBroker-15] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy140.findAll(Unknown Source) + at com.dora.scheduler.TaskScheduler.getActiveModels(TaskScheduler.java:119) + at com.dora.scheduler.TaskScheduler.dispatchTasks(TaskScheduler.java:40) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\PointsConfigMapper.xml] +### The error may involve com.dora.mapper.PointsConfigMapper.findAll +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 24 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 30 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 42 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 55 common frames omitted +Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 61 common frames omitted +2026-02-03 14:05:11.009 [MessageBroker-9] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:12.046 [MessageBroker-9] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization. +com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.net.SocketException: Connection reset + at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328) + at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) + at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) + at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) + at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) + at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) + at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) + at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132) + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:12.047 [MessageBroker-9] ERROR com.dora.scheduler.SuChuangPollingScheduler - 速创轮询调度器执行失败 +org.mybatis.spring.MyBatisSystemException: null + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) + at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) + at jdk.proxy2/jdk.proxy2.$Proxy158.findProcessingTasksByProvider(Unknown Source) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:49) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection +### The error may exist in file [C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes\mapper\AiTaskMapper.xml] +### The error may involve com.dora.mapper.AiTaskMapper.findProcessingTasksByProvider +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) + at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 23 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) + at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) + at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) + at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:151) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy207.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) + ... 29 common frames omitted +Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) + at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) + at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) + at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 41 common frames omitted +Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure + +The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. + at jdk.internal.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) + at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) + at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:582) + at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:537) + at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:425) + at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1426) + at com.mysql.cj.NativeSession.connect(NativeSession.java:133) + at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) + at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) + ... 54 common frames omitted +Caused by: java.net.SocketException: Connection reset + at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328) + at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) + at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) + at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) + at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) + at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) + at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) + at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132) + at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) + at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) + at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) + ... 60 common frames omitted +2026-02-03 14:05:12.670 [MessageBroker-7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:12.979 [MessageBroker-7] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1c95c40 +2026-02-03 14:05:12.981 [MessageBroker-7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-02-03 14:05:12.987 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:13.015 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:13.092 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:17.688 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:17.688 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:17.707 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:22.686 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:22.686 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:22.705 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:23.598 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:05:23.599 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:05:23.615 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:05:25.407 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-02-03 14:05:25.408 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@4a2891d1]] +2026-02-03 14:05:25.408 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-02-03 14:05:25.583 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-02-03 14:05:25.589 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2026-02-03 14:05:30.949 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2026-02-03 14:05:31.001 [main] INFO com.dora.Application - Starting Application using Java 17.0.12 with PID 12224 (C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本\target\classes started by admin001 in C:\Users\admin\Desktop\new_1818ai\1818_user_server - 副本) +2026-02-03 14:05:31.001 [main] DEBUG com.dora.Application - Running with Spring Boot v3.2.5, Spring v6.1.6 +2026-02-03 14:05:31.002 [main] INFO com.dora.Application - No active profile set, falling back to 1 default profile: "default" +2026-02-03 14:05:32.401 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2026-02-03 14:05:32.404 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2026-02-03 14:05:32.454 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 36 ms. Found 0 Redis repository interfaces. +2026-02-03 14:05:33.258 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2026-02-03 14:05:33.267 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2026-02-03 14:05:33.268 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2026-02-03 14:05:33.268 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20] +2026-02-03 14:05:33.330 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2026-02-03 14:05:33.330 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2267 ms +2026-02-03 14:05:34.317 [main] DEBUG com.dora.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use +2026-02-03 14:05:34.318 [main] DEBUG com.dora.config.ApiKeyAuthenticationFilter - Filter 'apiKeyAuthenticationFilter' configured for use +2026-02-03 14:05:35.004 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: openai, 异步: false +2026-02-03 14:05:35.004 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: runninghub, 异步: true +2026-02-03 14:05:35.004 [main] INFO com.dora.service.AIProviderService - 注册AI Provider: suchuang, 异步: true +2026-02-03 14:05:35.824 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 97867648-6856-4523-9d37-d602db3237ad + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-02-03 14:05:36.195 [main] INFO o.s.security.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@118cbb26, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6cca70e3, org.springframework.security.web.context.SecurityContextHolderFilter@1704437b, org.springframework.security.web.header.HeaderWriterFilter@cbd9494, org.springframework.web.filter.CorsFilter@4a5a8c6f, org.springframework.security.web.authentication.logout.LogoutFilter@467625e3, com.dora.config.JwtAuthenticationFilter@7e8783b0, com.dora.config.ApiKeyAuthenticationFilter@5f8df69, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3cb4f1a6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4e301795, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5e8f0c54, org.springframework.security.web.session.SessionManagementFilter@427946b9, org.springframework.security.web.access.ExceptionTranslationFilter@60052518, org.springframework.security.web.access.intercept.AuthorizationFilter@448c4742] +2026-02-03 14:05:36.775 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2026-02-03 14:05:36.793 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '' +2026-02-03 14:05:36.796 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Starting... +2026-02-03 14:05:36.797 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@3207e6de]] +2026-02-03 14:05:36.797 [main] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Started. +2026-02-03 14:05:36.818 [main] INFO com.dora.Application - Started Application in 6.671 seconds (process running for 7.432) +2026-02-03 14:05:36.820 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 开始清理过期token,过期时间点: 1769493936820 +2026-02-03 14:05:36.820 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 开始检查队列超时任务,超时阈值: 2026-02-02T14:05:36.820538400 (24小时前) +2026-02-03 14:05:36.823 [main] INFO com.dora.Application - +======================================================================================================== + 🎉 1818AI 用户端服务启动成功! +======================================================================================================== + 📍 本地访问地址: + http://localhost:8082 + 📍 外网访问地址: + http://192.168.0.45:8082 + 📚 接口文档地址 (Knife4j): + http://localhost:8082/doc.html + http://192.168.0.45:8082/doc.html + 📖 Swagger UI: + http://localhost:8082/swagger-ui/index.html +======================================================================================================== + +2026-02-03 14:05:36.840 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2026-02-03 14:05:37.203 [MessageBroker-6] INFO com.dora.schedule.TokenCleanupScheduler - 过期token清理完成 +2026-02-03 14:05:37.236 [MessageBroker-5] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@3c4e32dd +2026-02-03 14:05:37.237 [MessageBroker-5] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2026-02-03 14:05:37.243 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Preparing: SELECT * FROM ai_task WHERE status = 'queued' AND create_time < ? AND is_deleted = 0 ORDER BY create_time ASC +2026-02-03 14:05:37.269 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - ==> Parameters: 2026-02-02T14:05:36.820538400(LocalDateTime) +2026-02-03 14:05:37.321 [MessageBroker-1] DEBUG c.d.mapper.AiTaskMapper.findQueuedTasksBeforeTime - <== Total: 0 +2026-02-03 14:05:37.327 [MessageBroker-1] DEBUG com.dora.scheduler.QueuedTaskTimeoutChecker - 未发现队列超时任务 +2026-02-03 14:05:37.327 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:37.328 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:37.378 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:37.379 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:05:37.380 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:05:37.394 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:05:37.395 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:05:37.397 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:05:37.404 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:05:37.405 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T13:55:36.820538400(LocalDateTime) +2026-02-03 14:05:37.410 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:05:37.422 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:05:40.686 [http-nio-8082-exec-1] INFO org.apache.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_5f3fb2055eb883c9c94fd9f9f59017a6=1767101442,1767336457,1768284437] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2026-02-03 14:05:40.697 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-02-03 14:05:40.697 [http-nio-8082-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2026-02-03 14:05:40.700 [http-nio-8082-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 3 ms +2026-02-03 14:05:40.737 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/index.html +2026-02-03 14:05:40.737 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/index.html +2026-02-03 14:05:40.739 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.810 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-ui.css +2026-02-03 14:05:40.810 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-ui.css +2026-02-03 14:05:40.810 [http-nio-8082-exec-2] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.810 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/index.css +2026-02-03 14:05:40.810 [http-nio-8082-exec-4] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/index.css +2026-02-03 14:05:40.810 [http-nio-8082-exec-4] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.810 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-ui-bundle.js +2026-02-03 14:05:40.810 [http-nio-8082-exec-3] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-ui-bundle.js +2026-02-03 14:05:40.813 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-ui-standalone-preset.js +2026-02-03 14:05:40.813 [http-nio-8082-exec-3] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.813 [http-nio-8082-exec-5] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-ui-standalone-preset.js +2026-02-03 14:05:40.813 [http-nio-8082-exec-5] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.819 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/swagger-initializer.js +2026-02-03 14:05:40.819 [http-nio-8082-exec-6] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/swagger-initializer.js +2026-02-03 14:05:40.819 [http-nio-8082-exec-6] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.973 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /swagger-ui/favicon-16x16.png +2026-02-03 14:05:40.973 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /swagger-ui/favicon-16x16.png +2026-02-03 14:05:40.974 [http-nio-8082-exec-7] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:40.983 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /v3/api-docs/swagger-config +2026-02-03 14:05:40.983 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /v3/api-docs/swagger-config +2026-02-03 14:05:40.983 [http-nio-8082-exec-8] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:41.177 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /v3/api-docs/default +2026-02-03 14:05:41.177 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - 允许匿名访问的路径: /v3/api-docs/default +2026-02-03 14:05:41.177 [http-nio-8082-exec-9] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 用户已通过JWT认证,跳过API Key认证 +2026-02-03 14:05:41.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:41.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:41.851 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:44.375 [http-nio-8082-exec-9] INFO org.springdoc.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 3180 ms +2026-02-03 14:05:46.831 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:46.831 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:46.848 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:51.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:51.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:51.849 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:56.835 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:05:56.835 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:05:56.850 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:05:57.431 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:05:57.432 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:05:57.443 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:06:01.821 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:01.821 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:01.837 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:06.825 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:06.825 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:06.853 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:07.421 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:06:07.421 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:06:07.434 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:06:11.824 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:11.824 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:11.839 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:16.823 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:16.823 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:16.837 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:17.464 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:06:17.465 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:06:17.478 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:06:21.830 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:21.831 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:21.852 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:25.135 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-02-03 14:06:25.135 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-02-03 14:06:25.166 [http-nio-8082-exec-10] DEBUG com.dora.mapper.PointsConfigMapper.findByTaskType - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND task_type = ? AND is_enabled = 1 ORDER BY id ASC +2026-02-03 14:06:25.166 [http-nio-8082-exec-10] DEBUG com.dora.mapper.PointsConfigMapper.findByTaskType - ==> Parameters: image(String) +2026-02-03 14:06:25.178 [http-nio-8082-exec-10] DEBUG com.dora.mapper.PointsConfigMapper.findByTaskType - <== Total: 0 +2026-02-03 14:06:26.823 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:26.823 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:26.837 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:31.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:31.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:31.853 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:35.706 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/models +2026-02-03 14:06:35.706 [http-nio-8082-exec-1] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-02-03 14:06:35.719 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsConfigMapper.findAllEnabled - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 AND is_enabled = 1 ORDER BY id ASC +2026-02-03 14:06:35.720 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsConfigMapper.findAllEnabled - ==> Parameters: +2026-02-03 14:06:35.734 [http-nio-8082-exec-1] DEBUG com.dora.mapper.PointsConfigMapper.findAllEnabled - <== Total: 60 +2026-02-03 14:06:36.768 [MessageBroker-12] INFO o.s.web.socket.config.WebSocketMessageBrokerStats - WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 16, active threads = 1, queued tasks = 13, completed tasks = 33] +2026-02-03 14:06:36.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:36.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:36.821 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:06:36.821 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T13:56:36.809343900(LocalDateTime) +2026-02-03 14:06:36.835 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:36.836 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:06:37.448 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:06:37.449 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:06:37.461 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:06:37.483 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:06:37.483 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:06:37.495 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:06:41.830 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:41.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:41.844 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:46.835 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:46.836 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:46.849 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:51.829 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:51.829 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:51.843 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:56.834 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:06:56.835 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:06:56.849 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:06:57.508 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:06:57.509 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:06:57.521 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:07:01.827 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:01.827 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:01.840 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:06.831 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:06.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:06.847 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:07.487 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:07:07.488 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:07:07.499 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:07:11.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:11.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:11.845 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:16.833 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:16.833 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:16.847 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:17.536 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:07:17.536 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:07:17.548 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:07:21.827 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:21.827 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:21.840 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:26.832 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:26.832 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:26.846 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:31.826 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:31.827 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:31.840 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:36.830 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:36.830 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:36.830 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:07:36.830 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T13:57:36.818252300(LocalDateTime) +2026-02-03 14:07:36.843 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:07:36.844 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:37.519 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:07:37.519 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:07:37.532 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:07:37.554 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:07:37.554 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:07:37.566 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:07:41.824 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:41.824 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:41.838 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:46.834 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:46.835 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:46.848 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:51.829 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:51.830 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:51.843 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:56.831 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:07:56.831 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:07:56.845 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:07:57.585 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:07:57.585 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:07:57.597 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:08:01.831 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:01.832 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:01.845 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:06.836 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:06.837 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:06.852 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:07.554 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:08:07.554 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:08:07.566 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:08:11.827 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:11.827 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:11.841 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:16.833 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:16.833 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:16.846 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:17.613 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:08:17.614 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:08:17.625 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:08:21.824 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:21.824 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:21.837 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:26.830 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:26.830 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:26.844 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:31.831 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:31.831 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:31.844 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:36.836 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:36.836 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:36.837 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:08:36.837 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T13:58:36.823537200(LocalDateTime) +2026-02-03 14:08:36.850 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:36.851 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:08:37.584 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:08:37.584 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:08:37.596 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:08:37.634 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:08:37.634 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:08:37.646 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:08:41.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:41.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:41.846 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:46.835 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:46.835 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:46.849 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:51.827 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:51.827 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:51.841 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:56.821 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:08:56.821 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:08:56.836 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:08:57.661 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:08:57.661 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:08:57.673 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:09:01.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:01.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:01.849 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:06.836 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:06.836 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:06.853 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:07.615 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:09:07.615 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:09:07.627 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:09:11.831 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:11.831 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:11.845 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:16.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:16.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:16.836 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:17.692 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:09:17.692 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:09:17.705 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:09:21.829 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:21.829 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:21.843 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:26.833 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:26.833 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:26.847 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:31.835 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:31.835 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:31.849 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:36.834 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:36.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:36.836 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:09:36.836 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T13:59:36.823610900(LocalDateTime) +2026-02-03 14:09:36.849 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:36.849 [MessageBroker-5] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:09:37.646 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:09:37.646 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:09:37.658 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:09:37.660 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:09:37.660 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:09:37.660 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:09:37.660 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:09:37.660 [MessageBroker-8] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:09:37.712 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:09:37.713 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:09:37.725 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:09:38.278 [MessageBroker-8] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:09:38.281 [MessageBroker-8] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:09:38.281 [MessageBroker-8] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:09:41.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:41.823 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:41.837 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:46.829 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:46.829 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:46.843 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:51.821 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:51.821 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:51.836 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:56.828 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:09:56.828 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:09:56.842 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:09:57.747 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:09:57.747 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:09:57.758 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:10:01.831 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:01.831 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:01.844 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:06.832 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:06.834 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:06.849 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:08.301 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:10:08.301 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:10:08.315 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:10:08.315 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:10:08.315 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:10:08.315 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:10:08.316 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:10:08.316 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:10:08.678 [MessageBroker-3] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:10:08.679 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:10:08.679 [MessageBroker-3] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:10:11.835 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:11.835 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:11.849 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:16.832 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:16.832 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:16.847 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:17.781 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:10:17.781 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:10:17.793 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:10:21.835 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:21.835 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:21.850 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:26.827 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:26.827 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:26.842 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:31.835 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:31.835 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:31.849 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:36.824 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:10:36.824 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:00:36.812557700(LocalDateTime) +2026-02-03 14:10:36.825 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:36.825 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:36.836 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:10:36.841 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:37.820 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:10:37.820 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:10:37.834 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:10:38.692 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:10:38.693 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:10:38.705 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:10:38.705 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:10:38.705 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:10:38.705 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:10:38.705 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:10:38.706 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:10:38.983 [MessageBroker-12] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:10:38.983 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:10:38.983 [MessageBroker-12] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:10:41.832 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:41.832 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:41.846 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:46.832 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:46.833 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:46.846 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:51.826 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:51.827 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:51.840 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:56.828 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:10:56.828 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:10:56.842 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:10:57.855 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:10:57.855 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:10:57.866 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:11:01.827 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:01.828 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:01.841 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:06.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:06.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:06.849 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:08.995 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:11:08.995 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:11:09.008 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:11:09.008 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:11:09.008 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:11:09.008 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:11:09.008 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:11:09.008 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:11:09.212 [MessageBroker-15] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:11:09.212 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:11:09.212 [MessageBroker-15] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:11:11.836 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:11.836 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:11.852 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:16.822 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:16.823 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:16.836 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:17.879 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:11:17.879 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:11:17.891 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:11:21.820 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:21.820 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:21.834 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:26.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:26.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:26.840 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:31.828 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:31.828 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:31.843 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:36.831 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:11:36.831 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:01:36.820415400(LocalDateTime) +2026-02-03 14:11:36.833 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:36.833 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:36.843 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:11:36.848 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:37.903 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:11:37.903 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:11:37.915 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:11:39.236 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:11:39.236 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:11:39.250 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:11:39.250 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:11:39.250 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:11:39.250 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:11:39.250 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:11:39.250 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:11:39.522 [MessageBroker-3] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:11:39.522 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:11:39.522 [MessageBroker-3] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:11:41.831 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:41.832 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:41.844 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:46.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:46.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:46.840 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:51.831 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:51.831 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:51.844 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:56.830 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:11:56.830 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:11:56.843 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:11:57.929 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:11:57.929 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:11:57.941 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:12:01.829 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:01.829 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:01.842 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:06.836 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:06.837 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:06.851 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:09.537 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:12:09.537 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:12:09.551 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:12:09.551 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:12:09.551 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:12:09.551 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:12:09.551 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:12:09.552 [MessageBroker-5] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:12:10.894 [MessageBroker-5] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:12:10.895 [MessageBroker-5] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:12:10.895 [MessageBroker-5] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:12:11.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:11.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:11.849 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:16.826 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:16.826 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:16.839 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:17.960 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:12:17.961 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:12:17.973 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:12:21.827 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:21.827 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:21.840 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:26.829 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:26.829 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:26.843 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:31.826 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:31.827 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:31.840 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:36.821 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:12:36.821 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:02:36.810906400(LocalDateTime) +2026-02-03 14:12:36.823 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:36.823 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:36.834 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:12:36.837 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:37.990 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:12:37.991 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:12:38.004 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:12:40.991 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:12:40.991 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:12:41.032 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:12:41.032 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203140921381-7529(providerTaskId:3922091) +2026-02-03 14:12:41.032 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203140921381-7529, providerTaskId: 3922091, 模型: sc_soraimg_img2img_1x1, 创建时间: 2026-02-03T14:09:21 +2026-02-03 14:12:41.032 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203140921381-7529, 调用queryTaskStatus... +2026-02-03 14:12:41.032 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922091 +2026-02-03 14:12:41.032 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922091, taskId=3922091 +2026-02-03 14:12:41.501 [MessageBroker-15] ERROR c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态异常: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryImageDrawStatus(SuChuangProviderImpl.java:665) + at com.dora.service.provider.impl.SuChuangProviderImpl.queryTaskStatus(SuChuangProviderImpl.java:223) + at com.dora.scheduler.SuChuangPollingScheduler.pollSingleTask(SuChuangPollingScheduler.java:108) + at com.dora.scheduler.SuChuangPollingScheduler.pollSuChuangTasks(SuChuangPollingScheduler.java:65) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) + at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) + at io.micrometer.observation.Observation.observe(Observation.java:499) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) + at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) + at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake + at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1715) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) + at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) + at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) + at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) + at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) + at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) + at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) + at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) + at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) + at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) + at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) + at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) + at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) + at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) + at org.springframework.http.client.OkHttp3ClientHttpRequest.executeInternal(OkHttp3ClientHttpRequest.java:95) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 21 common frames omitted +Caused by: java.io.EOFException: SSL peer shut down incorrectly + at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489) + at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) + at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) + at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) + at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) + ... 45 common frames omitted +2026-02-03 14:12:41.502 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203140921381-7529, 状态: UNKNOWN +2026-02-03 14:12:41.502 [MessageBroker-15] WARN com.dora.scheduler.SuChuangPollingScheduler - 【速创状态未知】任务: TASK-20260203140921381-7529, 错误: I/O error on GET request for "https://api.wuyinkeji.com/api/img/drawDetail": Remote host terminated the handshake +2026-02-03 14:12:41.826 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:41.826 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:41.840 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:46.831 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:46.831 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:46.846 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:51.820 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:51.820 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:51.834 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:56.820 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:12:56.821 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:12:56.834 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:12:58.031 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:12:58.031 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:12:58.043 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:13:01.826 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:01.827 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:01.840 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:06.825 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:06.825 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:06.840 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:11.519 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:13:11.519 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:13:11.531 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:13:11.811 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:11.812 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:11.828 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:16.828 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:16.828 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:16.843 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:18.066 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:13:18.066 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:13:18.078 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:13:21.831 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:21.831 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:21.845 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:26.834 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:26.834 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:26.847 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:31.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:31.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:31.840 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:36.830 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:36.831 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:36.832 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:13:36.832 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:03:36.819040600(LocalDateTime) +2026-02-03 14:13:36.844 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:36.845 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:13:38.101 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:13:38.101 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:13:38.115 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:13:41.550 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:13:41.550 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:13:41.564 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:13:41.824 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:41.824 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:41.837 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:46.823 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:46.823 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:46.837 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:51.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:51.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:51.835 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:56.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:13:56.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:13:56.834 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:13:58.136 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:13:58.137 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:13:58.148 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:14:01.826 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:01.826 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:01.839 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:06.826 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:06.826 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:06.839 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:11.585 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:14:11.585 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:14:11.599 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:14:11.818 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:11.818 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:11.836 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:16.823 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:16.823 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:16.837 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:18.170 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:14:18.170 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:14:18.182 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:14:21.821 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:21.822 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:21.835 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:26.823 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:26.823 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:26.837 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:31.834 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:31.834 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:31.847 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:36.824 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:36.824 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:36.825 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:14:36.825 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:04:36.812694500(LocalDateTime) +2026-02-03 14:14:36.838 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:36.838 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:14:38.203 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:14:38.203 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:14:38.217 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:14:41.613 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:14:41.613 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:14:41.626 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:14:41.815 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:41.816 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:41.831 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:46.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:46.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:46.847 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:51.826 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:51.826 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:51.839 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:56.826 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:14:56.827 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:14:56.840 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:14:58.234 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:14:58.235 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:14:58.247 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:15:01.827 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:01.827 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:01.842 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:06.830 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:06.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:06.845 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:11.646 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:15:11.646 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:15:11.660 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:15:11.817 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:11.818 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:11.833 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:16.823 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:16.823 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:16.838 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:18.275 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:15:18.275 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:15:18.288 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:15:21.830 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:21.831 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:21.844 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:26.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:26.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:26.840 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:31.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:31.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:31.835 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:36.821 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:36.821 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:36.823 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:15:36.823 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:05:36.810364900(LocalDateTime) +2026-02-03 14:15:36.836 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:36.836 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:15:38.303 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:15:38.304 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:15:38.317 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:15:41.687 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:15:41.687 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:15:41.702 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:15:41.813 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:41.814 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:41.828 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:46.827 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:46.827 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:46.841 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:51.822 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:51.823 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:51.836 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:56.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:15:56.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:15:56.841 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:15:58.342 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:15:58.342 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:15:58.354 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:16:01.830 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:01.830 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:01.844 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:06.835 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:06.835 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:06.849 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:11.716 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:16:11.717 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:16:11.729 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:16:11.826 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:11.826 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:11.841 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:16.836 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:16.836 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:16.851 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:18.380 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:16:18.381 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:16:18.393 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:16:21.823 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:21.824 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:21.839 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:26.832 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:26.832 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:26.847 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:31.825 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:31.825 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:31.842 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:36.835 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:36.836 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:36.837 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:16:36.837 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:06:36.823507300(LocalDateTime) +2026-02-03 14:16:36.850 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:16:36.850 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:38.419 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:16:38.419 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:16:38.431 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:16:41.753 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:16:41.754 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:16:41.767 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:16:41.816 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:41.816 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:41.832 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:46.830 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:46.830 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:46.845 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:51.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:51.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:51.846 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:56.824 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:16:56.824 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:16:56.838 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:16:58.454 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:16:58.454 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:16:58.466 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:17:01.829 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:01.829 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:01.842 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:06.823 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:06.824 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:06.837 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:11.792 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:17:11.793 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:17:11.805 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:17:11.812 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:11.812 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:11.826 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:16.821 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:16.821 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:16.837 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:18.483 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:17:18.483 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:17:18.496 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:17:21.830 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:21.830 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:21.843 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:26.824 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:26.824 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:26.837 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:31.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:31.821 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:31.834 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:36.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:36.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:36.834 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:17:36.834 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:07:36.821818500(LocalDateTime) +2026-02-03 14:17:36.846 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:36.848 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:17:38.522 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:17:38.522 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:17:38.533 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:17:41.818 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:17:41.818 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:17:41.830 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:17:41.834 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:41.834 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:41.849 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:46.827 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:46.828 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:46.843 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:51.825 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:51.825 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:51.839 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:56.820 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:17:56.820 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:17:56.834 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:17:58.549 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:17:58.549 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:17:58.561 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:18:01.821 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:01.821 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:01.836 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:06.820 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:06.820 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:06.835 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:11.824 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:11.824 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:11.837 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:11.843 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:18:11.844 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:18:11.856 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:18:16.821 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:16.821 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:16.834 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:18.583 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:18:18.583 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:18:18.597 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:18:21.836 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:21.836 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:21.851 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:26.836 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:26.837 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:26.851 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:31.826 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:31.826 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:31.840 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:36.834 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:36.834 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:36.835 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:18:36.836 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:08:36.823284200(LocalDateTime) +2026-02-03 14:18:36.848 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:36.849 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:18:38.614 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:18:38.614 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:18:38.626 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:18:41.832 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:41.832 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:41.845 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:41.879 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:18:41.879 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:18:41.892 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:18:46.831 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:46.831 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:46.846 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:51.832 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:51.832 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:51.847 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:56.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:18:56.832 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:18:56.847 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:18:58.647 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:18:58.647 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:18:58.659 [MessageBroker-8] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:19:01.823 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:01.823 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:01.836 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:06.823 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:06.823 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:06.837 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:11.827 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:11.827 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:11.842 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:11.909 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:19:11.910 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:19:11.921 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:19:16.825 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:16.825 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:16.840 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:18.681 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:19:18.682 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:19:18.694 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:19:21.828 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:21.828 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:21.843 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:26.836 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:26.836 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:26.852 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:31.826 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:31.826 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:31.839 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:36.826 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:36.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:36.827 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:19:36.828 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:09:36.815095400(LocalDateTime) +2026-02-03 14:19:36.840 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:36.841 [MessageBroker-9] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:19:38.716 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:19:38.717 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:19:38.729 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:19:41.861 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:41.861 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:41.886 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:41.925 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:19:41.925 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:19:41.938 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:19:46.831 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:46.832 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:46.846 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:51.834 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:51.834 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:51.849 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:56.870 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:19:56.871 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:19:56.902 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:19:58.746 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:19:58.747 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:19:58.758 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:20:01.821 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:01.821 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:01.835 [MessageBroker-8] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:06.826 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:06.826 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:06.840 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:11.931 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:11.932 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:11.946 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:12.017 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:20:12.018 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:20:12.042 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:20:16.829 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:16.829 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:16.843 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:18.773 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:20:18.773 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:20:18.786 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:20:21.833 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:21.834 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:21.847 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:26.851 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:26.852 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:26.902 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:31.830 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:31.831 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:31.844 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:36.836 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:36.836 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:36.837 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:20:36.837 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:10:36.824425800(LocalDateTime) +2026-02-03 14:20:36.849 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:36.850 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:20:38.813 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:20:38.813 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:20:38.825 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:20:41.855 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:41.855 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:41.885 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:42.074 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:20:42.074 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:20:42.091 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:20:46.822 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:46.822 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:46.836 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:51.824 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:51.824 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:51.838 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:56.834 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:20:56.834 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:20:56.849 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:20:58.843 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:20:58.843 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:20:58.855 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:21:01.826 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:01.827 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:01.841 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:06.821 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:06.821 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:06.834 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:11.827 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:11.827 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:11.841 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:12.115 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:21:12.115 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:21:12.127 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:21:16.828 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:16.828 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:16.842 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:18.873 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:21:18.873 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:21:18.885 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:21:21.825 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:21.826 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:21.840 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:26.827 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:26.827 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:26.842 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:31.825 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:31.825 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:31.840 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:36.820 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:21:36.820 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:11:36.808951600(LocalDateTime) +2026-02-03 14:21:36.821 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:36.821 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:36.832 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:21:36.835 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:38.902 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:21:38.902 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:21:38.916 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:21:41.821 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:41.823 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:41.836 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:42.131 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:21:42.131 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:21:42.143 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:21:46.830 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:46.830 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:46.844 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:51.837 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:51.837 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:51.852 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:56.823 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:21:56.823 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:21:56.839 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:21:58.941 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:21:58.941 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:21:58.954 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:22:01.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:01.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:01.849 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:06.827 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:06.827 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:06.843 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:11.832 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:11.833 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:11.846 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:12.170 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:22:12.171 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:22:12.187 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:22:16.832 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:16.832 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:16.846 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:18.970 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:22:18.970 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:22:18.982 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:22:21.830 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:21.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:21.843 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:26.835 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:26.835 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:26.849 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:31.829 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:31.830 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:31.844 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:36.824 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:22:36.824 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:12:36.812982900(LocalDateTime) +2026-02-03 14:22:36.825 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:36.825 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:36.836 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:22:36.840 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:38.994 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:22:38.994 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:22:39.006 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:22:41.832 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:41.832 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:41.847 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:42.212 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:22:42.213 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:22:42.224 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:22:46.828 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:46.829 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:46.843 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:51.830 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:51.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:51.844 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:56.827 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:22:56.827 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:22:56.841 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:22:59.033 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:22:59.033 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:22:59.048 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:23:01.827 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:01.827 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:01.843 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:03.054 [http-nio-8082-exec-9] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/ai/tasks +2026-02-03 14:23:03.168 [http-nio-8082-exec-9] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-02-03 14:23:03.180 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-02-03 14:23:03.180 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String) +2026-02-03 14:23:03.192 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-02-03 14:23:03.193 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:23:03.194 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:23:03.206 [http-nio-8082-exec-9] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-02-03 14:23:03.208 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-02-03 14:23:03.208 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String), true(Boolean), 2026-02-03T14:23:03.206535500(LocalDateTime), false(Boolean), 1(Long) +2026-02-03 14:23:03.235 [http-nio-8082-exec-9] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-02-03 14:23:03.236 [http-nio-8082-exec-9] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17563793187762127 通过API Key认证成功 +2026-02-03 14:23:03.240 [http-nio-8082-exec-9] ERROR com.dora.exception.GlobalExceptionHandler - 系统异常 +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource user/ai/tasks. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-02-03 14:23:06.829 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:06.830 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:06.845 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:11.824 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:11.824 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:11.836 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:12.240 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:23:12.240 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:23:12.252 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:23:16.824 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:16.824 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:16.837 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:19.074 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:23:19.075 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:23:19.086 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:23:21.832 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:21.832 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:21.846 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:26.821 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:26.821 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:26.836 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:31.832 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:31.833 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:31.847 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:36.831 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:23:36.831 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:13:36.820946600(LocalDateTime) +2026-02-03 14:23:36.832 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:36.832 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:36.843 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:23:36.848 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:39.112 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:23:39.112 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:23:39.124 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:23:39.610 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /api/user/ai/tasks +2026-02-03 14:23:39.611 [http-nio-8082-exec-10] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-02-03 14:23:39.611 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-02-03 14:23:39.611 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String) +2026-02-03 14:23:39.623 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-02-03 14:23:39.624 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:23:39.624 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:23:39.636 [http-nio-8082-exec-10] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-02-03 14:23:39.636 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-02-03 14:23:39.637 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String), true(Boolean), 2026-02-03T14:23:39.636606400(LocalDateTime), false(Boolean), 1(Long) +2026-02-03 14:23:39.661 [http-nio-8082-exec-10] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-02-03 14:23:39.661 [http-nio-8082-exec-10] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17563793187762127 通过API Key认证成功 +2026-02-03 14:23:39.663 [http-nio-8082-exec-10] ERROR com.dora.exception.GlobalExceptionHandler - 系统异常 +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource api/user/ai/tasks. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-02-03 14:23:41.825 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:41.825 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:41.839 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:42.268 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:23:42.268 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:23:42.282 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:23:46.821 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:46.821 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:46.835 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:51.824 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:51.824 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:51.839 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:54.519 [http-nio-8082-exec-1] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/ai/tasks +2026-02-03 14:23:54.519 [http-nio-8082-exec-1] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-02-03 14:23:54.530 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-02-03 14:23:54.531 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String) +2026-02-03 14:23:54.543 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-02-03 14:23:54.543 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:23:54.543 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:23:54.555 [http-nio-8082-exec-1] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-02-03 14:23:54.556 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-02-03 14:23:54.556 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String), true(Boolean), 2026-02-03T14:23:54.556195400(LocalDateTime), false(Boolean), 1(Long) +2026-02-03 14:23:54.580 [http-nio-8082-exec-1] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-02-03 14:23:54.581 [http-nio-8082-exec-1] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17563793187762127 通过API Key认证成功 +2026-02-03 14:23:54.583 [http-nio-8082-exec-1] ERROR com.dora.exception.GlobalExceptionHandler - 系统异常 +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource user/ai/tasks. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.ApiKeyAuthenticationFilter.doFilterInternal(ApiKeyAuthenticationFilter.java:114) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.dora.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:111) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:842) +2026-02-03 14:23:56.823 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:23:56.823 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:23:56.839 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:23:59.151 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:23:59.152 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:23:59.164 [MessageBroker-6] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:24:01.829 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:01.829 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:01.845 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:06.836 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:06.836 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:06.852 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:11.834 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:11.834 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:11.848 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:12.307 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:24:12.308 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:24:12.319 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:24:16.825 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:16.825 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:16.841 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:19.186 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:24:19.187 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:24:19.199 [MessageBroker-4] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:24:21.822 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:21.822 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:21.836 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:26.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:26.827 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:26.841 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:31.833 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:31.833 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:31.846 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:36.824 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:24:36.825 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:14:36.813161200(LocalDateTime) +2026-02-03 14:24:36.825 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:36.826 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:36.837 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:24:36.840 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:39.216 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:24:39.217 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:24:39.230 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:24:41.832 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:41.832 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:41.845 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:42.324 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:24:42.325 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:24:42.337 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:24:46.828 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:46.828 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:46.842 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:51.825 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:51.825 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:51.839 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:56.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:24:56.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:24:56.846 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:24:56.887 [http-nio-8082-exec-2] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: POST - /user/ai/tasks/submit +2026-02-03 14:24:56.887 [http-nio-8082-exec-2] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-02-03 14:24:56.887 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-02-03 14:24:56.887 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String) +2026-02-03 14:24:56.899 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-02-03 14:24:56.899 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:24:56.900 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:24:56.911 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-02-03 14:24:56.912 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-02-03 14:24:56.913 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String), true(Boolean), 2026-02-03T14:24:56.912526400(LocalDateTime), false(Boolean), 1(Long) +2026-02-03 14:24:56.938 [http-nio-8082-exec-2] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-02-03 14:24:56.938 [http-nio-8082-exec-2] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17563793187762127 通过API Key认证成功 +2026-02-03 14:24:56.953 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 提交AI任务,模型: nanoBanana-pro-1K, 提示词长度: 15, 是否图生视频: true +2026-02-03 14:24:56.971 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-02-03 14:24:56.973 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: nanoBanana-pro-1K(String) +2026-02-03 14:24:56.984 [http-nio-8082-exec-2] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-02-03 14:24:56.986 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Preparing: SELECT * FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:24:56.986 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:24:56.998 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.findById - <== Total: 1 +2026-02-03 14:24:56.998 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Preparing: UPDATE user SET points = points + ? WHERE id = ? AND points + ? >= 0 +2026-02-03 14:24:56.998 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - ==> Parameters: -30(Integer), 17563793187762127(Long), -30(Integer) +2026-02-03 14:24:57.021 [http-nio-8082-exec-2] DEBUG com.dora.mapper.UserMapper.updateUserPoints - <== Updates: 1 +2026-02-03 14:24:57.022 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Preparing: INSERT INTO points_consumption_log (user_id, task_no, change_type, change_amount, balance_before, balance_after, description, is_deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?) +2026-02-03 14:24:57.023 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - ==> Parameters: 17563793187762127(Long), TASK-20260203142456985-3391(String), consume(String), -30(Integer), 27180(Integer), 27150(Integer), AI任务创建: nanoBanana-pro-1K(String), 0(Integer) +2026-02-03 14:24:57.045 [http-nio-8082-exec-2] DEBUG com.dora.mapper.PointsConsumptionLogMapper.insert - <== Updates: 1 +2026-02-03 14:24:57.048 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - ==> Preparing: INSERT INTO ai_task ( task_no, user_id, model_name, task_type, provider_type, provider_task_id, provider_response, prompt, image_url, image_base64, aspect_ratio, status, progress, progress_message, points_frozen, points_consumed, result_url, error_message, queue_time, start_time, complete_time, expire_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2026-02-03 14:24:57.051 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - ==> Parameters: TASK-20260203142456985-3391(String), 17563793187762127(Long), nanoBanana-pro-1K(String), text_to_image(String), suchuang(String), null, null, 手办风格的动漫战机,精致的细节(String), https://youke.xn--y7xa690gmna.cn/s1/2026/02/03/698193cdefd88.webp(String), null, auto(String), created(String), null, null, 30(Integer), null, null, null, null, null, null, null +2026-02-03 14:24:57.073 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.insert - <== Updates: 1 +2026-02-03 14:24:57.074 [http-nio-8082-exec-2] INFO com.dora.service.impl.AiTaskServiceImpl - 速创任务 TASK-20260203142456985-3391 立即处理(异步) +2026-02-03 14:24:57.074 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-02-03 14:24:57.074 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260203142456985-3391(String) +2026-02-03 14:24:57.086 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-02-03 14:24:57.090 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:24:57.091 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), AI模型正在生成内容...(String), 2026-02-03T14:24:57.086150700(LocalDateTime), 3705(Long) +2026-02-03 14:24:57.114 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:24:57.115 [http-nio-8082-exec-2] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260203142456985-3391 的进度更新到目的地: /queue/tasks-progress +2026-02-03 14:24:57.121 [http-nio-8082-exec-2] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260203142456985-3391 +2026-02-03 14:24:57.123 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 开始异步调用API,任务编号: TASK-20260203142456985-3391, 模型: nanoBanana-pro-1K, Provider类型: suchuang +2026-02-03 14:24:57.125 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-02-03 14:24:57.125 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260203142456985-3391(String) +2026-02-03 14:24:57.136 [http-nio-8082-exec-2] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-02-03 14:24:57.137 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-02-03 14:24:57.137 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: nanoBanana-pro-1K(String) +2026-02-03 14:24:57.151 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-02-03 14:24:57.151 [taskExecutor-1] DEBUG com.dora.service.AIProviderService - 模型 nanoBanana-pro-1K 使用服务商: suchuang +2026-02-03 14:24:57.151 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 任务 TASK-20260203142456985-3391 使用Provider: suchuang +2026-02-03 14:24:57.151 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Preparing: SELECT * FROM points_config WHERE model_name = ? AND is_deleted = 0 +2026-02-03 14:24:57.151 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - ==> Parameters: nanoBanana-pro-1K(String) +2026-02-03 14:24:57.163 [http-nio-8082-exec-2] INFO com.dora.controller.AiTaskController - 任务创建成功,taskNo: TASK-20260203142456985-3391, 队列位置: 0 +2026-02-03 14:24:57.164 [taskExecutor-1] DEBUG c.dora.mapper.PointsConfigMapper.findByModelName - <== Total: 1 +2026-02-03 14:24:57.231 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 获取到模型配置,modelName: nanoBanana-pro-1K, config: {taskType=text_to_image, aspectRatio=auto, imageSize=1K} +2026-02-03 14:24:57.231 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 提交任务,模型: nanoBanana-pro-1K +2026-02-03 14:24:57.243 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - === SuChuang nanoBanana-pro 提交任务负载数据(POST JSON) === +2026-02-03 14:24:57.243 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - 请求URL: https://api.wuyinkeji.com/api/img/nanoBanana-pro +2026-02-03 14:24:57.243 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - payload: {"img_url":"https://youke.xn--y7xa690gmna.cn/s1/2026/02/03/698193cdefd88.webp","aspectRatio":"auto","imageSize":"1K","prompt":"手办风格的动漫战机,精致的细节"} +2026-02-03 14:24:57.243 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - API密钥: GpFpub*** +2026-02-03 14:24:57.243 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - ==================================================== +2026-02-03 14:24:58.004 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang nanoBanana-pro - 提交任务响应: {"code":200,"msg":"成功","data":{"id":3922854,"quantity":1},"exec_time":0.60817,"ip":"115.194.139.130"} +2026-02-03 14:24:58.004 [taskExecutor-1] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang nanoBanana-pro - 任务已提交成功,taskId: 3922854 +2026-02-03 14:24:58.005 [taskExecutor-1] INFO com.dora.service.AsyncTaskExecutor - 异步任务 TASK-20260203142456985-3391 提交成功,Provider任务ID: 3922854 +2026-02-03 14:24:58.005 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 异步任务 TASK-20260203142456985-3391 已提交,Provider任务ID: 3922854 +2026-02-03 14:24:58.018 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:24:58.019 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3922854(String), 2026-02-03T14:24:57.086150700(LocalDateTime), 3705(Long) +2026-02-03 14:24:58.047 [taskExecutor-1] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:24:58.047 [taskExecutor-1] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260203142456985-3391 的进度更新到目的地: /queue/tasks-progress +2026-02-03 14:24:58.048 [taskExecutor-1] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260203142456985-3391 +2026-02-03 14:24:58.048 [taskExecutor-1] INFO com.dora.service.impl.NotificationServiceImpl - 任务进度通知已发送 - 用户: 17563793187762127, 任务: TASK-20260203142456985-3391, 状态: processing, 进度: 20% +2026-02-03 14:24:58.048 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 异步任务 TASK-20260203142456985-3391 状态已更新,等待轮询获取结果 +2026-02-03 14:24:58.048 [taskExecutor-1] INFO com.dora.service.impl.AiTaskServiceImpl - 异步任务 TASK-20260203142456985-3391 已提交,保持处理槽位直到轮询完成 +2026-02-03 14:24:59.253 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:24:59.254 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:24:59.266 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:25:01.827 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:01.827 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:01.842 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:06.832 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:06.833 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:06.847 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:11.827 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:11.827 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:11.842 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:12.360 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:25:12.360 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:25:12.373 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:25:12.374 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203142456985-3391(providerTaskId:3922854) +2026-02-03 14:25:12.374 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203142456985-3391, providerTaskId: 3922854, 模型: nanoBanana-pro-1K, 创建时间: 2026-02-03T14:24:56 +2026-02-03 14:25:12.374 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203142456985-3391, 调用queryTaskStatus... +2026-02-03 14:25:12.374 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922854 +2026-02-03 14:25:12.374 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922854, taskId=3922854 +2026-02-03 14:25:12.756 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态原始响应: {"code":200,"msg":"成功","data":{"id":3922854,"task_id":"4-853c2cc8-2abb-4b4a-8f00-ab176707edc7","status":0,"size":"1K","prompt":"手办风格的动漫战机,精致的细节","image_url":"","fail_reason":null,"created_at":"2026-02-03 14:24:57","updated_at":"2026-02-03 14:24:57"},"exec_time":0.368285,"ip":"115.194.139.130"} +2026-02-03 14:25:12.757 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203142456985-3391, 状态: QUEUED +2026-02-03 14:25:12.757 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:25:12.757 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3922854(String), 2026-02-03T14:24:57(LocalDateTime), 3705(Long) +2026-02-03 14:25:12.786 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:25:12.786 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260203142456985-3391, 状态: QUEUED, 已运行 0 分钟 +2026-02-03 14:25:16.822 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:16.822 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:16.835 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:19.291 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:25:19.291 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:25:19.303 [MessageBroker-13] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:25:21.828 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:21.828 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:21.842 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:26.828 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:26.829 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:26.841 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:31.835 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:31.835 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:31.850 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:36.821 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:25:36.821 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:15:36.810299(LocalDateTime) +2026-02-03 14:25:36.823 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:36.823 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:36.834 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:25:36.838 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:39.319 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:25:39.320 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:25:39.333 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:25:41.830 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:41.830 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:41.845 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:42.807 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:25:42.807 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:25:42.819 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:25:42.820 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203142456985-3391(providerTaskId:3922854) +2026-02-03 14:25:42.820 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203142456985-3391, providerTaskId: 3922854, 模型: nanoBanana-pro-1K, 创建时间: 2026-02-03T14:24:56 +2026-02-03 14:25:42.820 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203142456985-3391, 调用queryTaskStatus... +2026-02-03 14:25:42.820 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922854 +2026-02-03 14:25:42.820 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922854, taskId=3922854 +2026-02-03 14:25:43.302 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态原始响应: {"code":200,"msg":"成功","data":{"id":3922854,"task_id":"4-853c2cc8-2abb-4b4a-8f00-ab176707edc7","status":0,"size":"1K","prompt":"手办风格的动漫战机,精致的细节","image_url":"","fail_reason":null,"created_at":"2026-02-03 14:24:57","updated_at":"2026-02-03 14:24:57"},"exec_time":0.46104,"ip":"115.194.139.130"} +2026-02-03 14:25:43.302 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203142456985-3391, 状态: QUEUED +2026-02-03 14:25:43.303 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:25:43.303 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3922854(String), 2026-02-03T14:24:57(LocalDateTime), 3705(Long) +2026-02-03 14:25:43.337 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:25:43.337 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260203142456985-3391, 状态: QUEUED, 已运行 0 分钟 +2026-02-03 14:25:46.832 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:46.832 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:46.850 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:51.830 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:51.830 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:51.846 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:56.835 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:25:56.835 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:25:56.849 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:25:59.353 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:25:59.353 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:25:59.366 [MessageBroker-1] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:26:01.824 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:01.825 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:01.838 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:06.835 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:06.835 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:06.851 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:11.834 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:11.834 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:11.849 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:13.362 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:26:13.363 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:26:13.375 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:26:13.375 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203142456985-3391(providerTaskId:3922854) +2026-02-03 14:26:13.375 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203142456985-3391, providerTaskId: 3922854, 模型: nanoBanana-pro-1K, 创建时间: 2026-02-03T14:24:56 +2026-02-03 14:26:13.375 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203142456985-3391, 调用queryTaskStatus... +2026-02-03 14:26:13.375 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922854 +2026-02-03 14:26:13.375 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922854, taskId=3922854 +2026-02-03 14:26:13.742 [MessageBroker-15] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态原始响应: {"code":200,"msg":"成功","data":{"id":3922854,"task_id":"4-853c2cc8-2abb-4b4a-8f00-ab176707edc7","status":0,"size":"1K","prompt":"手办风格的动漫战机,精致的细节","image_url":"","fail_reason":null,"created_at":"2026-02-03 14:24:57","updated_at":"2026-02-03 14:24:57"},"exec_time":0.350741,"ip":"115.194.139.130"} +2026-02-03 14:26:13.742 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203142456985-3391, 状态: QUEUED +2026-02-03 14:26:13.742 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:26:13.743 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3922854(String), 2026-02-03T14:24:57(LocalDateTime), 3705(Long) +2026-02-03 14:26:13.771 [MessageBroker-15] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:26:13.771 [MessageBroker-15] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260203142456985-3391, 状态: QUEUED, 已运行 1 分钟 +2026-02-03 14:26:16.821 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:16.822 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:16.836 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:19.394 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:26:19.394 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:26:19.407 [MessageBroker-9] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:26:21.826 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:21.826 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:21.839 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:26.175 [http-nio-8082-exec-7] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260203142456985-3391 +2026-02-03 14:26:26.176 [http-nio-8082-exec-7] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-02-03 14:26:26.187 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-02-03 14:26:26.187 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String) +2026-02-03 14:26:26.199 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-02-03 14:26:26.200 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:26:26.200 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:26:26.211 [http-nio-8082-exec-7] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-02-03 14:26:26.211 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-02-03 14:26:26.211 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String), true(Boolean), 2026-02-03T14:26:26.211628500(LocalDateTime), false(Boolean), 1(Long) +2026-02-03 14:26:26.236 [http-nio-8082-exec-7] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-02-03 14:26:26.236 [http-nio-8082-exec-7] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17563793187762127 通过API Key认证成功 +2026-02-03 14:26:26.237 [http-nio-8082-exec-7] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260203142456985-3391 +2026-02-03 14:26:26.238 [http-nio-8082-exec-7] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-02-03 14:26:26.238 [http-nio-8082-exec-7] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260203142456985-3391(String) +2026-02-03 14:26:26.250 [http-nio-8082-exec-7] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-02-03 14:26:26.251 [http-nio-8082-exec-7] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260203142456985-3391, status: processing +2026-02-03 14:26:26.824 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:26.824 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:26.838 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:31.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:31.826 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:31.840 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:36.832 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:36.832 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:36.833 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:26:36.834 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:16:36.821459400(LocalDateTime) +2026-02-03 14:26:36.845 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:36.846 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:26:39.421 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:26:39.423 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:26:39.436 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:26:41.829 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:41.829 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:41.843 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:43.784 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:26:43.784 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:26:43.796 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:26:43.796 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203142456985-3391(providerTaskId:3922854) +2026-02-03 14:26:43.796 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203142456985-3391, providerTaskId: 3922854, 模型: nanoBanana-pro-1K, 创建时间: 2026-02-03T14:24:56 +2026-02-03 14:26:43.796 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203142456985-3391, 调用queryTaskStatus... +2026-02-03 14:26:43.796 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922854 +2026-02-03 14:26:43.796 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922854, taskId=3922854 +2026-02-03 14:26:44.240 [MessageBroker-12] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态原始响应: {"code":200,"msg":"成功","data":{"id":3922854,"task_id":"4-853c2cc8-2abb-4b4a-8f00-ab176707edc7","status":0,"size":"1K","prompt":"手办风格的动漫战机,精致的细节","image_url":"","fail_reason":null,"created_at":"2026-02-03 14:24:57","updated_at":"2026-02-03 14:24:57"},"exec_time":0.417276,"ip":"115.194.139.130"} +2026-02-03 14:26:44.240 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203142456985-3391, 状态: QUEUED +2026-02-03 14:26:44.240 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, start_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:26:44.240 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: processing(String), 10(Integer), 任务已提交到AI服务商,正在处理中...(String), 3922854(String), 2026-02-03T14:24:57(LocalDateTime), 3705(Long) +2026-02-03 14:26:44.265 [MessageBroker-12] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:26:44.265 [MessageBroker-12] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创处理中】任务: TASK-20260203142456985-3391, 状态: QUEUED, 已运行 1 分钟 +2026-02-03 14:26:46.830 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:46.830 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:46.844 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:51.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:51.832 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:51.845 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:56.834 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:26:56.834 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:26:56.847 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:26:59.453 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:26:59.454 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:26:59.466 [MessageBroker-2] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:27:01.828 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:01.828 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:01.842 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:06.829 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:06.829 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:06.842 [MessageBroker-10] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:11.836 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:11.836 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:11.850 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:14.283 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:27:14.283 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:27:14.296 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 1 +2026-02-03 14:27:14.296 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 速创轮询 - 发现1个待处理任务: TASK-20260203142456985-3391(providerTaskId:3922854) +2026-02-03 14:27:14.296 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创轮询开始】任务: TASK-20260203142456985-3391, providerTaskId: 3922854, 模型: nanoBanana-pro-1K, 创建时间: 2026-02-03T14:24:56 +2026-02-03 14:27:14.296 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创查询状态】任务: TASK-20260203142456985-3391, 调用queryTaskStatus... +2026-02-03 14:27:14.296 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 查询任务状态,taskId: 3922854 +2026-02-03 14:27:14.296 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922854, taskId=3922854 +2026-02-03 14:27:14.722 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 查询状态原始响应: {"code":200,"msg":"成功","data":{"id":3922854,"task_id":"4-853c2cc8-2abb-4b4a-8f00-ab176707edc7","status":2,"size":"1K","prompt":"手办风格的动漫战机,精致的细节","image_url":"https://openpt.wuyinkeji.com/88d34331363a4016a1d1a6d74adba516.png","fail_reason":"","created_at":"2026-02-03 14:24:57","updated_at":"2026-02-03 14:27:05"},"exec_time":0.395801,"ip":"115.194.139.130"} +2026-02-03 14:27:14.723 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创状态结果】任务: TASK-20260203142456985-3391, 状态: SUCCESS +2026-02-03 14:27:14.723 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创yo任务成功】任务: TASK-20260203142456985-3391, 开始获取结果 +2026-02-03 14:27:14.723 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创成功处理开始】任务: TASK-20260203142456985-3391, providerTaskId: 3922854 +2026-02-03 14:27:14.723 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创获取结果】任务: TASK-20260203142456985-3391, 调用getTaskResult... +2026-02-03 14:27:14.723 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Provider - 获取任务结果,taskId: 3922854 +2026-02-03 14:27:14.723 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 获取结果请求: URL=https://api.wuyinkeji.com/api/img/drawDetail?id=3922854, taskId=3922854 +2026-02-03 14:27:15.302 [MessageBroker-3] INFO c.dora.service.provider.impl.SuChuangProviderImpl - SuChuang Image Draw - 获取结果原始响应: {"code":200,"msg":"成功","data":{"id":3922854,"task_id":"4-853c2cc8-2abb-4b4a-8f00-ab176707edc7","status":2,"size":"1K","prompt":"手办风格的动漫战机,精致的细节","image_url":"https://openpt.wuyinkeji.com/88d34331363a4016a1d1a6d74adba516.png","fail_reason":"","created_at":"2026-02-03 14:24:57","updated_at":"2026-02-03 14:27:05"},"exec_time":0.558189,"ip":"115.194.139.130"} +2026-02-03 14:27:15.303 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创结果文件】任务: TASK-20260203142456985-3391, 文件数量: 1, 主文件URL: https://openpt.wuyinkeji.com/88d34331363a4016a1d1a6d74adba516.png +2026-02-03 14:27:15.304 [MessageBroker-3] INFO com.dora.service.ResultFileTransferService - 开始转存文件到COS - 任务: TASK-20260203142456985-3391, 源URL: https://openpt.wuyinkeji.com/88d34331363a4016a1d1a6d74adba516.png +2026-02-03 14:27:15.304 [MessageBroker-3] INFO com.dora.service.ResultFileTransferService - 开始下载文件(尝试 1/3): https://openpt.wuyinkeji.com/88d34331363a4016a1d1a6d74adba516.png +2026-02-03 14:27:15.592 [MessageBroker-3] INFO com.dora.service.ResultFileTransferService - 文件下载成功,大小: 1889617 bytes +2026-02-03 14:27:15.602 [MessageBroker-3] WARN com.qcloud.cos.COSClient - No content length specified for stream data. Stream contents will be buffered in memory and could result in out of memory errors. +2026-02-03 14:27:16.169 [MessageBroker-3] INFO com.dora.service.ResultFileTransferService - 文件转存成功 - 任务: TASK-20260203142456985-3391, COS URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260203142456985-3391_1770100035592.png +2026-02-03 14:27:16.169 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创文件转存】任务: TASK-20260203142456985-3391, 原URL: https://openpt.wuyinkeji.com/88d34331363a4016a1d1a6d74adba516.png, COS URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260203142456985-3391_1770100035592.png +2026-02-03 14:27:16.182 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Preparing: UPDATE ai_task SET status = ?, progress = ?, progress_message = ?, provider_task_id = ?, points_consumed = ?, result_url = ?, start_time = ?, complete_time = ?, update_time = NOW() WHERE id = ? +2026-02-03 14:27:16.182 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.update - ==> Parameters: completed(String), 100(Integer), 任务已完成(String), 3922854(String), 30(Integer), https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260203142456985-3391_1770100035592.png(String), 2026-02-03T14:24:57(LocalDateTime), 2026-02-03T14:27:16.169250900(LocalDateTime), 3705(Long) +2026-02-03 14:27:16.211 [MessageBroker-3] DEBUG com.dora.mapper.AiTaskMapper.update - <== Updates: 1 +2026-02-03 14:27:16.211 [MessageBroker-3] DEBUG com.dora.service.impl.NotificationServiceImpl - 向用户 17563793187762127 发送任务 TASK-20260203142456985-3391 的进度更新到目的地: /queue/tasks-progress +2026-02-03 14:27:16.212 [MessageBroker-3] DEBUG com.dora.service.impl.NotificationServiceImpl - WebSocket通知发送成功 - 用户: 17563793187762127, 任务: TASK-20260203142456985-3391 +2026-02-03 14:27:16.212 [MessageBroker-3] INFO com.dora.service.impl.NotificationServiceImpl - 任务完成通知已发送 - 用户: 17563793187762127, 任务: TASK-20260203142456985-3391, 结果URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260203142456985-3391_1770100035592.png +2026-02-03 14:27:16.212 [MessageBroker-3] INFO com.dora.scheduler.SuChuangPollingScheduler - 【速创任务完成】任务: TASK-20260203142456985-3391, 结果URL: https://oss-1818ai-user-img-1302947942.cos.ap-guangzhou.myqcloud.com//17563793187762127_TASK-20260203142456985-3391_1770100035592.png, 消耗积分: 30 +2026-02-03 14:27:16.823 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:16.823 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:16.837 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:19.485 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:27:19.485 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:27:19.496 [MessageBroker-7] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:27:21.828 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:21.829 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:21.843 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:23.431 [http-nio-8082-exec-8] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/TASK-20260203142456985-3391 +2026-02-03 14:27:23.431 [http-nio-8082-exec-8] WARN com.dora.util.JwtUtil - JWT令牌验证失败: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4. Found: 0 +2026-02-03 14:27:23.443 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Preparing: SELECT * FROM api_key WHERE key_value = ? AND is_deleted = 0 +2026-02-03 14:27:23.443 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String) +2026-02-03 14:27:23.456 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.selectByKeyValue - <== Total: 1 +2026-02-03 14:27:23.457 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Preparing: SELECT id, phone, wechat_openid, username, real_username, id_number, password_jwt, role, membership_expires_at, avatar_url, is_verified, invite_code, inviter_id, promotion_level, points, points_expires_at, create_time, update_time, is_deleted FROM user WHERE id = ? AND is_deleted = 0 +2026-02-03 14:27:23.457 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - ==> Parameters: 17563793187762127(Long) +2026-02-03 14:27:23.469 [http-nio-8082-exec-8] DEBUG com.dora.mapper.UserMapper.selectById - <== Total: 1 +2026-02-03 14:27:23.469 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Preparing: UPDATE api_key SET key_value = ?, is_active = ?, last_used_at = ?, update_time = NOW(), is_deleted = ? WHERE id = ? +2026-02-03 14:27:23.470 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.update - ==> Parameters: ak_5f13ec469e6047d5b8155c3cc91350e2(String), true(Boolean), 2026-02-03T14:27:23.469662900(LocalDateTime), false(Boolean), 1(Long) +2026-02-03 14:27:23.495 [http-nio-8082-exec-8] DEBUG com.dora.mapper.ApiKeyMapper.update - <== Updates: 1 +2026-02-03 14:27:23.495 [http-nio-8082-exec-8] INFO com.dora.config.ApiKeyAuthenticationFilter - 用户 17563793187762127 通过API Key认证成功 +2026-02-03 14:27:23.497 [http-nio-8082-exec-8] INFO com.dora.controller.AiTaskController - 用户 17563793187762127 查询任务详情,taskNo: TASK-20260203142456985-3391 +2026-02-03 14:27:23.498 [http-nio-8082-exec-8] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Preparing: SELECT * FROM ai_task WHERE task_no = ? AND is_deleted = 0 +2026-02-03 14:27:23.498 [http-nio-8082-exec-8] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - ==> Parameters: TASK-20260203142456985-3391(String) +2026-02-03 14:27:23.511 [http-nio-8082-exec-8] DEBUG com.dora.mapper.AiTaskMapper.findByTaskNo - <== Total: 1 +2026-02-03 14:27:23.512 [http-nio-8082-exec-8] INFO com.dora.controller.AiTaskController - 成功查询任务详情,taskNo: TASK-20260203142456985-3391, status: completed +2026-02-03 14:27:26.834 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:26.834 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:26.847 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:31.833 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:31.833 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:31.847 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:36.831 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:27:36.831 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:17:36.819885900(LocalDateTime) +2026-02-03 14:27:36.832 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:36.832 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:36.843 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:27:36.847 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:39.524 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:27:39.524 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:27:39.537 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:27:41.835 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:41.836 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:41.851 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:46.230 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:27:46.231 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:27:46.244 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:27:46.827 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:46.828 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:46.841 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:51.828 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:51.829 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:51.843 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:56.824 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:27:56.824 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:27:56.838 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:27:59.553 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:27:59.553 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:27:59.565 [MessageBroker-14] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:28:01.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:01.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:01.844 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:06.832 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:06.833 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:06.847 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:11.834 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:11.834 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:11.849 [MessageBroker-6] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:16.267 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:28:16.267 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:28:16.281 [MessageBroker-5] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:28:16.833 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:16.834 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:16.849 [MessageBroker-3] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:19.589 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:28:19.589 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:28:19.601 [MessageBroker-12] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:28:21.835 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:21.835 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:21.848 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:26.084 [http-nio-8082-exec-10] DEBUG com.dora.config.JwtAuthenticationFilter - JWT拦截器处理请求: GET - /user/ai/tasks/submit +2026-02-03 14:28:26.085 [http-nio-8082-exec-10] DEBUG com.dora.config.ApiKeyAuthenticationFilter - 未提供Authorization头,继续到下一个过滤器 +2026-02-03 14:28:26.829 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:26.829 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:26.842 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:31.821 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:31.821 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:31.835 [MessageBroker-16] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:36.826 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND update_time < ? AND is_deleted = 0 AND (provider_type IS NULL OR (provider_type != 'runninghub' AND provider_type != 'suchuang')) +2026-02-03 14:28:36.827 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - ==> Parameters: 2026-02-03T14:18:36.815529500(LocalDateTime) +2026-02-03 14:28:36.828 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:36.828 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:36.838 [MessageBroker-8] DEBUG com.dora.mapper.AiTaskMapper.findStuckTasks - <== Total: 0 +2026-02-03 14:28:36.842 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:39.629 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:28:39.629 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:28:39.640 [MessageBroker-10] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:28:41.830 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:41.830 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:41.845 [MessageBroker-11] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:46.301 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:28:46.302 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:28:46.315 [MessageBroker-3] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:28:46.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:46.835 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:46.849 [MessageBroker-15] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:51.827 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:51.828 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:51.841 [MessageBroker-7] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:56.828 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:28:56.828 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:28:56.843 [MessageBroker-9] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:28:59.661 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:28:59.661 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:28:59.673 [MessageBroker-16] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:29:01.832 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:01.832 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:01.846 [MessageBroker-14] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:06.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:06.831 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:06.846 [MessageBroker-2] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:11.822 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:11.823 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:11.837 [MessageBroker-1] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:16.336 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:29:16.336 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: suchuang(String) +2026-02-03 14:29:16.349 [MessageBroker-11] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:29:16.814 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:16.814 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:16.829 [MessageBroker-5] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:19.689 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Preparing: SELECT * FROM ai_task WHERE status = 'processing' AND provider_type = ? AND is_deleted = 0 ORDER BY update_time ASC LIMIT 100 +2026-02-03 14:29:19.689 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - ==> Parameters: runninghub(String) +2026-02-03 14:29:19.702 [MessageBroker-15] DEBUG c.d.m.AiTaskMapper.findProcessingTasksByProvider - <== Total: 0 +2026-02-03 14:29:21.832 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:21.833 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:21.846 [MessageBroker-12] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:26.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:26.821 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:26.834 [MessageBroker-13] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:31.828 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Preparing: SELECT * FROM points_config WHERE is_deleted = 0 ORDER BY id ASC +2026-02-03 14:29:31.828 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - ==> Parameters: +2026-02-03 14:29:31.842 [MessageBroker-4] DEBUG com.dora.mapper.PointsConfigMapper.findAll - <== Total: 70 +2026-02-03 14:29:36.735 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopping... +2026-02-03 14:29:36.735 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry@3207e6de]] +2026-02-03 14:29:36.735 [SpringApplicationShutdownHook] INFO o.s.m.simp.broker.SimpleBrokerMessageHandler - Stopped. +2026-02-03 14:29:36.885 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2026-02-03 14:29:36.887 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/pom.xml b/pom.xml index 7b7d959..77d8fce 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,22 @@ com.dora.Application + + + central + Maven Central + https://repo1.maven.org/maven2/ + + true + + + + aliyunmaven + Aliyun Maven + https://maven.aliyun.com/repository/public + + + @@ -147,6 +163,34 @@ 3.1.2 + + + com.qcloud + cos_api + 5.6.89 + + + + com.squareup.okhttp3 + okhttp + + + + + + + com.squareup.okhttp3 + okhttp + 4.12.0 + + + + + org.jetbrains.kotlin + kotlin-stdlib + 1.9.22 + + com.aliyun diff --git a/src/main/java/com/dora/Application.java b/src/main/java/com/dora/Application.java index 9c7b985..9a66ecf 100644 --- a/src/main/java/com/dora/Application.java +++ b/src/main/java/com/dora/Application.java @@ -1,20 +1,61 @@ package com.dora; +import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.ApplicationListener; +import org.springframework.context.annotation.Bean; +import org.springframework.core.env.Environment; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; + +import java.net.InetAddress; @SpringBootApplication @EnableScheduling @EnableAsync @EnableCaching +@Slf4j public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } + @Bean + public ApplicationListener applicationReadyEventListener(Environment environment) { + return event -> { + try { + String port = environment.getProperty("server.port", "8083"); + String contextPath = environment.getProperty("server.servlet.context-path", ""); + String hostAddress = InetAddress.getLocalHost().getHostAddress(); + + log.info("\n" + + "========================================================================================================\n" + + " 🎉 1818AI 用户端服务启动成功!\n" + + "========================================================================================================\n" + + " 📍 本地访问地址:\n" + + " http://localhost:{}{}\n" + + " 📍 外网访问地址:\n" + + " http://{}:{}{}\n" + + " 📚 接口文档地址 (Knife4j):\n" + + " http://localhost:{}{}/doc.html\n" + + " http://{}:{}{}/doc.html\n" + + " 📖 Swagger UI:\n" + + " http://localhost:{}{}/swagger-ui/index.html\n" + + "========================================================================================================\n", + port, contextPath, + hostAddress, port, contextPath, + port, contextPath, + hostAddress, port, contextPath, + port, contextPath + ); + } catch (Exception e) { + log.error("获取服务器地址失败", e); + } + }; + } + } diff --git a/src/main/java/com/dora/config/CosConfig.java b/src/main/java/com/dora/config/CosConfig.java new file mode 100644 index 0000000..fcf42a4 --- /dev/null +++ b/src/main/java/com/dora/config/CosConfig.java @@ -0,0 +1,65 @@ +package com.dora.config; + +import com.qcloud.cos.COSClient; +import com.qcloud.cos.ClientConfig; +import com.qcloud.cos.auth.BasicCOSCredentials; +import com.qcloud.cos.auth.COSCredentials; +import com.qcloud.cos.region.Region; +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 腾讯云 COS 配置类 + */ +@Configuration +@ConfigurationProperties(prefix = "tencent.cos") +@Data +public class CosConfig { + + /** + * SecretId + */ + private String secretId; + + /** + * SecretKey + */ + private String secretKey; + + /** + * 地域,例如 ap-guangzhou + */ + private String region; + + /** + * 存储桶名称,例如 example-1250000000 + */ + private String bucketName; + + /** + * 用户图片文件夹 + */ + private String userImgFolder = "user_img/"; + + /** + * 预签名 URL 过期时间(秒) + */ + private Long expirationSeconds = 3600L; + + /** + * 自定义访问域名(如配置了 CDN/自定义域名),可选 + */ + private String customDomain; + + /** + * 创建 COS 客户端 + */ + @Bean + public COSClient cosClient() { + COSCredentials cred = new BasicCOSCredentials(secretId, secretKey); + ClientConfig clientConfig = new ClientConfig(new Region(region)); + return new COSClient(cred, clientConfig); + } +} diff --git a/src/main/java/com/dora/config/CosCorsSetter.java b/src/main/java/com/dora/config/CosCorsSetter.java new file mode 100644 index 0000000..b7b9b02 --- /dev/null +++ b/src/main/java/com/dora/config/CosCorsSetter.java @@ -0,0 +1,67 @@ +package com.dora.config; + +import com.qcloud.cos.COSClient; +import com.qcloud.cos.model.BucketCrossOriginConfiguration; +import com.qcloud.cos.model.CORSRule; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * COS CORS 配置工具(仅在需要时启用) + * 使用方法:取消 @Component 注释,启动一次应用即可配置 CORS + */ +// @Component // 需要配置时取消注释 +@RequiredArgsConstructor +@Slf4j +public class CosCorsSetter implements CommandLineRunner { + + private final COSClient cosClient; + private final CosConfig cosConfig; + + @Override + public void run(String... args) { + try { + log.info("开始配置 COS CORS 规则..."); + + BucketCrossOriginConfiguration bucketCORS = new BucketCrossOriginConfiguration(); + List corsRules = new ArrayList<>(); + + CORSRule corsRule = new CORSRule(); + // 允许的来源(可以设置为具体域名或 *) + corsRule.setAllowedOrigins(Arrays.asList("*")); + // 允许的 HTTP 方法 + corsRule.setAllowedMethods(Arrays.asList( + CORSRule.AllowedMethods.GET, + CORSRule.AllowedMethods.POST, + CORSRule.AllowedMethods.PUT, + CORSRule.AllowedMethods.HEAD + )); + // 允许的请求头 + corsRule.setAllowedHeaders(Arrays.asList("*")); + // 暴露的响应头 + corsRule.setExposedHeaders(Arrays.asList("ETag", "Content-Length")); + // 预检请求缓存时间(秒) + corsRule.setMaxAgeSeconds(600); + + corsRules.add(corsRule); + bucketCORS.setRules(corsRules); + + // 设置 CORS 规则 + cosClient.setBucketCrossOriginConfiguration(cosConfig.getBucketName(), bucketCORS); + + log.info("✅ COS CORS 规则配置成功!"); + log.info("存储桶: {}", cosConfig.getBucketName()); + log.info("允许的来源: *"); + log.info("允许的方法: GET, POST, PUT, HEAD"); + + } catch (Exception e) { + log.error("❌ 配置 COS CORS 规则失败: {}", e.getMessage(), e); + } + } +} diff --git a/src/main/java/com/dora/config/JwtAuthenticationFilter.java b/src/main/java/com/dora/config/JwtAuthenticationFilter.java index 5dba8fe..887dca7 100644 --- a/src/main/java/com/dora/config/JwtAuthenticationFilter.java +++ b/src/main/java/com/dora/config/JwtAuthenticationFilter.java @@ -176,8 +176,13 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { } // 通过所有验证,创建认证对象 + // 使用 authenticated() 方法创建已认证的 token,确保 isAuthenticated() 返回 true UsernamePasswordAuthenticationToken authentication = - new UsernamePasswordAuthenticationToken(userId.toString(), null, new ArrayList<>()); + UsernamePasswordAuthenticationToken.authenticated( + userId.toString(), + null, + Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER")) + ); // 设置认证信息到SecurityContext SecurityContextHolder.getContext().setAuthentication(authentication); diff --git a/src/main/java/com/dora/config/SecurityConfig.java b/src/main/java/com/dora/config/SecurityConfig.java index 3969a20..30998ac 100644 --- a/src/main/java/com/dora/config/SecurityConfig.java +++ b/src/main/java/com/dora/config/SecurityConfig.java @@ -87,10 +87,12 @@ public class SecurityConfig { .requestMatchers("/admin/**").hasRole("ADMIN") // 需要用户登录的端点(只需认证,不检查具体角色) + // 支持JWT Token和API Key两种认证方式 .requestMatchers( "/user/v1/api-key/**", // API密钥管理 "/user/v1/orders/**", // 订单管理 "/user/ai/tasks/**", // AI任务 + "/user/tools/**", // 工具服务(支持API Key调用) "/user/balance/**", // 余额与提现 "/user/withdraw/**", // 提现申请 "/user/video-likes/**", // 视频点赞 diff --git a/src/main/java/com/dora/controller/AdminPlazaAuditController.java b/src/main/java/com/dora/controller/AdminPlazaAuditController.java index ac38d03..6690ac0 100644 --- a/src/main/java/com/dora/controller/AdminPlazaAuditController.java +++ b/src/main/java/com/dora/controller/AdminPlazaAuditController.java @@ -44,7 +44,7 @@ public class AdminPlazaAuditController { @GetMapping("/pending/{workNo}") @Operation(summary = "查询待审核作品详情", description = "查询指定作品的详细信息") public Result getPendingWorkDetail( - @Parameter(description = "作品编号", required = true) @PathVariable String workNo) { + @Parameter(description = "作品编号", required = true) @PathVariable(name = "workNo", required = true) String workNo) { try { PendingWorkDetailResponse response = auditService.getPendingWorkDetail(workNo); return Result.success(response); @@ -152,7 +152,7 @@ public class AdminPlazaAuditController { @GetMapping("/detail/{workNo}") @Operation(summary = "获取作品详细审核信息", description = "含历史记录、作者统计等") public Result getWorkAuditDetail( - @Parameter(description = "作品编号") @PathVariable String workNo) { + @Parameter(description = "作品编号") @PathVariable(name = "workNo", required = true) String workNo) { try { WorkAuditDetailResponse detail = auditService.getWorkAuditDetail(workNo); return Result.success(detail); diff --git a/src/main/java/com/dora/controller/AdminPlazaWorkReportController.java b/src/main/java/com/dora/controller/AdminPlazaWorkReportController.java new file mode 100644 index 0000000..18c1fc4 --- /dev/null +++ b/src/main/java/com/dora/controller/AdminPlazaWorkReportController.java @@ -0,0 +1,115 @@ +package com.dora.controller; + +import com.dora.common.Result; +import com.dora.dto.PlazaWorkReportDto; +import com.dora.service.PlazaWorkReportService; +import com.dora.util.SecurityUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +/** + * 广场作品投诉管理控制器(管理员端) + * + * @author 1818AI + * @since 2025-11-14 + */ +@Slf4j +@RestController +@RequestMapping("/admin/plaza/reports") +@Tag(name = "广场作品投诉管理", description = "管理员端API - 审核和处理广场作品投诉") +@RequiredArgsConstructor +public class AdminPlazaWorkReportController { + + private final PlazaWorkReportService reportService; + + /** + * 查询投诉列表 + */ + @GetMapping("/list") + @Operation( + summary = "查询投诉列表", + description = "管理员查询投诉列表,支持按状态、类型、作品编号、投诉人筛选" + ) + public Result getReportList( + @Parameter(description = "页码", example = "1") + @RequestParam(defaultValue = "1") Integer page, + + @Parameter(description = "每页数量", example = "20") + @RequestParam(defaultValue = "20") Integer size, + + @Parameter(description = "投诉状态筛选:pending-待审核,approved-投诉成立,rejected-投诉不成立") + @RequestParam(required = false) String reportStatus, + + @Parameter(description = "投诉类型筛选") + @RequestParam(required = false) String reportType, + + @Parameter(description = "作品编号") + @RequestParam(required = false) String workNo, + + @Parameter(description = "投诉人用户ID") + @RequestParam(required = false) Long reporterId) { + + try { + PlazaWorkReportDto.AdminReportQueryRequest request = PlazaWorkReportDto.AdminReportQueryRequest.builder() + .page(page) + .size(size) + .reportStatus(reportStatus) + .reportType(reportType) + .workNo(workNo) + .reporterId(reporterId) + .build(); + + PlazaWorkReportDto.AdminReportListResponse response = reportService.getAdminReportList(request); + return Result.success(response); + } catch (Exception e) { + log.error("查询投诉列表失败", e); + return Result.error(e.getMessage()); + } + } + + /** + * 审核投诉 + */ + @PostMapping("/audit") + @Operation( + summary = "审核投诉", + description = "管理员审核投诉,投诉成立则下架作品,投诉不成立则驳回。需要填写处理备注。" + ) + public Result auditReport( + @Valid @RequestBody PlazaWorkReportDto.AuditReportRequest request) { + try { + Long adminId = SecurityUtil.getCurrentUserId(); + String adminName = SecurityUtil.getUsername(); + + boolean success = reportService.auditReport(adminId, adminName, request); + return Result.success(success); + } catch (Exception e) { + log.error("审核投诉失败", e); + return Result.error(e.getMessage()); + } + } + + /** + * 获取待审核投诉数量 + */ + @GetMapping("/pending/count") + @Operation( + summary = "获取待审核投诉数量", + description = "获取待审核的投诉数量,用于显示待处理提醒" + ) + public Result getPendingReportCount() { + try { + Long count = reportService.getPendingReportCount(); + return Result.success(count); + } catch (Exception e) { + log.error("获取待审核投诉数量失败", e); + return Result.error(e.getMessage()); + } + } +} + diff --git a/src/main/java/com/dora/controller/AdminToolConfigController.java b/src/main/java/com/dora/controller/AdminToolConfigController.java new file mode 100644 index 0000000..cfb7fe8 --- /dev/null +++ b/src/main/java/com/dora/controller/AdminToolConfigController.java @@ -0,0 +1,226 @@ +package com.dora.controller; + +import com.dora.common.Result; +import com.dora.dto.ToolDto; +import com.dora.service.AdminToolConfigService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDate; +import java.util.List; + +/** + * 管理端工具配置控制器 + */ +@Slf4j +@RestController +@RequestMapping("/admin/tools") +@Tag(name = "工具配置管理(管理端)", description = "管理端API - 工具配置和使用统计") +@RequiredArgsConstructor +@PreAuthorize("hasRole('ADMIN')") +public class AdminToolConfigController { + + private final AdminToolConfigService adminToolConfigService; + + // ==================== 工具配置管理 ==================== + + /** + * 获取所有工具配置 + */ + @GetMapping("/configs") + @Operation(summary = "获取所有工具配置", description = "获取所有工具配置列表") + public Result> getAllConfigs() { + try { + List configs = adminToolConfigService.getAllConfigs(); + return Result.success(configs); + } catch (Exception e) { + log.error("获取工具配置列表失败", e); + return Result.error("获取配置列表失败: " + e.getMessage()); + } + } + + /** + * 获取工具配置详情 + */ + @GetMapping("/configs/{id}") + @Operation(summary = "获取工具配置详情", description = "根据ID获取工具配置详情") + public Result getConfigById( + @Parameter(description = "工具ID", required = true) + @PathVariable Long id) { + try { + ToolDto.ConfigResponse config = adminToolConfigService.getConfigById(id); + return Result.success(config); + } catch (Exception e) { + log.error("获取工具配置详情失败: id={}", id, e); + return Result.error("获取配置详情失败: " + e.getMessage()); + } + } + + /** + * 创建工具配置 + */ + @PostMapping("/configs") + @Operation(summary = "创建工具配置", description = "创建新的工具配置") + public Result createConfig(@RequestBody ToolDto.ConfigRequest request) { + try { + ToolDto.ConfigResponse config = adminToolConfigService.createConfig(request); + return Result.success(config, "创建成功"); + } catch (Exception e) { + log.error("创建工具配置失败", e); + return Result.error("创建失败: " + e.getMessage()); + } + } + + /** + * 更新工具配置 + */ + @PutMapping("/configs/{id}") + @Operation(summary = "更新工具配置", description = "更新指定工具配置") + public Result updateConfig( + @Parameter(description = "工具ID", required = true) + @PathVariable Long id, + @RequestBody ToolDto.ConfigRequest request) { + try { + ToolDto.ConfigResponse config = adminToolConfigService.updateConfig(id, request); + return Result.success(config, "更新成功"); + } catch (Exception e) { + log.error("更新工具配置失败: id={}", id, e); + return Result.error("更新失败: " + e.getMessage()); + } + } + + /** + * 更新工具积分消耗 + */ + @PatchMapping("/configs/{id}/points-cost") + @Operation(summary = "更新积分消耗", description = "单独更新工具的积分消耗配置") + public Result updatePointsCost( + @Parameter(description = "工具ID", required = true) + @PathVariable Long id, + @Parameter(description = "积分消耗", required = true) + @RequestParam Integer pointsCost) { + try { + boolean success = adminToolConfigService.updatePointsCost(id, pointsCost); + return success ? Result.success(null, "更新成功") : Result.error("更新失败"); + } catch (Exception e) { + log.error("更新积分消耗失败: id={}, pointsCost={}", id, pointsCost, e); + return Result.error("更新失败: " + e.getMessage()); + } + } + + /** + * 更新工具状态 + */ + @PatchMapping("/configs/{id}/status") + @Operation(summary = "更新工具状态", description = "启用或禁用工具") + public Result updateStatus( + @Parameter(description = "工具ID", required = true) + @PathVariable Long id, + @Parameter(description = "是否启用(0禁用/1启用)", required = true) + @RequestParam Integer isEnabled) { + try { + boolean success = adminToolConfigService.updateStatus(id, isEnabled); + return success ? Result.success(null, "更新成功") : Result.error("更新失败"); + } catch (Exception e) { + log.error("更新工具状态失败: id={}, isEnabled={}", id, isEnabled, e); + return Result.error("更新失败: " + e.getMessage()); + } + } + + /** + * 删除工具配置 + */ + @DeleteMapping("/configs/{id}") + @Operation(summary = "删除工具配置", description = "删除指定工具配置(逻辑删除)") + public Result deleteConfig( + @Parameter(description = "工具ID", required = true) + @PathVariable Long id) { + try { + boolean success = adminToolConfigService.deleteConfig(id); + return success ? Result.success(null, "删除成功") : Result.error("删除失败"); + } catch (Exception e) { + log.error("删除工具配置失败: id={}", id, e); + return Result.error("删除失败: " + e.getMessage()); + } + } + + // ==================== 使用统计 ==================== + + /** + * 获取工具统计信息 + */ + @GetMapping("/stats/info") + @Operation(summary = "获取统计概览", description = "获取工具数量和今日调用统计") + public Result getStatsInfo() { + try { + AdminToolConfigService.ToolStatsInfo info = adminToolConfigService.getToolStatsInfo(); + return Result.success(info); + } catch (Exception e) { + log.error("获取统计信息失败", e); + return Result.error("获取统计信息失败: " + e.getMessage()); + } + } + + /** + * 获取统计汇总 + */ + @GetMapping("/stats/summary") + @Operation(summary = "获取统计汇总", description = "获取指定日期范围内的统计汇总") + public Result getStatsSummary( + @Parameter(description = "开始日期(yyyy-MM-dd)") + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate, + @Parameter(description = "结束日期(yyyy-MM-dd)") + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate) { + try { + ToolDto.StatsSummaryResponse summary = adminToolConfigService.getStatsSummary(startDate, endDate); + return Result.success(summary); + } catch (Exception e) { + log.error("获取统计汇总失败", e); + return Result.error("获取统计汇总失败: " + e.getMessage()); + } + } + + /** + * 获取每日统计 + */ + @GetMapping("/stats/daily") + @Operation(summary = "获取每日统计", description = "获取每日统计数据列表") + public Result> getDailyStats( + @Parameter(description = "开始日期(yyyy-MM-dd)") + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate, + @Parameter(description = "结束日期(yyyy-MM-dd)") + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate, + @Parameter(description = "工具编码(可选)") + @RequestParam(required = false) String toolCode) { + try { + List stats = adminToolConfigService.getDailyStats(startDate, endDate, toolCode); + return Result.success(stats); + } catch (Exception e) { + log.error("获取每日统计失败", e); + return Result.error("获取每日统计失败: " + e.getMessage()); + } + } + + /** + * 刷新每日统计 + */ + @PostMapping("/stats/refresh") + @Operation(summary = "刷新每日统计", description = "手动刷新指定日期的统计数据") + public Result refreshDailyStats( + @Parameter(description = "日期(yyyy-MM-dd),默认今天") + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) { + try { + adminToolConfigService.refreshDailyStats(date); + return Result.success(null, "刷新成功"); + } catch (Exception e) { + log.error("刷新统计失败: date={}", date, e); + return Result.error("刷新失败: " + e.getMessage()); + } + } +} diff --git a/src/main/java/com/dora/controller/AiTaskController.java b/src/main/java/com/dora/controller/AiTaskController.java index 963d2ea..9a402ed 100644 --- a/src/main/java/com/dora/controller/AiTaskController.java +++ b/src/main/java/com/dora/controller/AiTaskController.java @@ -82,14 +82,36 @@ public class AiTaskController { currentUserId, request.getModelName(), request.getPrompt().length(), request.isImageToVideo()); - CreateTaskDto createTaskDto = CreateTaskDto.builder() + CreateTaskDto.CreateTaskDtoBuilder builder = CreateTaskDto.builder() .userId(currentUserId) .modelName(request.getModelName()) .prompt(request.getPrompt()) .imageUrl(request.getImageUrl()) .imageBase64(request.getImageBase64()) - .aspectRatio(request.getAspectRatio()) - .build(); + .aspectRatio(request.getAspectRatio()); + + // 处理续作逻辑 + if (request.getSourceTaskNo() != null && !request.getSourceTaskNo().trim().isEmpty()) { + AiTask sourceTask = aiTaskService.getTaskByTaskNo(request.getSourceTaskNo(), currentUserId); + if (sourceTask != null) { + // 校验原任务是否支持续作(必须是视频任务且有 providerPid) + // 支持的任务类型:text_to_video(文生视频)、image_to_video(图生视频) + boolean isVideoTask = "text_to_video".equals(sourceTask.getTaskType()) || + "image_to_video".equals(sourceTask.getTaskType()); + if (isVideoTask && sourceTask.getProviderPid() != null && !sourceTask.getProviderPid().isEmpty()) { + builder.sourcePid(sourceTask.getProviderPid()); + log.info("续作任务,来源任务: {}, 类型: {}, PID: {}", + sourceTask.getTaskNo(), sourceTask.getTaskType(), sourceTask.getProviderPid()); + } else { + log.warn("续作失败:原任务 {} 不支持续作 (type={}, pid={})", + request.getSourceTaskNo(), sourceTask.getTaskType(), sourceTask.getProviderPid()); + } + } else { + log.warn("续作失败:找不到原任务 {} 或无权访问", request.getSourceTaskNo()); + } + } + + CreateTaskDto createTaskDto = builder.build(); AiTask createdTask = aiTaskService.createTask(createTaskDto); @@ -129,7 +151,7 @@ public class AiTaskController { */ private int calculateEstimatedWaitTime(long queuePosition) { // 根据模型的平均处理时间计算 - // 图片模型约10秒,视频模型约2-3分钟 + // 图片模型约10秒,视频模型约4-8分钟 final int AVG_PROCESSING_TIME_SECONDS = 30; return (int) queuePosition * AVG_PROCESSING_TIME_SECONDS; } diff --git a/src/main/java/com/dora/controller/AuthController.java b/src/main/java/com/dora/controller/AuthController.java index 96c81a3..8403d84 100644 --- a/src/main/java/com/dora/controller/AuthController.java +++ b/src/main/java/com/dora/controller/AuthController.java @@ -307,8 +307,14 @@ public class AuthController { log.warn("JWT认证失败: {}", e.getMessage()); return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(Result.error(401, e.getMessage())); } - log.error("更新手机号失败", e); - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(Result.error(500, e.getMessage())); + // 业务异常(验证码错误、手机号已被使用等)返回400,并传递具体错误信息 + String errorMsg = e.getMessage(); + if (errorMsg != null && errorMsg.startsWith("更新手机号失败: ")) { + // 提取Service层包装的具体错误原因 + errorMsg = errorMsg.substring("更新手机号失败: ".length()); + } + log.error("更新手机号失败: {}", errorMsg, e); + return ResponseEntity.badRequest().body(Result.error(400, errorMsg)); } catch (Exception e) { log.error("更新手机号失败", e); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(Result.error(500, "服务器内部错误")); diff --git a/src/main/java/com/dora/controller/PlazaController.java b/src/main/java/com/dora/controller/PlazaController.java index 93c0f5f..3ed1894 100644 --- a/src/main/java/com/dora/controller/PlazaController.java +++ b/src/main/java/com/dora/controller/PlazaController.java @@ -97,7 +97,7 @@ public class PlazaController { ) public Result getWorkDetail( @Parameter(description = "作品编号或任务编号", required = true) - @PathVariable String workNo, + @PathVariable(name = "workNo", required = true) String workNo, @Parameter(description = "查询类型:workNo-作品编号(默认),taskId-任务编号", example = "workNo") @RequestParam(defaultValue = "workNo") String queryType) { @@ -136,7 +136,7 @@ public class PlazaController { ) public Result likeWork( @Parameter(description = "作品编号", required = true) - @PathVariable String workNo) { + @PathVariable(name = "workNo", required = true) String workNo) { try { Long userId = SecurityUtil.getCurrentUserId(); @@ -158,7 +158,7 @@ public class PlazaController { ) public Result unlikeWork( @Parameter(description = "作品编号", required = true) - @PathVariable String workNo) { + @PathVariable(name = "workNo", required = true) String workNo) { try { Long userId = SecurityUtil.getCurrentUserId(); @@ -215,7 +215,7 @@ public class PlazaController { ) public Result deleteWork( @Parameter(description = "作品编号", required = true) - @PathVariable String workNo) { + @PathVariable(name = "workNo", required = true) String workNo) { try { Long userId = SecurityUtil.getCurrentUserId(); diff --git a/src/main/java/com/dora/controller/PlazaWorkReportController.java b/src/main/java/com/dora/controller/PlazaWorkReportController.java new file mode 100644 index 0000000..87a7eda --- /dev/null +++ b/src/main/java/com/dora/controller/PlazaWorkReportController.java @@ -0,0 +1,75 @@ +package com.dora.controller; + +import com.dora.common.Result; +import com.dora.dto.PlazaWorkReportDto; +import com.dora.service.PlazaWorkReportService; +import com.dora.util.SecurityUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +/** + * 广场作品投诉控制器(用户端) + * + * @author 1818AI + * @since 2025-11-14 + */ +@Slf4j +@RestController +@RequestMapping("/user/plaza/reports") +@Tag(name = "广场作品投诉", description = "用户端API - 投诉广场作品") +@RequiredArgsConstructor +public class PlazaWorkReportController { + + private final PlazaWorkReportService reportService; + + /** + * 提交投诉 + */ + @PostMapping("/submit") + @Operation( + summary = "提交投诉", + description = "对广场作品进行投诉,每个用户每天最多投诉10次,不能投诉自己的作品,不能重复投诉同一作品" + ) + public Result submitReport( + @Valid @RequestBody PlazaWorkReportDto.SubmitReportRequest request) { + try { + Long userId = SecurityUtil.getCurrentUserId(); + PlazaWorkReportDto.ReportResponse response = reportService.submitReport(userId, request); + return Result.success(response); + } catch (Exception e) { + log.error("提交投诉失败", e); + return Result.error(e.getMessage()); + } + } + + /** + * 查询我的投诉列表 + */ + @GetMapping("/my") + @Operation( + summary = "查询我的投诉列表", + description = "查询当前用户提交的所有投诉记录" + ) + public Result getMyReports( + @Parameter(description = "页码", example = "1") + @RequestParam(defaultValue = "1") Integer page, + + @Parameter(description = "每页数量", example = "10") + @RequestParam(defaultValue = "10") Integer size) { + + try { + Long userId = SecurityUtil.getCurrentUserId(); + PlazaWorkReportDto.ReportListResponse response = reportService.getMyReports(userId, page, size); + return Result.success(response); + } catch (Exception e) { + log.error("查询投诉列表失败", e); + return Result.error(e.getMessage()); + } + } +} + diff --git a/src/main/java/com/dora/controller/ToolController.java b/src/main/java/com/dora/controller/ToolController.java new file mode 100644 index 0000000..98706e7 --- /dev/null +++ b/src/main/java/com/dora/controller/ToolController.java @@ -0,0 +1,262 @@ +package com.dora.controller; + +import com.dora.common.Result; +import com.dora.dto.ToolDto; +import com.dora.exception.InsufficientPointsException; +import com.dora.service.ToolService; +import com.dora.util.SecurityUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 工具服务控制器(用户端) + * + * 提供以下功能: + * 1. 获取可用工具列表 + * 2. 调用工具(自动扣除积分) + * 3. 查看调用记录 + * + * 支持两种认证方式: + * - JWT Token(Web端登录用户) + * - API Key(开发者调用) + * + * @author 1818AI + * @since 2026-01-02 + */ +@Slf4j +@RestController +@RequestMapping("/user/tools") +@Tag(name = "工具服务(用户端)", description = "用户调用各类数据采集工具的接口,支持JWT和API Key两种认证方式") +@RequiredArgsConstructor +public class ToolController { + + private final ToolService toolService; + + /** + * 获取所有可用工具列表 + */ + @GetMapping("/list") + @Operation( + summary = "获取工具列表", + description = "获取所有可用的工具列表,包含工具名称、分类、积分消耗等信息。\n\n" + + "**认证方式**:\n" + + "- JWT Token(Web端):登录后自动使用\n" + + "- API Key(开发者):在请求头添加 `Authorization: Bearer {your_api_key}`" + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "查询成功"), + @ApiResponse(responseCode = "401", description = "未认证 - 请提供JWT Token或API Key") + }) + public Result> getToolList() { + try { + // 验证用户认证(支持JWT和API Key) + SecurityUtil.getCurrentUserId(); + + List tools = toolService.getAvailableTools(); + return Result.success(tools); + } catch (com.dora.exception.AuthenticationException e) { + log.warn("用户未认证: {}", e.getMessage()); + return Result.error(401, "未认证,请提供有效的JWT Token或API Key"); + } catch (Exception e) { + log.error("获取工具列表失败", e); + return Result.error("获取工具列表失败: " + e.getMessage()); + } + } + + /** + * 按分类获取工具列表 + */ + @GetMapping("/list/{category}") + @Operation( + summary = "按分类获取工具", + description = "按分类获取工具列表。\n\n" + + "**支持的分类**:\n" + + "- douyin: 抖音相关工具\n" + + "- xiaohongshu: 小红书相关工具\n" + + "- wechat_mp: 微信公众号相关工具\n\n" + + "**认证方式**:JWT Token 或 API Key" + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "查询成功"), + @ApiResponse(responseCode = "401", description = "未认证") + }) + public Result> getToolsByCategory( + @Parameter(description = "工具分类(douyin/xiaohongshu/wechat_mp)", example = "douyin") + @PathVariable String category) { + try { + SecurityUtil.getCurrentUserId(); + + List tools = toolService.getToolsByCategory(category); + return Result.success(tools); + } catch (com.dora.exception.AuthenticationException e) { + log.warn("用户未认证: {}", e.getMessage()); + return Result.error(401, "未认证,请提供有效的JWT Token或API Key"); + } catch (Exception e) { + log.error("获取分类工具列表失败: category={}", category, e); + return Result.error("获取工具列表失败: " + e.getMessage()); + } + } + + /** + * 获取工具详情 + */ + @GetMapping("/detail/{toolCode}") + @Operation( + summary = "获取工具详情", + description = "获取指定工具的详细信息,包括工具名称、描述、积分消耗等。\n\n" + + "**认证方式**:JWT Token 或 API Key" + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "查询成功"), + @ApiResponse(responseCode = "401", description = "未认证"), + @ApiResponse(responseCode = "404", description = "工具不存在") + }) + public Result getToolDetail( + @Parameter(description = "工具编码", example = "douyin_user_videos") + @PathVariable String toolCode) { + try { + SecurityUtil.getCurrentUserId(); + + ToolDto.ToolListItem tool = toolService.getToolDetail(toolCode); + return Result.success(tool); + } catch (com.dora.exception.AuthenticationException e) { + log.warn("用户未认证: {}", e.getMessage()); + return Result.error(401, "未认证,请提供有效的JWT Token或API Key"); + } catch (Exception e) { + log.error("获取工具详情失败: toolCode={}", toolCode, e); + return Result.error("获取工具详情失败: " + e.getMessage()); + } + } + + /** + * 调用工具 + */ + @PostMapping("/call/{toolCode}") + @Operation( + summary = "调用工具", + description = "调用指定工具,系统会自动扣除对应的积分。\n\n" + + "**认证方式**:\n" + + "- JWT Token(Web端):登录后自动使用\n" + + "- API Key(开发者):在请求头添加 `Authorization: Bearer {your_api_key}`\n\n" + + "**调用流程**:\n" + + "1. 验证用户认证\n" + + "2. 检查用户积分是否充足\n" + + "3. 扣除积分\n" + + "4. 调用第三方API\n" + + "5. 返回结果(如果调用失败会自动退还积分)\n\n" + + "**请求参数示例(抖音获取用户视频)**:\n" + + "```json\n" + + "{\n" + + " \"sec_user_id\": \"MS4wLjABAAAA...\",\n" + + " \"max_cursor\": 0,\n" + + " \"count\": 20\n" + + "}\n" + + "```" + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "调用成功"), + @ApiResponse(responseCode = "400", description = "参数错误或工具不存在"), + @ApiResponse(responseCode = "401", description = "未认证 - 请提供JWT Token或API Key"), + @ApiResponse(responseCode = "402", description = "积分不足 - 请先充值") + }) + public Result callTool( + @Parameter(description = "工具编码", required = true, example = "douyin_user_videos") + @PathVariable String toolCode, + @Parameter(description = "请求参数,根据不同工具传入不同参数") + @RequestBody Map params, + HttpServletRequest request) { + try { + // 从Spring Security上下文获取当前用户ID(支持JWT和API Key两种方式) + Long userId = SecurityUtil.getCurrentUserId(); + String clientIp = getClientIp(request); + + log.info("用户 {} 调用工具: {}, 参数: {}", userId, toolCode, params); + + ToolDto.CallResponse response = toolService.callTool(userId, toolCode, params, clientIp); + + log.info("工具调用成功: userId={}, toolCode={}, usageNo={}, pointsCost={}", + userId, toolCode, response.getUsageNo(), response.getPointsCost()); + + return Result.success(response); + } catch (com.dora.exception.AuthenticationException e) { + log.warn("用户未认证: {}", e.getMessage()); + return Result.error(401, "未认证,请提供有效的JWT Token或API Key"); + } catch (InsufficientPointsException e) { + log.warn("用户积分不足: {}", e.getMessage()); + return Result.error(402, "积分不足:" + e.getMessage()); + } catch (IllegalArgumentException e) { + log.warn("工具调用参数错误: {}", e.getMessage()); + return Result.error(400, "参数错误:" + e.getMessage()); + } catch (Exception e) { + log.error("调用工具失败: toolCode={}", toolCode, e); + return Result.error(500, "调用工具失败: " + e.getMessage()); + } + } + + /** + * 获取用户的工具调用记录 + */ + @GetMapping("/usage/logs") + @Operation( + summary = "获取调用记录", + description = "获取当前用户的工具调用记录,支持分页和按工具筛选。\n\n" + + "**认证方式**:JWT Token 或 API Key" + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "查询成功"), + @ApiResponse(responseCode = "401", description = "未认证") + }) + public Result getUsageLogs( + @Parameter(description = "页码", example = "1") + @RequestParam(defaultValue = "1") Integer page, + @Parameter(description = "每页数量", example = "10") + @RequestParam(defaultValue = "10") Integer size, + @Parameter(description = "工具编码(可选,用于筛选特定工具的记录)") + @RequestParam(required = false) String toolCode) { + try { + Long userId = SecurityUtil.getCurrentUserId(); + + log.info("用户 {} 查询工具调用记录: page={}, size={}, toolCode={}", userId, page, size, toolCode); + + ToolDto.UsageLogPageResponse logs = toolService.getUserUsageLogs(userId, page, size, toolCode); + return Result.success(logs); + } catch (com.dora.exception.AuthenticationException e) { + log.warn("用户未认证: {}", e.getMessage()); + return Result.error(401, "未认证,请提供有效的JWT Token或API Key"); + } catch (Exception e) { + log.error("获取调用记录失败", e); + return Result.error("获取调用记录失败: " + e.getMessage()); + } + } + + /** + * 获取客户端IP + */ + private String getClientIp(HttpServletRequest request) { + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + // 多个代理时取第一个IP + if (ip != null && ip.contains(",")) { + ip = ip.split(",")[0].trim(); + } + return ip; + } +} diff --git a/src/main/java/com/dora/controller/WorkflowController.java b/src/main/java/com/dora/controller/WorkflowController.java index fd5c15b..6cef835 100644 --- a/src/main/java/com/dora/controller/WorkflowController.java +++ b/src/main/java/com/dora/controller/WorkflowController.java @@ -11,6 +11,8 @@ import com.dora.dto.CategoryDto; import com.dora.entity.Category; import com.dora.entity.Workflow; import com.dora.service.CategoryService; +import com.dora.service.PlazaService; +import com.dora.dto.PlazaWorkDto.WorkDetailResponse; import com.dora.service.WorkflowService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -36,6 +38,7 @@ import java.util.List; @Tag(name = "工作流管理", description = "工作流相关的API接口") public class WorkflowController { + private final PlazaService plazaService; private final WorkflowService workflowService; private final CategoryService categoryService; @@ -120,11 +123,38 @@ public class WorkflowController { } @GetMapping("/{workflowId}/detail") - @Operation(summary = "获取工作流详情", description = "获取工作流的详细信息,包含权限信息,所有用户都可访问") - public Result getWorkflowDetail( - @Parameter(description = "工作流ID", example = "1") @PathVariable Long workflowId) { + @Operation(summary = "获取工作流详情", description = "获取工作流的详细信息,包含权限信息,所有用户都可访问。如果传入WORK-开头的广场作品编号,会自动转发到广场作品接口。") + public Result getWorkflowDetail( + @Parameter(description = "工作流ID", example = "1") @PathVariable String workflowId) { try { - log.info("获取工作流详情 - workflowId: {}", workflowId); + // 检查是否是广场作品编号(WORK-开头),如果是则自动转发到广场作品接口 + if (workflowId != null && workflowId.toUpperCase().startsWith("WORK-")) { + log.info("检测到广场作品编号,自动转发到广场作品接口 - workNo: {}", workflowId); + + Long userId = null; + try { + userId = SecurityUtil.getCurrentUserId(); + } catch (RuntimeException e) { + // 用户未登录 + } + + // 记录浏览 + plazaService.recordView(workflowId, userId); + // 获取作品详情 + WorkDetailResponse response = plazaService.getWorkDetail(userId, workflowId); + return Result.success(response); + } + + // 解析工作流ID + Long workflowIdLong; + try { + workflowIdLong = Long.parseLong(workflowId); + } catch (NumberFormatException e) { + log.warn("工作流ID格式错误 - workflowId: {}", workflowId); + return Result.error(400, "工作流ID格式错误,应为数字类型"); + } + + log.info("获取工作流详情 - workflowId: {}", workflowIdLong); // 获取当前用户ID(可能为null,表示未登录用户) Long userId = null; @@ -135,7 +165,7 @@ public class WorkflowController { log.debug("用户未登录,以匿名身份访问工作流详情 - workflowId: {}", workflowId); } - WorkflowDetailDto detail = workflowService.getWorkflowDetail(workflowId, userId); + WorkflowDetailDto detail = workflowService.getWorkflowDetail(workflowIdLong, userId); return Result.success(detail); } catch (Exception e) { log.error("获取工作流详情失败 - workflowId: {}", workflowId, e); diff --git a/src/main/java/com/dora/dto/AdminUserDto.java b/src/main/java/com/dora/dto/AdminUserDto.java index b107cc3..54e018c 100644 --- a/src/main/java/com/dora/dto/AdminUserDto.java +++ b/src/main/java/com/dora/dto/AdminUserDto.java @@ -55,6 +55,9 @@ public class AdminUserDto { @Schema(description = "会员类型筛选(all全部/paid当前付费会员/exchange当前兑换会员/gift赠送会员/expired过期会员/paidExpired付费过期会员/exchangeExpired兑换过期会员)") private String membershipType; + + @Schema(description = "是否禁用筛选(null全部/0正常/1禁用)") + private Integer isDeleted; } /** @@ -127,6 +130,9 @@ public class AdminUserDto { @Schema(description = "总提成金额") private String totalCommission; + + @Schema(description = "是否禁用(0正常/1禁用)") + private Integer isDeleted; } /** diff --git a/src/main/java/com/dora/dto/AiTaskDto.java b/src/main/java/com/dora/dto/AiTaskDto.java index 3ab6857..5a489a2 100644 --- a/src/main/java/com/dora/dto/AiTaskDto.java +++ b/src/main/java/com/dora/dto/AiTaskDto.java @@ -26,6 +26,9 @@ public class AiTaskDto { @Schema(description = "任务类型(text_to_image/text_to_video/image_to_video等)") private String taskType; + @Schema(description = "续作ID(如速创Sora2返回的PID,前端用于续作判断)") + private String providerPid; + @Schema(description = "进度百分比") private Integer progress; @@ -97,6 +100,7 @@ public class AiTaskDto { .modelName(entity.getModelName()) .status(entity.getStatus()) .taskType(entity.getTaskType()) + .providerPid(entity.getProviderPid()) .progress(entity.getProgress()) .promptSnippet(entity.getPrompt()) .imageUrl(entity.getImageUrl()) diff --git a/src/main/java/com/dora/dto/CreateTaskDto.java b/src/main/java/com/dora/dto/CreateTaskDto.java index d978ae8..906ca30 100644 --- a/src/main/java/com/dora/dto/CreateTaskDto.java +++ b/src/main/java/com/dora/dto/CreateTaskDto.java @@ -18,4 +18,5 @@ public class CreateTaskDto { private String imageUrl; // 参考图片URL(用于图生视频) private String imageBase64; // 参考图片Base64(用于图生视频) private String aspectRatio; // 图片宽高比 + private String sourcePid; // 续作来源PID } diff --git a/src/main/java/com/dora/dto/PlazaWorkReportDto.java b/src/main/java/com/dora/dto/PlazaWorkReportDto.java new file mode 100644 index 0000000..5cee753 --- /dev/null +++ b/src/main/java/com/dora/dto/PlazaWorkReportDto.java @@ -0,0 +1,250 @@ +package com.dora.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 广场作品投诉 DTO + * + * @author 1818AI + * @since 2025-11-14 + */ +public class PlazaWorkReportDto { + + /** + * 提交投诉请求 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "提交投诉请求") + public static class SubmitReportRequest { + + @NotBlank(message = "作品编号不能为空") + @Schema(description = "被投诉的作品编号", example = "WORK-20251026-001", required = true) + private String workNo; + + @NotBlank(message = "投诉类型不能为空") + @Schema(description = "投诉类型:political-政治敏感,pornographic-色情低俗,violent-暴力血腥,dangerous-危险行为,uncomfortable-引人不适,other-其他", + example = "pornographic", required = true) + private String reportType; + + @Schema(description = "投诉原因描述(可选)", example = "该作品包含不当内容") + private String reportReason; + } + + /** + * 投诉响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "投诉响应") + public static class ReportResponse { + + @Schema(description = "投诉编号", example = "REPORT-20251114-001") + private String reportNo; + + @Schema(description = "作品编号", example = "WORK-20251026-001") + private String workNo; + + @Schema(description = "投诉类型", example = "pornographic") + private String reportType; + + @Schema(description = "投诉类型名称", example = "色情低俗") + private String reportTypeName; + + @Schema(description = "投诉原因", example = "该作品包含不当内容") + private String reportReason; + + @Schema(description = "投诉状态", example = "pending") + private String reportStatus; + + @Schema(description = "投诉状态名称", example = "待审核") + private String reportStatusName; + + @Schema(description = "投诉时间") + private LocalDateTime createTime; + } + + /** + * 投诉列表响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "投诉列表响应") + public static class ReportListResponse { + + @Schema(description = "投诉列表") + private List records; + + @Schema(description = "总记录数") + private Long total; + + @Schema(description = "当前页码") + private Integer page; + + @Schema(description = "每页数量") + private Integer size; + + @Schema(description = "总页数") + private Integer totalPages; + } + + /** + * 管理员审核投诉请求 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "管理员审核投诉请求") + public static class AuditReportRequest { + + @NotBlank(message = "投诉编号不能为空") + @JsonProperty("reportNo") + @Schema(description = "投诉编号", example = "REPORT-20251114-001", required = true) + private String reportNo; + + @NotBlank(message = "审核结果不能为空") + @JsonProperty("auditStatus") + @Schema(description = "审核结果:approved-投诉成立,rejected-投诉不成立", + example = "approved", required = true) + private String auditStatus; + + @JsonProperty("auditRemark") + @Schema(description = "审核备注(处理说明)", example = "经审核,该作品确实存在违规内容,已下架处理") + private String auditRemark; + } + + /** + * 管理员投诉列表查询请求 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "管理员投诉列表查询请求") + public static class AdminReportQueryRequest { + + @Schema(description = "页码", example = "1") + private Integer page = 1; + + @Schema(description = "每页数量", example = "20") + private Integer size = 20; + + @Schema(description = "投诉状态筛选:pending-待审核,approved-投诉成立,rejected-投诉不成立") + private String reportStatus; + + @Schema(description = "投诉类型筛选") + private String reportType; + + @Schema(description = "作品编号") + private String workNo; + + @Schema(description = "投诉人用户ID") + private Long reporterId; + } + + /** + * 管理员投诉详情响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "管理员投诉详情响应") + public static class AdminReportDetailResponse { + + @Schema(description = "投诉编号", example = "REPORT-20251114-001") + private String reportNo; + + @Schema(description = "作品ID") + private Long workId; + + @Schema(description = "作品编号", example = "WORK-20251026-001") + private String workNo; + + @Schema(description = "作品标题") + private String workTitle; + + @Schema(description = "作品结果URL") + private String workResultUrl; + + @Schema(description = "投诉人用户ID") + private Long reporterId; + + @Schema(description = "投诉人用户名") + private String reporterUsername; + + @Schema(description = "投诉类型", example = "pornographic") + private String reportType; + + @Schema(description = "投诉类型名称", example = "色情低俗") + private String reportTypeName; + + @Schema(description = "投诉原因", example = "该作品包含不当内容") + private String reportReason; + + @Schema(description = "投诉状态", example = "pending") + private String reportStatus; + + @Schema(description = "投诉状态名称", example = "待审核") + private String reportStatusName; + + @Schema(description = "审核管理员ID") + private Long auditAdminId; + + @Schema(description = "审核管理员名称") + private String auditAdminName; + + @Schema(description = "审核备注") + private String auditRemark; + + @Schema(description = "审核时间") + private LocalDateTime auditTime; + + @Schema(description = "投诉时间") + private LocalDateTime createTime; + } + + /** + * 管理员投诉列表响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + @Schema(description = "管理员投诉列表响应") + public static class AdminReportListResponse { + + @Schema(description = "投诉列表") + private List records; + + @Schema(description = "总记录数") + private Long total; + + @Schema(description = "当前页码") + private Integer page; + + @Schema(description = "每页数量") + private Integer size; + + @Schema(description = "总页数") + private Integer totalPages; + } +} + diff --git a/src/main/java/com/dora/dto/TaskSubmitRequest.java b/src/main/java/com/dora/dto/TaskSubmitRequest.java index 0ca6980..16eb371 100644 --- a/src/main/java/com/dora/dto/TaskSubmitRequest.java +++ b/src/main/java/com/dora/dto/TaskSubmitRequest.java @@ -40,6 +40,9 @@ public class TaskSubmitRequest { @Schema(description = "图片宽高比(可选)", example = "2:3") private String aspectRatio; + @Schema(description = "来源任务编号(用于续作)", example = "T20251023123456") + private String sourceTaskNo; + /** * 检查是否为图生视频任务 */ diff --git a/src/main/java/com/dora/dto/ToolDto.java b/src/main/java/com/dora/dto/ToolDto.java new file mode 100644 index 0000000..5a8db52 --- /dev/null +++ b/src/main/java/com/dora/dto/ToolDto.java @@ -0,0 +1,253 @@ +package com.dora.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + * 工具服务相关DTO + */ +public class ToolDto { + + /** + * 工具调用请求 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class CallRequest { + /** + * 工具编码 + */ + private String toolCode; + + /** + * 请求参数 + */ + private Map params; + } + + /** + * 工具调用响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class CallResponse { + /** + * 调用流水号 + */ + private String usageNo; + + /** + * 消耗积分 + */ + private Integer pointsCost; + + /** + * 剩余积分 + */ + private Integer remainingPoints; + + /** + * API响应数据 + */ + private Object data; + } + + /** + * 工具配置创建/更新请求 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class ConfigRequest { + private String toolCode; + private String toolName; + private String category; + private String description; + private String apiEndpoint; + private String requestMethod; + private Integer pointsCost; + private Integer isEnabled; + private Integer sortOrder; + } + + /** + * 工具配置响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class ConfigResponse { + private Long id; + private String toolCode; + private String toolName; + private String category; + private String description; + private String apiEndpoint; + private String requestMethod; + private Integer pointsCost; + private Integer isEnabled; + private Integer sortOrder; + private LocalDateTime createTime; + private LocalDateTime updateTime; + } + + /** + * 工具列表响应(用户端) + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class ToolListItem { + private String toolCode; + private String toolName; + private String category; + private String description; + private Integer pointsCost; + } + + /** + * 工具使用记录响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class UsageLogResponse { + private String usageNo; + private String toolCode; + private String toolName; + private Integer pointsCost; + private String status; + private LocalDateTime createTime; + } + + /** + * 工具使用记录分页响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class UsageLogPageResponse { + private List records; + private Long total; + private Integer page; + private Integer size; + } + + /** + * 每日统计响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class DailyStatsResponse { + private LocalDate statsDate; + private String toolCode; + private String toolName; + private Integer totalCalls; + private Integer successCalls; + private Integer failedCalls; + private Integer totalPointsCost; + private Integer uniqueUsers; + } + + /** + * 统计汇总响应 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class StatsSummaryResponse { + /** + * 总调用次数 + */ + private Long totalCalls; + + /** + * 成功次数 + */ + private Long successCalls; + + /** + * 失败次数 + */ + private Long failedCalls; + + /** + * 总消耗积分 + */ + private Long totalPointsCost; + + /** + * 独立用户数 + */ + private Long uniqueUsers; + + /** + * 按工具分类统计 + */ + private List toolStats; + } + + /** + * 工具统计项 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class ToolStatsItem { + private String toolCode; + private String toolName; + private String category; + private Long totalCalls; + private Long successCalls; + private Long totalPointsCost; + } + + /** + * 统计查询请求 + */ + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class StatsQueryRequest { + /** + * 开始日期 + */ + private LocalDate startDate; + + /** + * 结束日期 + */ + private LocalDate endDate; + + /** + * 工具编码(可选) + */ + private String toolCode; + + /** + * 分类(可选) + */ + private String category; + } +} diff --git a/src/main/java/com/dora/dto/provider/ProviderTaskResult.java b/src/main/java/com/dora/dto/provider/ProviderTaskResult.java index 84f471b..3ea080e 100644 --- a/src/main/java/com/dora/dto/provider/ProviderTaskResult.java +++ b/src/main/java/com/dora/dto/provider/ProviderTaskResult.java @@ -34,6 +34,9 @@ public class ProviderTaskResult { /** 错误消息 */ private String errorMessage; + /** 服务商返回的PID(用于续作等场景) */ + private String pid; + /** * 结果文件信息 */ diff --git a/src/main/java/com/dora/dto/suchuang/SuChuangDetailResponse.java b/src/main/java/com/dora/dto/suchuang/SuChuangDetailResponse.java index d539f0d..8a4aa0b 100644 --- a/src/main/java/com/dora/dto/suchuang/SuChuangDetailResponse.java +++ b/src/main/java/com/dora/dto/suchuang/SuChuangDetailResponse.java @@ -60,6 +60,15 @@ public class SuChuangDetailResponse { /** 输入图片URL(图生视频时使用) */ private String url; + + /** 续作PID(任务完成后返回,用于下一次续作) */ + private String pid; + + /** 续作目标ID */ + private String remixTargetId; + + /** 中转URL */ + private String transfer_url; } } diff --git a/src/main/java/com/dora/entity/AiTask.java b/src/main/java/com/dora/entity/AiTask.java index 4fdbcd5..e0d68a3 100644 --- a/src/main/java/com/dora/entity/AiTask.java +++ b/src/main/java/com/dora/entity/AiTask.java @@ -15,6 +15,7 @@ public class AiTask { private String taskType; private String providerType; // AI服务提供商类型(openai, runninghub) private String providerTaskId; // 服务商返回的任务ID + private String providerPid; // 服务商返回的PID(如速创Sora2的续作ID) private String providerResponse; // 服务商原始响应(JSON) private String prompt; private String imageUrl; // 参考图片URL(用于图生视频) diff --git a/src/main/java/com/dora/entity/PlazaWorkReport.java b/src/main/java/com/dora/entity/PlazaWorkReport.java new file mode 100644 index 0000000..393614e --- /dev/null +++ b/src/main/java/com/dora/entity/PlazaWorkReport.java @@ -0,0 +1,97 @@ +package com.dora.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * 广场作品投诉实体类 + * + * @author 1818AI + * @since 2025-11-14 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PlazaWorkReport { + + /** + * 主键ID + */ + private Long id; + + /** + * 投诉编号(唯一标识) + */ + private String reportNo; + + /** + * 被投诉的作品ID + */ + private Long workId; + + /** + * 被投诉的作品编号 + */ + private String workNo; + + /** + * 投诉人用户ID + */ + private Long reporterId; + + /** + * 投诉类型:political-政治敏感,pornographic-色情低俗,violent-暴力血腥,dangerous-危险行为,uncomfortable-引人不适,other-其他 + */ + private String reportType; + + /** + * 投诉原因描述(可选) + */ + private String reportReason; + + /** + * 投诉状态:pending-待审核,approved-投诉成立,rejected-投诉不成立 + */ + private String reportStatus; + + /** + * 审核管理员ID + */ + private Long auditAdminId; + + /** + * 审核管理员名称 + */ + private String auditAdminName; + + /** + * 审核备注(处理说明) + */ + private String auditRemark; + + /** + * 审核时间 + */ + private LocalDateTime auditTime; + + /** + * 投诉时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 是否删除 + */ + private Integer isDeleted; +} + diff --git a/src/main/java/com/dora/entity/PlazaWorkReportLimit.java b/src/main/java/com/dora/entity/PlazaWorkReportLimit.java new file mode 100644 index 0000000..79a8142 --- /dev/null +++ b/src/main/java/com/dora/entity/PlazaWorkReportLimit.java @@ -0,0 +1,59 @@ +package com.dora.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 广场作品投诉限制实体类 + * 用于防止恶意投诉,记录用户每日投诉次数 + * + * @author 1818AI + * @since 2025-11-14 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PlazaWorkReportLimit { + + /** + * 主键ID + */ + private Long id; + + /** + * 用户ID + */ + private Long userId; + + /** + * 今日投诉次数 + */ + private Integer reportCount; + + /** + * 最后投诉时间 + */ + private LocalDateTime lastReportTime; + + /** + * 重置日期(用于每日重置计数) + */ + private LocalDate resetDate; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; +} + diff --git a/src/main/java/com/dora/entity/ToolConfig.java b/src/main/java/com/dora/entity/ToolConfig.java new file mode 100644 index 0000000..262ae75 --- /dev/null +++ b/src/main/java/com/dora/entity/ToolConfig.java @@ -0,0 +1,76 @@ +package com.dora.entity; + +import lombok.Data; +import java.time.LocalDateTime; + +/** + * 工具配置实体类 + * 管理员可配置每个工具的积分消耗 + */ +@Data +public class ToolConfig { + /** + * 主键 + */ + private Long id; + + /** + * 工具编码(唯一标识,如:douyin_user_videos, xiaohongshu_search_notes) + */ + private String toolCode; + + /** + * 工具名称 + */ + private String toolName; + + /** + * 工具分类(douyin/xiaohongshu/wechat_mp) + */ + private String category; + + /** + * 工具描述 + */ + private String description; + + /** + * API端点路径 + */ + private String apiEndpoint; + + /** + * 请求方法(GET/POST) + */ + private String requestMethod; + + /** + * 调用一次消耗的积分 + */ + private Integer pointsCost; + + /** + * 是否启用(0禁用/1启用) + */ + private Integer isEnabled; + + /** + * 排序顺序 + */ + private Integer sortOrder; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 逻辑删除标识 + */ + private Integer isDeleted; +} diff --git a/src/main/java/com/dora/entity/ToolUsageDailyStats.java b/src/main/java/com/dora/entity/ToolUsageDailyStats.java new file mode 100644 index 0000000..358758a --- /dev/null +++ b/src/main/java/com/dora/entity/ToolUsageDailyStats.java @@ -0,0 +1,72 @@ +package com.dora.entity; + +import lombok.Data; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 工具使用每日统计实体类 + * 按天统计每个工具的使用次数 + */ +@Data +public class ToolUsageDailyStats { + /** + * 主键 + */ + private Long id; + + /** + * 统计日期 + */ + private LocalDate statsDate; + + /** + * 工具配置ID + */ + private Long toolId; + + /** + * 工具编码 + */ + private String toolCode; + + /** + * 工具名称 + */ + private String toolName; + + /** + * 调用总次数 + */ + private Integer totalCalls; + + /** + * 成功次数 + */ + private Integer successCalls; + + /** + * 失败次数 + */ + private Integer failedCalls; + + /** + * 消耗总积分 + */ + private Integer totalPointsCost; + + /** + * 独立用户数 + */ + private Integer uniqueUsers; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/dora/entity/ToolUsageLog.java b/src/main/java/com/dora/entity/ToolUsageLog.java new file mode 100644 index 0000000..21b5244 --- /dev/null +++ b/src/main/java/com/dora/entity/ToolUsageLog.java @@ -0,0 +1,86 @@ +package com.dora.entity; + +import lombok.Data; +import java.time.LocalDateTime; + +/** + * 工具调用记录实体类 + * 记录每次工具调用和积分消耗 + */ +@Data +public class ToolUsageLog { + /** + * 主键 + */ + private Long id; + + /** + * 调用流水号(唯一) + */ + private String usageNo; + + /** + * 用户ID + */ + private Long userId; + + /** + * 工具配置ID + */ + private Long toolId; + + /** + * 工具编码 + */ + private String toolCode; + + /** + * 工具名称(冗余存储,便于查询) + */ + private String toolName; + + /** + * 消耗积分数 + */ + private Integer pointsCost; + + /** + * 请求参数(JSON格式) + */ + private String requestParams; + + /** + * 响应状态(success/failed) + */ + private String status; + + /** + * 响应数据(JSON格式,可选存储) + */ + private String responseData; + + /** + * 错误信息 + */ + private String errorMessage; + + /** + * 请求耗时(毫秒) + */ + private Long requestDuration; + + /** + * 客户端IP + */ + private String clientIp; + + /** + * 调用时间 + */ + private LocalDateTime createTime; + + /** + * 逻辑删除标识 + */ + private Integer isDeleted; +} diff --git a/src/main/java/com/dora/exception/GlobalExceptionHandler.java b/src/main/java/com/dora/exception/GlobalExceptionHandler.java index af7407e..d364f08 100644 --- a/src/main/java/com/dora/exception/GlobalExceptionHandler.java +++ b/src/main/java/com/dora/exception/GlobalExceptionHandler.java @@ -9,6 +9,7 @@ import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException; import org.springframework.web.multipart.MaxUploadSizeExceededException; import jakarta.validation.ConstraintViolation; @@ -109,4 +110,38 @@ public class GlobalExceptionHandler { "上传文件大小超过系统限制!系统最大允许上传:" + maxSizeStr + "。" + "微信素材限制:图片/语音≤2MB,视频≤10MB,缩略图≤64KB"); } + + /** + * 处理参数类型转换异常 + */ + @ExceptionHandler(MethodArgumentTypeMismatchException.class) + public ApiResponse handleMethodArgumentTypeMismatchException(MethodArgumentTypeMismatchException e) { + String paramName = e.getName(); + String paramValue = e.getValue() != null ? e.getValue().toString() : "null"; + String requiredType = e.getRequiredType() != null ? e.getRequiredType().getSimpleName() : "unknown"; + + // 获取请求详细信息用于排查问题 + String requestUri = "unknown"; + String requestMethod = "unknown"; + String referer = "unknown"; + String userAgent = "unknown"; + try { + jakarta.servlet.http.HttpServletRequest request = + ((org.springframework.web.context.request.ServletRequestAttributes) + org.springframework.web.context.request.RequestContextHolder.getRequestAttributes()).getRequest(); + requestUri = request.getRequestURI(); + requestMethod = request.getMethod(); + referer = request.getHeader("Referer"); + userAgent = request.getHeader("User-Agent"); + } catch (Exception ex) { + log.warn("获取请求信息失败: {}", ex.getMessage()); + } + + log.error("参数类型转换失败 - 请求路径: {} {}, 参数名: {}, 参数值: {}, 期望类型: {}, Referer: {}, User-Agent: {}", + requestMethod, requestUri, paramName, paramValue, requiredType, referer, userAgent); + + return ApiResponse.error(400, + String.format("参数格式错误:参数 '%s' 的值 '%s' 无法转换为 %s 类型,请检查参数格式是否正确", + paramName, paramValue, requiredType)); + } } \ No newline at end of file diff --git a/src/main/java/com/dora/mapper/PlazaWorkMapper.java b/src/main/java/com/dora/mapper/PlazaWorkMapper.java index 67f8bf5..305b395 100644 --- a/src/main/java/com/dora/mapper/PlazaWorkMapper.java +++ b/src/main/java/com/dora/mapper/PlazaWorkMapper.java @@ -126,6 +126,10 @@ public interface PlazaWorkMapper { "tags = #{tags}, " + "is_public = #{isPublic}, " + "status = #{status}, " + + "audit_status = #{auditStatus}, " + + "audit_admin_id = #{auditAdminId}, " + + "audit_time = #{auditTime}, " + + "audit_remark = #{auditRemark}, " + "update_time = NOW() " + "WHERE id = #{id}") int update(PlazaWork plazaWork); diff --git a/src/main/java/com/dora/mapper/PlazaWorkReportLimitMapper.java b/src/main/java/com/dora/mapper/PlazaWorkReportLimitMapper.java new file mode 100644 index 0000000..3054204 --- /dev/null +++ b/src/main/java/com/dora/mapper/PlazaWorkReportLimitMapper.java @@ -0,0 +1,55 @@ +package com.dora.mapper; + +import com.dora.entity.PlazaWorkReportLimit; +import org.apache.ibatis.annotations.*; + +import java.time.LocalDate; + +/** + * 广场作品投诉限制 Mapper + * + * @author 1818AI + * @since 2025-11-14 + */ +@Mapper +public interface PlazaWorkReportLimitMapper { + + /** + * 插入或更新投诉限制记录 + */ + @Insert("INSERT INTO plaza_work_report_limit (user_id, report_count, last_report_time, reset_date, create_time, update_time) " + + "VALUES (#{userId}, #{reportCount}, #{lastReportTime}, #{resetDate}, NOW(), NOW()) " + + "ON DUPLICATE KEY UPDATE " + + "report_count = VALUES(report_count), " + + "last_report_time = VALUES(last_report_time), " + + "reset_date = VALUES(reset_date), " + + "update_time = NOW()") + int insertOrUpdate(PlazaWorkReportLimit limit); + + /** + * 根据用户ID查询 + */ + @Select("SELECT * FROM plaza_work_report_limit WHERE user_id = #{userId}") + PlazaWorkReportLimit findByUserId(Long userId); + + /** + * 重置用户投诉计数(每日重置) + */ + @Update("UPDATE plaza_work_report_limit SET " + + "report_count = 0, " + + "reset_date = #{resetDate}, " + + "update_time = NOW() " + + "WHERE user_id = #{userId}") + int resetReportCount(@Param("userId") Long userId, @Param("resetDate") LocalDate resetDate); + + /** + * 增加投诉计数 + */ + @Update("UPDATE plaza_work_report_limit SET " + + "report_count = report_count + 1, " + + "last_report_time = NOW(), " + + "update_time = NOW() " + + "WHERE user_id = #{userId}") + int incrementReportCount(Long userId); +} + diff --git a/src/main/java/com/dora/mapper/PlazaWorkReportMapper.java b/src/main/java/com/dora/mapper/PlazaWorkReportMapper.java new file mode 100644 index 0000000..ec8f1fd --- /dev/null +++ b/src/main/java/com/dora/mapper/PlazaWorkReportMapper.java @@ -0,0 +1,108 @@ +package com.dora.mapper; + +import com.dora.entity.PlazaWorkReport; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +/** + * 广场作品投诉 Mapper + * + * @author 1818AI + * @since 2025-11-14 + */ +@Mapper +public interface PlazaWorkReportMapper { + + /** + * 插入投诉记录 + */ + @Insert("INSERT INTO plaza_work_report (report_no, work_id, work_no, reporter_id, report_type, report_reason, report_status, create_time) " + + "VALUES (#{reportNo}, #{workId}, #{workNo}, #{reporterId}, #{reportType}, #{reportReason}, #{reportStatus}, NOW())") + @Options(useGeneratedKeys = true, keyProperty = "id") + int insert(PlazaWorkReport report); + + /** + * 根据投诉编号查询 + */ + @Select("SELECT * FROM plaza_work_report WHERE report_no = #{reportNo} AND is_deleted = 0") + PlazaWorkReport findByReportNo(String reportNo); + + /** + * 根据作品ID和投诉人ID查询是否已投诉过 + */ + @Select("SELECT * FROM plaza_work_report WHERE work_id = #{workId} AND reporter_id = #{reporterId} AND is_deleted = 0 LIMIT 1") + PlazaWorkReport findByWorkIdAndReporterId(@Param("workId") Long workId, @Param("reporterId") Long reporterId); + + /** + * 查询用户的所有投诉(分页) + */ + @Select("SELECT * FROM plaza_work_report WHERE reporter_id = #{reporterId} AND is_deleted = 0 " + + "ORDER BY create_time DESC LIMIT #{offset}, #{size}") + List selectByReporterId(@Param("reporterId") Long reporterId, @Param("offset") int offset, @Param("size") int size); + + /** + * 统计用户投诉总数 + */ + @Select("SELECT COUNT(*) FROM plaza_work_report WHERE reporter_id = #{reporterId} AND is_deleted = 0") + Long countByReporterId(Long reporterId); + + /** + * 管理员查询投诉列表(支持筛选) + */ + @Select("") + List selectAdminReportList(@Param("reportStatus") String reportStatus, + @Param("reportType") String reportType, + @Param("workNo") String workNo, + @Param("reporterId") Long reporterId, + @Param("offset") int offset, + @Param("size") int size); + + /** + * 管理员统计投诉总数(支持筛选) + */ + @Select("") + Long countAdminReportList(@Param("reportStatus") String reportStatus, + @Param("reportType") String reportType, + @Param("workNo") String workNo, + @Param("reporterId") Long reporterId); + + /** + * 更新投诉审核信息 + */ + @Update("UPDATE plaza_work_report SET " + + "report_status = #{reportStatus}, " + + "audit_admin_id = #{auditAdminId}, " + + "audit_admin_name = #{auditAdminName}, " + + "audit_remark = #{auditRemark}, " + + "audit_time = NOW(), " + + "update_time = NOW() " + + "WHERE report_no = #{reportNo} AND is_deleted = 0") + int updateAuditInfo(PlazaWorkReport report); + + /** + * 根据作品ID查询投诉列表 + */ + @Select("SELECT * FROM plaza_work_report WHERE work_id = #{workId} AND is_deleted = 0 ORDER BY create_time DESC") + List selectByWorkId(Long workId); + + /** + * 统计待审核投诉数量 + */ + @Select("SELECT COUNT(*) FROM plaza_work_report WHERE report_status = 'pending' AND is_deleted = 0") + Long countPendingReports(); +} + diff --git a/src/main/java/com/dora/mapper/ToolConfigMapper.java b/src/main/java/com/dora/mapper/ToolConfigMapper.java new file mode 100644 index 0000000..fbcbff5 --- /dev/null +++ b/src/main/java/com/dora/mapper/ToolConfigMapper.java @@ -0,0 +1,98 @@ +package com.dora.mapper; + +import com.dora.entity.ToolConfig; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +/** + * 工具配置Mapper + */ +@Mapper +public interface ToolConfigMapper { + + /** + * 根据ID查询 + */ + @Select("SELECT * FROM tool_config WHERE id = #{id} AND is_deleted = 0") + ToolConfig selectById(@Param("id") Long id); + + /** + * 根据工具编码查询 + */ + @Select("SELECT * FROM tool_config WHERE tool_code = #{toolCode} AND is_deleted = 0") + ToolConfig selectByToolCode(@Param("toolCode") String toolCode); + + /** + * 查询所有启用的工具 + */ + @Select("SELECT * FROM tool_config WHERE is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC, id ASC") + List selectAllEnabled(); + + /** + * 按分类查询启用的工具 + */ + @Select("SELECT * FROM tool_config WHERE category = #{category} AND is_enabled = 1 AND is_deleted = 0 ORDER BY sort_order ASC") + List selectByCategory(@Param("category") String category); + + /** + * 查询所有工具(管理端) + */ + @Select("SELECT * FROM tool_config WHERE is_deleted = 0 ORDER BY category ASC, sort_order ASC, id DESC") + List selectAll(); + + /** + * 插入工具配置 + */ + @Insert("INSERT INTO tool_config (tool_code, tool_name, category, description, api_endpoint, request_method, " + + "points_cost, is_enabled, sort_order, create_time, update_time, is_deleted) " + + "VALUES (#{toolCode}, #{toolName}, #{category}, #{description}, #{apiEndpoint}, #{requestMethod}, " + + "#{pointsCost}, #{isEnabled}, #{sortOrder}, NOW(), NOW(), 0)") + @Options(useGeneratedKeys = true, keyProperty = "id") + int insert(ToolConfig toolConfig); + + /** + * 更新工具配置 + */ + @Update("UPDATE tool_config SET tool_code = #{toolCode}, tool_name = #{toolName}, category = #{category}, " + + "description = #{description}, api_endpoint = #{apiEndpoint}, request_method = #{requestMethod}, " + + "points_cost = #{pointsCost}, is_enabled = #{isEnabled}, sort_order = #{sortOrder}, update_time = NOW() " + + "WHERE id = #{id} AND is_deleted = 0") + int updateById(ToolConfig toolConfig); + + /** + * 更新积分消耗 + */ + @Update("UPDATE tool_config SET points_cost = #{pointsCost}, update_time = NOW() WHERE id = #{id} AND is_deleted = 0") + int updatePointsCost(@Param("id") Long id, @Param("pointsCost") Integer pointsCost); + + /** + * 更新启用状态 + */ + @Update("UPDATE tool_config SET is_enabled = #{isEnabled}, update_time = NOW() WHERE id = #{id} AND is_deleted = 0") + int updateStatus(@Param("id") Long id, @Param("isEnabled") Integer isEnabled); + + /** + * 逻辑删除 + */ + @Update("UPDATE tool_config SET is_deleted = 1, update_time = NOW() WHERE id = #{id}") + int deleteById(@Param("id") Long id); + + /** + * 检查工具编码是否存在 + */ + @Select("SELECT COUNT(*) FROM tool_config WHERE tool_code = #{toolCode} AND is_deleted = 0 AND id != #{excludeId}") + int countByToolCode(@Param("toolCode") String toolCode, @Param("excludeId") Long excludeId); + + /** + * 统计工具数量 + */ + @Select("SELECT COUNT(*) FROM tool_config WHERE is_deleted = 0") + Long countAll(); + + /** + * 统计启用的工具数量 + */ + @Select("SELECT COUNT(*) FROM tool_config WHERE is_enabled = 1 AND is_deleted = 0") + Long countEnabled(); +} diff --git a/src/main/java/com/dora/mapper/ToolUsageDailyStatsMapper.java b/src/main/java/com/dora/mapper/ToolUsageDailyStatsMapper.java new file mode 100644 index 0000000..30fad2e --- /dev/null +++ b/src/main/java/com/dora/mapper/ToolUsageDailyStatsMapper.java @@ -0,0 +1,122 @@ +package com.dora.mapper; + +import com.dora.entity.ToolUsageDailyStats; +import org.apache.ibatis.annotations.*; + +import java.time.LocalDate; +import java.util.List; + +/** + * 工具使用每日统计Mapper + */ +@Mapper +public interface ToolUsageDailyStatsMapper { + + /** + * 插入或更新每日统计 + */ + @Insert("INSERT INTO tool_usage_daily_stats (stats_date, tool_id, tool_code, tool_name, " + + "total_calls, success_calls, failed_calls, total_points_cost, unique_users, create_time, update_time) " + + "VALUES (#{statsDate}, #{toolId}, #{toolCode}, #{toolName}, " + + "#{totalCalls}, #{successCalls}, #{failedCalls}, #{totalPointsCost}, #{uniqueUsers}, NOW(), NOW()) " + + "ON DUPLICATE KEY UPDATE " + + "total_calls = #{totalCalls}, success_calls = #{successCalls}, failed_calls = #{failedCalls}, " + + "total_points_cost = #{totalPointsCost}, unique_users = #{uniqueUsers}, update_time = NOW()") + int insertOrUpdate(ToolUsageDailyStats stats); + + /** + * 查询某天的统计数据 + */ + @Select("SELECT * FROM tool_usage_daily_stats WHERE stats_date = #{statsDate} ORDER BY total_calls DESC") + List selectByDate(@Param("statsDate") LocalDate statsDate); + + /** + * 查询日期范围内的统计数据 + */ + @Select("SELECT * FROM tool_usage_daily_stats WHERE stats_date >= #{startDate} AND stats_date <= #{endDate} " + + "ORDER BY stats_date DESC, total_calls DESC") + List selectByDateRange(@Param("startDate") LocalDate startDate, + @Param("endDate") LocalDate endDate); + + /** + * 查询某工具的日期范围统计 + */ + @Select("SELECT * FROM tool_usage_daily_stats WHERE tool_code = #{toolCode} " + + "AND stats_date >= #{startDate} AND stats_date <= #{endDate} ORDER BY stats_date DESC") + List selectByToolCodeAndDateRange(@Param("toolCode") String toolCode, + @Param("startDate") LocalDate startDate, + @Param("endDate") LocalDate endDate); + + /** + * 汇总日期范围内的统计数据 + */ + @Select("SELECT SUM(total_calls) as total_calls, SUM(success_calls) as success_calls, " + + "SUM(failed_calls) as failed_calls, SUM(total_points_cost) as total_points_cost " + + "FROM tool_usage_daily_stats WHERE stats_date >= #{startDate} AND stats_date <= #{endDate}") + @Results({ + @Result(property = "totalCalls", column = "total_calls"), + @Result(property = "successCalls", column = "success_calls"), + @Result(property = "failedCalls", column = "failed_calls"), + @Result(property = "totalPointsCost", column = "total_points_cost") + }) + StatsSummary selectSummaryByDateRange(@Param("startDate") LocalDate startDate, + @Param("endDate") LocalDate endDate); + + /** + * 按工具汇总日期范围内的统计数据 + */ + @Select("SELECT tool_code, tool_name, SUM(total_calls) as total_calls, " + + "SUM(success_calls) as success_calls, SUM(total_points_cost) as total_points_cost " + + "FROM tool_usage_daily_stats WHERE stats_date >= #{startDate} AND stats_date <= #{endDate} " + + "GROUP BY tool_code, tool_name ORDER BY total_calls DESC") + @Results({ + @Result(property = "toolCode", column = "tool_code"), + @Result(property = "toolName", column = "tool_name"), + @Result(property = "totalCalls", column = "total_calls"), + @Result(property = "successCalls", column = "success_calls"), + @Result(property = "totalPointsCost", column = "total_points_cost") + }) + List selectToolSummaryByDateRange(@Param("startDate") LocalDate startDate, + @Param("endDate") LocalDate endDate); + + /** + * 统计汇总内部类 + */ + class StatsSummary { + private Long totalCalls; + private Long successCalls; + private Long failedCalls; + private Long totalPointsCost; + + public Long getTotalCalls() { return totalCalls; } + public void setTotalCalls(Long totalCalls) { this.totalCalls = totalCalls; } + public Long getSuccessCalls() { return successCalls; } + public void setSuccessCalls(Long successCalls) { this.successCalls = successCalls; } + public Long getFailedCalls() { return failedCalls; } + public void setFailedCalls(Long failedCalls) { this.failedCalls = failedCalls; } + public Long getTotalPointsCost() { return totalPointsCost; } + public void setTotalPointsCost(Long totalPointsCost) { this.totalPointsCost = totalPointsCost; } + } + + /** + * 工具统计汇总内部类 + */ + class ToolStatsSummary { + private String toolCode; + private String toolName; + private Long totalCalls; + private Long successCalls; + private Long totalPointsCost; + + public String getToolCode() { return toolCode; } + public void setToolCode(String toolCode) { this.toolCode = toolCode; } + public String getToolName() { return toolName; } + public void setToolName(String toolName) { this.toolName = toolName; } + public Long getTotalCalls() { return totalCalls; } + public void setTotalCalls(Long totalCalls) { this.totalCalls = totalCalls; } + public Long getSuccessCalls() { return successCalls; } + public void setSuccessCalls(Long successCalls) { this.successCalls = successCalls; } + public Long getTotalPointsCost() { return totalPointsCost; } + public void setTotalPointsCost(Long totalPointsCost) { this.totalPointsCost = totalPointsCost; } + } +} diff --git a/src/main/java/com/dora/mapper/ToolUsageLogMapper.java b/src/main/java/com/dora/mapper/ToolUsageLogMapper.java new file mode 100644 index 0000000..50819c3 --- /dev/null +++ b/src/main/java/com/dora/mapper/ToolUsageLogMapper.java @@ -0,0 +1,118 @@ +package com.dora.mapper; + +import com.dora.entity.ToolUsageLog; +import org.apache.ibatis.annotations.*; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 工具调用记录Mapper + */ +@Mapper +public interface ToolUsageLogMapper { + + /** + * 插入调用记录 + */ + @Insert("INSERT INTO tool_usage_log (usage_no, user_id, tool_id, tool_code, tool_name, points_cost, " + + "request_params, status, response_data, error_message, request_duration, client_ip, create_time, is_deleted) " + + "VALUES (#{usageNo}, #{userId}, #{toolId}, #{toolCode}, #{toolName}, #{pointsCost}, " + + "#{requestParams}, #{status}, #{responseData}, #{errorMessage}, #{requestDuration}, #{clientIp}, NOW(), 0)") + @Options(useGeneratedKeys = true, keyProperty = "id") + int insert(ToolUsageLog log); + + /** + * 根据流水号查询 + */ + @Select("SELECT * FROM tool_usage_log WHERE usage_no = #{usageNo} AND is_deleted = 0") + ToolUsageLog selectByUsageNo(@Param("usageNo") String usageNo); + + /** + * 查询用户的调用记录(分页) + */ + @Select("SELECT * FROM tool_usage_log WHERE user_id = #{userId} AND is_deleted = 0 " + + "ORDER BY create_time DESC LIMIT #{offset}, #{limit}") + List selectByUserId(@Param("userId") Long userId, + @Param("offset") int offset, + @Param("limit") int limit); + + /** + * 统计用户的调用记录数 + */ + @Select("SELECT COUNT(*) FROM tool_usage_log WHERE user_id = #{userId} AND is_deleted = 0") + Long countByUserId(@Param("userId") Long userId); + + /** + * 按工具查询用户的调用记录 + */ + @Select("SELECT * FROM tool_usage_log WHERE user_id = #{userId} AND tool_code = #{toolCode} AND is_deleted = 0 " + + "ORDER BY create_time DESC LIMIT #{offset}, #{limit}") + List selectByUserIdAndToolCode(@Param("userId") Long userId, + @Param("toolCode") String toolCode, + @Param("offset") int offset, + @Param("limit") int limit); + + /** + * 查询时间范围内的调用记录(用于统计) + */ + @Select("SELECT * FROM tool_usage_log WHERE create_time >= #{startTime} AND create_time < #{endTime} AND is_deleted = 0") + List selectByTimeRange(@Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); + + /** + * 统计时间范围内的调用次数 + */ + @Select("SELECT COUNT(*) FROM tool_usage_log WHERE create_time >= #{startTime} AND create_time < #{endTime} AND is_deleted = 0") + Long countByTimeRange(@Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); + + /** + * 统计时间范围内按工具分组的调用次数 + */ + @Select("SELECT tool_code, tool_name, COUNT(*) as total_calls, " + + "SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as success_calls, " + + "SUM(points_cost) as total_points_cost " + + "FROM tool_usage_log " + + "WHERE create_time >= #{startTime} AND create_time < #{endTime} AND is_deleted = 0 " + + "GROUP BY tool_code, tool_name") + @Results({ + @Result(property = "toolCode", column = "tool_code"), + @Result(property = "toolName", column = "tool_name"), + @Result(property = "totalCalls", column = "total_calls"), + @Result(property = "successCalls", column = "success_calls"), + @Result(property = "totalPointsCost", column = "total_points_cost") + }) + List selectStatsByTimeRange(@Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); + + /** + * 统计时间范围内的独立用户数 + */ + @Select("SELECT COUNT(DISTINCT user_id) FROM tool_usage_log " + + "WHERE create_time >= #{startTime} AND create_time < #{endTime} AND is_deleted = 0") + Long countUniqueUsersByTimeRange(@Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); + + /** + * 工具使用统计内部类 + */ + class ToolUsageStats { + private String toolCode; + private String toolName; + private Long totalCalls; + private Long successCalls; + private Long totalPointsCost; + + public String getToolCode() { return toolCode; } + public void setToolCode(String toolCode) { this.toolCode = toolCode; } + public String getToolName() { return toolName; } + public void setToolName(String toolName) { this.toolName = toolName; } + public Long getTotalCalls() { return totalCalls; } + public void setTotalCalls(Long totalCalls) { this.totalCalls = totalCalls; } + public Long getSuccessCalls() { return successCalls; } + public void setSuccessCalls(Long successCalls) { this.successCalls = successCalls; } + public Long getTotalPointsCost() { return totalPointsCost; } + public void setTotalPointsCost(Long totalPointsCost) { this.totalPointsCost = totalPointsCost; } + } +} diff --git a/src/main/java/com/dora/mapper/UserMapper.java b/src/main/java/com/dora/mapper/UserMapper.java index 88b2769..94b857a 100644 --- a/src/main/java/com/dora/mapper/UserMapper.java +++ b/src/main/java/com/dora/mapper/UserMapper.java @@ -32,6 +32,11 @@ public interface UserMapper { */ User selectByPhone(@Param("phone") String phone); + /** + * 根据手机号获取用户信息(包含禁用用户) + */ + User selectByPhoneAnyStatus(@Param("phone") String phone); + /** * 根据用户名获取用户信息 */ @@ -47,6 +52,11 @@ public interface UserMapper { */ User selectByWechatOpenid(@Param("wechatOpenid") String wechatOpenid); + /** + * 根据微信openid获取用户信息(包含禁用用户) + */ + User selectByWechatOpenidAnyStatus(@Param("wechatOpenid") String wechatOpenid); + /** * 插入新用户 */ @@ -158,7 +168,8 @@ public interface UserMapper { @Param("sortField") String sortField, @Param("sortOrder") String sortOrder, @Param("offset") int offset, - @Param("size") int size); + @Param("size") int size, + @Param("isDeleted") Integer isDeleted); /** * 统计用户列表总数(后台管理) @@ -170,7 +181,8 @@ public interface UserMapper { @Param("promotionLevel") Integer promotionLevel, @Param("createTimeStart") LocalDateTime createTimeStart, @Param("createTimeEnd") LocalDateTime createTimeEnd, - @Param("membershipType") String membershipType); + @Param("membershipType") String membershipType, + @Param("isDeleted") Integer isDeleted); /** * 获取用户详情(后台管理) diff --git a/src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java b/src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java index 0a87cf4..f7cf7f1 100644 --- a/src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java +++ b/src/main/java/com/dora/scheduler/RunningHubPollingScheduler.java @@ -222,10 +222,10 @@ public class RunningHubPollingScheduler { log.info("【结果文件】任务: {}, 文件数量: {}, 主文件URL: {}", task.getTaskNo(), result.getFiles().size(), resultUrl); - // 3. 转存文件到OSS(避免临时URL过期) - String permanentUrl = resultFileTransferService.transferToOss(resultUrl, task.getUserId(), task.getTaskNo()); + // 3. 转存文件到COS(避免临时URL过期) + String permanentUrl = resultFileTransferService.transferToCos(resultUrl, task.getUserId(), task.getTaskNo()); if (!resultUrl.equals(permanentUrl)) { - log.info("【文件转存】任务: {}, 原URL: {}, OSS URL: {}", task.getTaskNo(), resultUrl, permanentUrl); + log.info("【文件转存】任务: {}, 原URL: {}, COS URL: {}", task.getTaskNo(), resultUrl, permanentUrl); resultUrl = permanentUrl; } diff --git a/src/main/java/com/dora/scheduler/SuChuangPollingScheduler.java b/src/main/java/com/dora/scheduler/SuChuangPollingScheduler.java index ab851a1..c8df488 100644 --- a/src/main/java/com/dora/scheduler/SuChuangPollingScheduler.java +++ b/src/main/java/com/dora/scheduler/SuChuangPollingScheduler.java @@ -86,11 +86,11 @@ public class SuChuangPollingScheduler { // 给予30秒宽限期,避免在任务刚提交时误判为失败 long secondsSinceCreation = Duration.between(task.getCreateTime(), LocalDateTime.now()).getSeconds(); if (secondsSinceCreation < 30) { - log.info("速创任务 {} 的providerTaskId为空,但任务刚创建{}秒,继续等待", taskNo, secondsSinceCreation); + log.info("SORA2任务 {} 的providerTaskId为空,但任务刚创建{}秒,继续等待", taskNo, secondsSinceCreation); return; } log.error("速创任务 {} 的providerTaskId为空超过30秒,这是提交失败的任务,将标记为失败", taskNo); - handleFailure(task, "任务提交失败:未获取到速创任务ID"); + handleFailure(task, "任务提交失败:未获取到任务ID,请联系管理员"); return; } @@ -111,7 +111,7 @@ public class SuChuangPollingScheduler { // 3. 根据状态处理 switch (status.getStatus()) { case SUCCESS: - log.info("【速创任务成功】任务: {}, 开始获取结果", taskNo); + log.info("【速创yo任务成功】任务: {}, 开始获取结果", taskNo); handleSuccess(task, provider); break; @@ -212,10 +212,10 @@ public class SuChuangPollingScheduler { log.info("【速创结果文件】任务: {}, 文件数量: {}, 主文件URL: {}", task.getTaskNo(), result.getFiles().size(), resultUrl); - // 3. 转存文件到OSS(避免临时URL过期) - String permanentUrl = resultFileTransferService.transferToOss(resultUrl, task.getUserId(), task.getTaskNo()); + // 3. 转存文件到COS(避免临时URL过期) + String permanentUrl = resultFileTransferService.transferToCos(resultUrl, task.getUserId(), task.getTaskNo()); if (!resultUrl.equals(permanentUrl)) { - log.info("【速创文件转存】任务: {}, 原URL: {}, OSS URL: {}", task.getTaskNo(), resultUrl, permanentUrl); + log.info("【速创文件转存】任务: {}, 原URL: {}, COS URL: {}", task.getTaskNo(), resultUrl, permanentUrl); resultUrl = permanentUrl; } @@ -228,6 +228,12 @@ public class SuChuangPollingScheduler { task.setUpdateTime(LocalDateTime.now()); task.setPointsConsumed(task.getPointsFrozen()); + // 保存PID(用于续作) + if (result.getPid() != null && !result.getPid().trim().isEmpty()) { + task.setProviderPid(result.getPid()); + log.info("【速创PID保存】任务: {}, PID: {}", task.getTaskNo(), result.getPid()); + } + aiTaskMapper.update(task); // 4. 发送WebSocket通知 diff --git a/src/main/java/com/dora/scheduler/ToolUsageStatsScheduler.java b/src/main/java/com/dora/scheduler/ToolUsageStatsScheduler.java new file mode 100644 index 0000000..88d5497 --- /dev/null +++ b/src/main/java/com/dora/scheduler/ToolUsageStatsScheduler.java @@ -0,0 +1,52 @@ +package com.dora.scheduler; + +import com.dora.service.AdminToolConfigService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.time.LocalDate; + +/** + * 工具使用统计定时任务 + * 每天凌晨1点统计前一天的数据 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class ToolUsageStatsScheduler { + + private final AdminToolConfigService adminToolConfigService; + + /** + * 每天凌晨1点执行,统计前一天的数据 + */ + @Scheduled(cron = "0 0 1 * * ?") + public void refreshYesterdayStats() { + LocalDate yesterday = LocalDate.now().minusDays(1); + log.info("开始统计工具使用数据: date={}", yesterday); + + try { + adminToolConfigService.refreshDailyStats(yesterday); + log.info("工具使用统计完成: date={}", yesterday); + } catch (Exception e) { + log.error("工具使用统计失败: date={}", yesterday, e); + } + } + + /** + * 每小时执行一次,更新当天的实时统计 + */ + @Scheduled(cron = "0 0 * * * ?") + public void refreshTodayStats() { + LocalDate today = LocalDate.now(); + log.debug("更新今日工具使用统计: date={}", today); + + try { + adminToolConfigService.refreshDailyStats(today); + } catch (Exception e) { + log.error("更新今日统计失败: date={}", today, e); + } + } +} diff --git a/src/main/java/com/dora/service/AdminToolConfigService.java b/src/main/java/com/dora/service/AdminToolConfigService.java new file mode 100644 index 0000000..82ee58c --- /dev/null +++ b/src/main/java/com/dora/service/AdminToolConfigService.java @@ -0,0 +1,136 @@ +package com.dora.service; + +import com.dora.dto.ToolDto; +import com.dora.entity.ToolConfig; + +import java.time.LocalDate; +import java.util.List; + +/** + * 管理端工具配置服务接口 + */ +public interface AdminToolConfigService { + + // ==================== 工具配置管理 ==================== + + /** + * 获取所有工具配置 + * + * @return 工具配置列表 + */ + List getAllConfigs(); + + /** + * 根据ID获取工具配置 + * + * @param id 工具ID + * @return 工具配置 + */ + ToolDto.ConfigResponse getConfigById(Long id); + + /** + * 创建工具配置 + * + * @param request 创建请求 + * @return 创建后的配置 + */ + ToolDto.ConfigResponse createConfig(ToolDto.ConfigRequest request); + + /** + * 更新工具配置 + * + * @param id 工具ID + * @param request 更新请求 + * @return 更新后的配置 + */ + ToolDto.ConfigResponse updateConfig(Long id, ToolDto.ConfigRequest request); + + /** + * 更新工具积分消耗 + * + * @param id 工具ID + * @param pointsCost 积分消耗 + * @return 是否成功 + */ + boolean updatePointsCost(Long id, Integer pointsCost); + + /** + * 更新工具状态(启用/禁用) + * + * @param id 工具ID + * @param isEnabled 是否启用 + * @return 是否成功 + */ + boolean updateStatus(Long id, Integer isEnabled); + + /** + * 删除工具配置 + * + * @param id 工具ID + * @return 是否成功 + */ + boolean deleteConfig(Long id); + + // ==================== 使用统计 ==================== + + /** + * 获取统计汇总 + * + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return 统计汇总 + */ + ToolDto.StatsSummaryResponse getStatsSummary(LocalDate startDate, LocalDate endDate); + + /** + * 获取每日统计列表 + * + * @param startDate 开始日期 + * @param endDate 结束日期 + * @param toolCode 工具编码(可选) + * @return 每日统计列表 + */ + List getDailyStats(LocalDate startDate, LocalDate endDate, String toolCode); + + /** + * 手动刷新某天的统计数据 + * + * @param date 日期 + */ + void refreshDailyStats(LocalDate date); + + /** + * 获取工具统计信息 + * + * @return 统计信息 + */ + ToolStatsInfo getToolStatsInfo(); + + /** + * 工具统计信息 + */ + class ToolStatsInfo { + private Long totalTools; + private Long enabledTools; + private Long todayCalls; + private Long todayPointsCost; + + public ToolStatsInfo() {} + + public ToolStatsInfo(Long totalTools, Long enabledTools, Long todayCalls, Long todayPointsCost) { + this.totalTools = totalTools; + this.enabledTools = enabledTools; + this.todayCalls = todayCalls; + this.todayPointsCost = todayPointsCost; + } + + public Long getTotalTools() { return totalTools; } + public void setTotalTools(Long totalTools) { this.totalTools = totalTools; } + public Long getEnabledTools() { return enabledTools; } + public void setEnabledTools(Long enabledTools) { this.enabledTools = enabledTools; } + public Long getTodayCalls() { return todayCalls; } + public void setTodayCalls(Long todayCalls) { this.todayCalls = todayCalls; } + public Long getTodayPointsCost() { return todayPointsCost; } + public void setTodayPointsCost(Long todayPointsCost) { this.todayPointsCost = todayPointsCost; } + } +} diff --git a/src/main/java/com/dora/service/AsyncTaskExecutor.java b/src/main/java/com/dora/service/AsyncTaskExecutor.java index 716bfbf..bcd5468 100644 --- a/src/main/java/com/dora/service/AsyncTaskExecutor.java +++ b/src/main/java/com/dora/service/AsyncTaskExecutor.java @@ -59,7 +59,7 @@ public class AsyncTaskExecutor { // 检查响应是否有效 if (response == null || response.getProviderTaskId() == null || response.getProviderTaskId().trim().isEmpty()) { log.error("异步任务 {} 提交失败,Provider返回无效响应: {}", task.getTaskNo(), response); - throw new RuntimeException("Provider返回无效的任务ID"); + throw new RuntimeException("出现一点小错误,本次积分已回退"); } log.info("异步任务 {} 提交成功,Provider任务ID: {}", task.getTaskNo(), response.getProviderTaskId()); @@ -98,6 +98,22 @@ public class AsyncTaskExecutor { Map providerConfig = getProviderConfig(task.getModelName()); request.setProviderConfig(providerConfig); + // 处理续作参数:从 providerResponse 中提取 tempSourcePid + if (task.getProviderResponse() != null && task.getProviderResponse().contains("tempSourcePid")) { + try { + com.alibaba.fastjson.JSONObject json = com.alibaba.fastjson.JSON.parseObject(task.getProviderResponse()); + String sourcePid = json.getString("tempSourcePid"); + if (sourcePid != null) { + Map extraParams = new java.util.HashMap<>(); + extraParams.put("sourcePid", sourcePid); + request.setExtraParams(extraParams); + log.info("任务 {} 包含续作PID: {}", task.getTaskNo(), sourcePid); + } + } catch (Exception e) { + log.warn("解析续作参数失败: {}", e.getMessage()); + } + } + return request; } diff --git a/src/main/java/com/dora/service/OssPostSignatureService.java b/src/main/java/com/dora/service/OssPostSignatureService.java index dd73c4c..8ac2165 100644 --- a/src/main/java/com/dora/service/OssPostSignatureService.java +++ b/src/main/java/com/dora/service/OssPostSignatureService.java @@ -1,9 +1,6 @@ package com.dora.service; -import com.aliyun.oss.common.utils.BinaryUtil; -import com.aliyuncs.sts.model.v20150401.AssumeRoleRequest; -import com.aliyuncs.sts.model.v20150401.AssumeRoleResponse; -import com.dora.config.OssConfig; +import com.dora.config.CosConfig; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -12,19 +9,20 @@ import org.springframework.stereotype.Service; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.*; /** - * OSS POST签名版本4服务类 + * COS POST签名服务类(保持接口兼容) */ @Service @RequiredArgsConstructor @Slf4j public class OssPostSignatureService { - private final OssConfig ossConfig; + private final CosConfig cosConfig; // 指定过期时间,单位为秒 private static final Long EXPIRE_TIME = 3600L; @@ -53,151 +51,107 @@ public class OssPostSignatureService { return formattedDate; } - /** - * 获取STS临时凭证 - * @return AssumeRoleResponse 对象 - */ - public AssumeRoleResponse getCredential() throws Exception { - try { - // 使用新的STS SDK - com.aliyuncs.profile.DefaultProfile profile = com.aliyuncs.profile.DefaultProfile.getProfile("", - ossConfig.getAccessKeyId(), - ossConfig.getAccessKeySecret() - ); - - com.aliyuncs.DefaultAcsClient client = new com.aliyuncs.DefaultAcsClient(profile); - - AssumeRoleRequest request = new AssumeRoleRequest(); - request.setSysEndpoint("sts.aliyuncs.com"); - request.setSysMethod(com.aliyuncs.http.MethodType.POST); - request.setRoleArn("acs:ram::1234567890123456:role/aliyunosstokengeneratorrole"); - request.setRoleSessionName("oss-upload-session"); - - return client.getAcsResponse(request); - } catch (Exception e) { - log.error("STS AssumeRole failed: {}", e.getMessage()); - throw e; - } - } /** - * 获取OSS POST签名 + * 获取COS POST签名(保持接口兼容) * @param userId 用户ID * @param fileName 文件名 * @return POST签名信息 */ public Map getPostSignatureForOssUpload(String userId, String fileName) throws Exception { - // 由于STS需要RAM角色,我们暂时使用直接的方式 - // 在实际生产环境中,建议使用STS临时凭证 + String secretId = cosConfig.getSecretId(); + String secretKey = cosConfig.getSecretKey(); - String accessKeyId = ossConfig.getAccessKeyId(); - String accessKeySecret = ossConfig.getAccessKeySecret(); - String securityToken = ""; // 直接使用时不使用SecurityToken - - // 获取x-oss-credential里的date,当前日期,格式为yyyyMMdd - ZonedDateTime today = ZonedDateTime.now().withZoneSameInstant(ZoneOffset.UTC); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - String date = today.format(formatter); + // 生成 KeyTime(签名有效时间) + long currentSeconds = System.currentTimeMillis() / 1000; + long expireSeconds = currentSeconds + EXPIRE_TIME; + String keyTime = currentSeconds + ";" + expireSeconds; - // 获取x-oss-date - ZonedDateTime now = ZonedDateTime.now().withZoneSameInstant(ZoneOffset.UTC); - DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss'Z'"); - String x_oss_date = now.format(formatter2); - - // 步骤1:创建policy - String x_oss_credential = accessKeyId + "/" + date + "/" + ossConfig.getRegion() + "/oss/aliyun_v4_request"; - + // 构造 Policy ObjectMapper mapper = new ObjectMapper(); - Map policy = new HashMap<>(); policy.put("expiration", generateExpiration(EXPIRE_TIME)); - + List conditions = new ArrayList<>(); - - Map bucketCondition = new HashMap<>(); - bucketCondition.put("bucket", ossConfig.getBucketName()); - conditions.add(bucketCondition); - - Map signatureVersionCondition = new HashMap<>(); - signatureVersionCondition.put("x-oss-signature-version", "OSS4-HMAC-SHA256"); - conditions.add(signatureVersionCondition); - - Map credentialCondition = new HashMap<>(); - credentialCondition.put("x-oss-credential", x_oss_credential); - conditions.add(credentialCondition); - - Map dateCondition = new HashMap<>(); - dateCondition.put("x-oss-date", x_oss_date); - conditions.add(dateCondition); - - // 设置文件大小限制为10MB (10 * 1024 * 1024 = 10485760) + // bucket 条件 + conditions.add(Map.of("bucket", cosConfig.getBucketName())); + // 文件大小限制 10MB conditions.add(Arrays.asList("content-length-range", 1, 10485760)); - conditions.add(Arrays.asList("eq", "$success_action_status", "200")); + // key 前缀限制 + conditions.add(Arrays.asList("starts-with", "$key", cosConfig.getUserImgFolder())); + // COS 必需的签名相关条件 + conditions.add(Map.of("q-sign-algorithm", "sha1")); + conditions.add(Map.of("q-ak", secretId)); + conditions.add(Map.of("q-sign-time", keyTime)); - // 添加Content-Type条件,确保压缩包文件能够正确上传 - String fileExtension = ""; - if (fileName.contains(".")) { - fileExtension = fileName.substring(fileName.lastIndexOf(".")).toLowerCase(); - } - - // 根据文件类型设置Content-Type条件 - if (fileExtension.matches("\\.(zip|rar|7z|tar|gz|bz2|xz)")) { - // 压缩包文件 - conditions.add(Arrays.asList("starts-with", "$Content-Type", "application/")); - } else if (fileExtension.matches("\\.(jpg|jpeg|png|gif|bmp|webp)")) { - // 图片文件 - conditions.add(Arrays.asList("starts-with", "$Content-Type", "image/")); - } else { - // 其他文件类型 - conditions.add(Arrays.asList("starts-with", "$Content-Type", "application/")); - } - - // 移除key前缀限制,允许任意key - // conditions.add(Arrays.asList("starts-with", "$key", ossConfig.getUserImgFolder())); - policy.put("conditions", conditions); - String jsonPolicy = mapper.writeValueAsString(policy); - - // 步骤2:构造待签名字符串(StringToSign) - String stringToSign = new String(Base64.encodeBase64(jsonPolicy.getBytes())); - - // 步骤3:计算SigningKey - byte[] dateKey = hmacsha256(("aliyun_v4" + accessKeySecret).getBytes(), date); - byte[] dateRegionKey = hmacsha256(dateKey, ossConfig.getRegion()); - byte[] dateRegionServiceKey = hmacsha256(dateRegionKey, "oss"); - byte[] signingKey = hmacsha256(dateRegionServiceKey, "aliyun_v4_request"); - - // 步骤4:计算Signature - byte[] result = hmacsha256(signingKey, stringToSign); - String signature = BinaryUtil.toHex(result); - - Map response = new HashMap<>(); - // 将数据添加到 map 中 - response.put("version", "OSS4-HMAC-SHA256"); - response.put("policy", stringToSign); - response.put("x_oss_credential", x_oss_credential); - response.put("x_oss_date", x_oss_date); - response.put("signature", signature); - response.put("security_token", securityToken); - // 确保dir路径格式正确,不以斜杠开头 - String dir = ossConfig.getUserImgFolder(); + + // 生成 SignKey + String signKey = hmacSha1(secretKey, keyTime); + + // 生成 StringToSign(Policy JSON 原文的 SHA1 哈希) + String stringToSign = sha1(jsonPolicy); + + // 生成 Signature + String signature = hmacSha1(signKey, stringToSign); + + // Base64 编码 Policy(用于表单提交) + String encodedPolicy = Base64.encodeBase64String(jsonPolicy.getBytes(StandardCharsets.UTF_8)); + + // 目录路径 + String dir = cosConfig.getUserImgFolder(); if (dir.startsWith("/")) { dir = dir.substring(1); } + if (!dir.endsWith("/")) { + dir += "/"; + } + + // COS 域名 + String host = "https://" + cosConfig.getBucketName() + ".cos." + cosConfig.getRegion() + ".myqcloud.com"; + + // 构造返回结果(COS 标准字段 + 兼容字段) + Map response = new HashMap<>(); + + // === COS 标准字段(前端提交表单时使用) === + response.put("policy", encodedPolicy); + response.put("q-sign-algorithm", "sha1"); + response.put("q-ak", secretId); + response.put("q-key-time", keyTime); // 必需字段 + response.put("q-sign-time", keyTime); // 必需字段 + response.put("q-signature", signature); + + // === 兼容 OSS 的字段(前端可能还在用) === + response.put("signature", signature); + response.put("accessKeyId", secretId); + response.put("security_token", ""); + response.put("OSSAccessKeyId", secretId); // OSS 字段名 + + // === 通用字段 === response.put("dir", dir); - response.put("host", "https://" + ossConfig.getBucketName() + "." + ossConfig.getEndpoint().replace("https://", "")); - response.put("accessKeyId", accessKeyId); + response.put("host", host); response.put("userId", userId); response.put("fileName", fileName); - // 添加文件类型和大小限制信息 + // 文件类型和大小限制 response.put("fileType", getFileType(fileName)); - response.put("maxFileSize", 10485760); // 10MB in bytes + response.put("maxFileSize", 10485760); response.put("maxFileSizeMB", 10); - log.info("Generated POST signature for user {}: {}, fileType: {}, maxSize: {}MB", + // 兼容字段 + response.put("version", "COS"); + response.put("x_oss_credential", ""); + response.put("x_oss_date", ""); + + log.info("Generated COS POST signature for user {}: {}, fileType: {}, maxSize: {}MB", userId, fileName, getFileType(fileName), 10); + log.debug("COS POST signature calculation:"); + log.debug(" KeyTime: {}", keyTime); + log.debug(" Policy JSON: {}", jsonPolicy); + log.debug(" StringToSign (SHA1 of Policy): {}", stringToSign); + log.debug(" SignKey: {}", signKey); + log.debug(" Signature: {}", signature); return response; } @@ -226,24 +180,41 @@ public class OssPostSignatureService { } /** - * 计算HMAC-SHA256 + * 计算HMAC-SHA1(COS 使用) */ - public static byte[] hmacsha256(byte[] key, String data) { + private String hmacSha1(String key, String data) { try { - // 初始化HMAC密钥规格,指定算法为HMAC-SHA256并使用提供的密钥。 - SecretKeySpec secretKeySpec = new SecretKeySpec(key, "HmacSHA256"); - - // 获取Mac实例,并通过getInstance方法指定使用HMAC-SHA256算法。 - Mac mac = Mac.getInstance("HmacSHA256"); - // 使用密钥初始化Mac对象。 + SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA1"); + Mac mac = Mac.getInstance("HmacSHA1"); mac.init(secretKeySpec); - - // 执行HMAC计算,通过doFinal方法接收需要计算的数据并返回计算结果的数组。 - byte[] hmacBytes = mac.doFinal(data.getBytes()); - - return hmacBytes; + byte[] hmacBytes = mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + return toHexString(hmacBytes); } catch (Exception e) { - throw new RuntimeException("Failed to calculate HMAC-SHA256", e); + throw new RuntimeException("Failed to calculate HMAC-SHA1", e); } } + + /** + * 计算 SHA1 哈希 + */ + private String sha1(String data) { + try { + java.security.MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1"); + byte[] hash = digest.digest(data.getBytes(StandardCharsets.UTF_8)); + return toHexString(hash); + } catch (Exception e) { + throw new RuntimeException("Failed to calculate SHA1", e); + } + } + + /** + * 字节数组转十六进制字符串 + */ + private String toHexString(byte[] bytes) { + StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } } \ No newline at end of file diff --git a/src/main/java/com/dora/service/OssService.java b/src/main/java/com/dora/service/OssService.java index aab6b31..490775e 100644 --- a/src/main/java/com/dora/service/OssService.java +++ b/src/main/java/com/dora/service/OssService.java @@ -1,10 +1,10 @@ package com.dora.service; -import com.aliyun.oss.OSS; -import com.aliyun.oss.internal.OSSHeaders; -import com.aliyun.oss.model.GeneratePresignedUrlRequest; -import com.dora.config.OssConfig; +import com.dora.config.CosConfig; import com.dora.util.OssUtil; +import com.qcloud.cos.COSClient; +import com.qcloud.cos.http.HttpMethodName; +import com.qcloud.cos.model.GeneratePresignedUrlRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -14,15 +14,15 @@ import java.text.SimpleDateFormat; import java.util.*; /** - * 阿里云OSS服务类 + * 腾讯云COS服务类 */ @Service @RequiredArgsConstructor @Slf4j public class OssService { - private final OSS ossClient; - private final OssConfig ossConfig; + private final COSClient cosClient; + private final CosConfig cosConfig; /** * 生成预签名上传URL @@ -40,7 +40,7 @@ public class OssService { // 生成唯一的文件名 String uniqueFileName = OssUtil.generateUniqueFileName(fileName, Long.valueOf(userId)); - String objectKey = ossConfig.getUserImgFolder() + "/" + uniqueFileName; + String objectKey = cosConfig.getUserImgFolder() + "/" + uniqueFileName; // 获取文件类型 String contentType = OssUtil.getContentType(fileName); @@ -50,15 +50,14 @@ public class OssService { headers.put("Content-Type", contentType); // 设置过期时间 - Date expiration = new Date(System.currentTimeMillis() + ossConfig.getExpirationSeconds() * 1000); + Date expiration = new Date(System.currentTimeMillis() + cosConfig.getExpirationSeconds() * 1000); - // 构造请求 - GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(ossConfig.getBucketName(), objectKey); + // 构造 COS 预签名请求(PUT 上传) + GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(cosConfig.getBucketName(), objectKey, HttpMethodName.PUT); request.setExpiration(expiration); - request.setHeaders(headers); // 生成预签名URL - URL url = ossClient.generatePresignedUrl(request); + URL url = cosClient.generatePresignedUrl(request); // 格式化过期时间 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); @@ -90,7 +89,7 @@ public class OssService { } /** - * 处理OSS回调 + * 处理COS回调 * * @param callbackData 回调数据 * @return 处理结果 @@ -102,7 +101,7 @@ public class OssService { String userId = callbackData.get("userId"); String fileName = callbackData.get("fileName"); - log.info("Received OSS callback - bucket: {}, object: {}, userId: {}, fileName: {}", + log.info("Received COS callback - bucket: {}, object: {}, userId: {}, fileName: {}", bucket, object, userId, fileName); // 这里可以添加业务逻辑,比如: @@ -122,7 +121,7 @@ public class OssService { return result; } catch (Exception e) { - log.error("Failed to handle OSS callback: {}", e.getMessage(), e); + log.error("Failed to handle COS callback: {}", e.getMessage(), e); Map result = new HashMap<>(); result.put("success", false); result.put("message", "Failed to handle callback: " + e.getMessage()); @@ -130,21 +129,19 @@ public class OssService { } } - - /** - * 删除OSS文件 + * 删除COS文件 * * @param objectKey 对象键 * @return 是否删除成功 */ public boolean deleteFile(String objectKey) { try { - ossClient.deleteObject(ossConfig.getBucketName(), objectKey); - log.info("Deleted OSS file: {}", objectKey); + cosClient.deleteObject(cosConfig.getBucketName(), objectKey); + log.info("Deleted COS file: {}", objectKey); return true; } catch (Exception e) { - log.error("Failed to delete OSS file {}: {}", objectKey, e.getMessage(), e); + log.error("Failed to delete COS file {}: {}", objectKey, e.getMessage(), e); return false; } } diff --git a/src/main/java/com/dora/service/PlazaWorkReportService.java b/src/main/java/com/dora/service/PlazaWorkReportService.java new file mode 100644 index 0000000..bc6e103 --- /dev/null +++ b/src/main/java/com/dora/service/PlazaWorkReportService.java @@ -0,0 +1,57 @@ +package com.dora.service; + +import com.dora.dto.PlazaWorkReportDto; + +/** + * 广场作品投诉服务接口 + * + * @author 1818AI + * @since 2025-11-14 + */ +public interface PlazaWorkReportService { + + /** + * 提交投诉 + * + * @param userId 投诉人用户ID + * @param request 投诉请求 + * @return 投诉响应 + */ + PlazaWorkReportDto.ReportResponse submitReport(Long userId, PlazaWorkReportDto.SubmitReportRequest request); + + /** + * 查询用户的投诉列表 + * + * @param userId 用户ID + * @param page 页码 + * @param size 每页数量 + * @return 投诉列表响应 + */ + PlazaWorkReportDto.ReportListResponse getMyReports(Long userId, Integer page, Integer size); + + /** + * 管理员查询投诉列表 + * + * @param request 查询请求 + * @return 投诉列表响应 + */ + PlazaWorkReportDto.AdminReportListResponse getAdminReportList(PlazaWorkReportDto.AdminReportQueryRequest request); + + /** + * 管理员审核投诉 + * + * @param adminId 管理员ID + * @param adminName 管理员名称 + * @param request 审核请求 + * @return 是否成功 + */ + boolean auditReport(Long adminId, String adminName, PlazaWorkReportDto.AuditReportRequest request); + + /** + * 获取待审核投诉数量 + * + * @return 待审核数量 + */ + Long getPendingReportCount(); +} + diff --git a/src/main/java/com/dora/service/ResultFileTransferService.java b/src/main/java/com/dora/service/ResultFileTransferService.java index e355541..22daef6 100644 --- a/src/main/java/com/dora/service/ResultFileTransferService.java +++ b/src/main/java/com/dora/service/ResultFileTransferService.java @@ -1,22 +1,20 @@ package com.dora.service; -import com.aliyun.oss.OSS; -import com.aliyun.oss.model.ObjectMetadata; -import com.dora.config.OssConfig; +import com.dora.config.CosConfig; import com.dora.util.OssUtil; +import com.qcloud.cos.COSClient; +import com.qcloud.cos.model.ObjectMetadata; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URL; /** * 结果文件转存服务 - * 将第三方AI服务提供的临时URL文件转存到自己的OSS + * 将第三方AI服务提供的临时URL文件转存到自己的COS * * @author 1818AI * @since 2025-10-24 @@ -26,26 +24,25 @@ import java.net.URL; @Slf4j public class ResultFileTransferService { - private final OSS ossClient; - private final OssConfig ossConfig; - private final RestTemplate restTemplate; + private final COSClient cosClient; + private final CosConfig cosConfig; /** - * 将远程URL的文件转存到OSS + * 将远程URL的文件转存到COS * * @param sourceUrl 源文件URL * @param userId 用户ID * @param taskNo 任务编号 - * @return OSS永久URL,如果失败返回原URL + * @return COS永久URL,如果失败返回原URL */ - public String transferToOss(String sourceUrl, Long userId, String taskNo) { + public String transferToCos(String sourceUrl, Long userId, String taskNo) { if (sourceUrl == null || sourceUrl.trim().isEmpty()) { log.warn("源URL为空,跳过转存"); return sourceUrl; } try { - log.info("开始转存文件到OSS - 任务: {}, 源URL: {}", taskNo, sourceUrl); + log.info("开始转存文件到COS - 任务: {}, 源URL: {}", taskNo, sourceUrl); // 1. 从URL下载文件 InputStream inputStream = downloadFile(sourceUrl); @@ -54,53 +51,109 @@ public class ResultFileTransferService { return sourceUrl; } - // 2. 生成OSS对象键 + // 2. 生成对象键 String fileExtension = extractFileExtension(sourceUrl); String uniqueFileName = generateResultFileName(userId, taskNo, fileExtension); - String objectKey = ossConfig.getUserImgFolder() + "/" + uniqueFileName; + String objectKey = cosConfig.getUserImgFolder() + "/" + uniqueFileName; // 3. 设置对象元数据 ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType(getContentTypeFromExtension(fileExtension)); - // 4. 上传到OSS - ossClient.putObject(ossConfig.getBucketName(), objectKey, inputStream, metadata); + // 4. 上传到 COS + cosClient.putObject(cosConfig.getBucketName(), objectKey, inputStream, metadata); // 5. 生成永久URL String permanentUrl = generatePermanentUrl(objectKey); - log.info("文件转存成功 - 任务: {}, OSS URL: {}", taskNo, permanentUrl); + log.info("文件转存成功 - 任务: {}, COS URL: {}", taskNo, permanentUrl); return permanentUrl; } catch (Exception e) { - log.error("转存文件到OSS失败 - 任务: {}, 错误: {}", taskNo, e.getMessage(), e); + log.error("转存文件到COS失败 - 任务: {}, 错误: {}", taskNo, e.getMessage(), e); return sourceUrl; // 失败时返回原URL,确保业务不中断 } } /** * 下载远程文件 + * 使用HttpURLConnection而不是RestTemplate,避免自动解码带签名的URL */ private InputStream downloadFile(String url) { - try { - ResponseEntity response = restTemplate.exchange( - url, - HttpMethod.GET, - null, - byte[].class - ); - - if (response.getStatusCode().is2xxSuccessful() && response.getBody() != null) { - return new java.io.ByteArrayInputStream(response.getBody()); + // 最多重试3次 + int maxRetries = 3; + int retryDelay = 2000; // 2秒 + + for (int attempt = 1; attempt <= maxRetries; attempt++) { + HttpURLConnection connection = null; + try { + // 优先使用IPv4,避免IPv6网络不可达问题 + System.setProperty("java.net.preferIPv4Stack", "true"); + + log.info("开始下载文件(尝试 {}/{}): {}", attempt, maxRetries, url); + + // 对于带签名的Azure存储URL,必须保持原始URL编码格式 + // 使用HttpURLConnection可以完全控制HTTP请求,不会自动解码URL + URL urlObj = new URL(url); + connection = (HttpURLConnection) urlObj.openConnection(); + connection.setRequestMethod("GET"); + connection.setConnectTimeout(30000); // 30秒连接超时 + connection.setReadTimeout(300000); // 5分钟读取超时 + connection.setInstanceFollowRedirects(true); + + // 添加User-Agent,某些服务器可能需要 + connection.setRequestProperty("User-Agent", "Mozilla/5.0"); + + int responseCode = connection.getResponseCode(); + if (responseCode >= 200 && responseCode < 300) { + InputStream inputStream = connection.getInputStream(); + // 读取所有数据到字节数组 + byte[] data = inputStream.readAllBytes(); + inputStream.close(); + log.info("文件下载成功,大小: {} bytes", data.length); + return new java.io.ByteArrayInputStream(data); + } else { + log.error("下载文件失败,HTTP状态: {}, URL: {}", responseCode, url); + if (attempt < maxRetries) { + log.info("等待 {}ms 后重试...", retryDelay); + Thread.sleep(retryDelay); + } + } + + } catch (java.net.SocketException e) { + log.error("网络连接异常(尝试 {}/{}): {} - URL: {}", + attempt, maxRetries, e.getMessage(), url); + if (e.getMessage().contains("Network is unreachable")) { + log.error("【网络不可达】可能原因:1) 服务器防火墙阻止出站连接 2) IPv6配置问题 3) DNS解析失败 4) 目标服务器不可用"); + } + if (attempt < maxRetries) { + try { + log.info("等待 {}ms 后重试...", retryDelay); + Thread.sleep(retryDelay); + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + } + } catch (Exception e) { + log.error("下载文件异常(尝试 {}/{}): {} - URL: {}", + attempt, maxRetries, e.getClass().getSimpleName(), url, e); + if (attempt < maxRetries) { + try { + log.info("等待 {}ms 后重试...", retryDelay); + Thread.sleep(retryDelay); + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + } + } finally { + if (connection != null) { + connection.disconnect(); + } } - - log.error("下载文件失败,HTTP状态: {}", response.getStatusCode()); - return null; - - } catch (Exception e) { - log.error("下载文件异常: {}", e.getMessage(), e); - return null; } + + log.error("下载文件失败,已重试 {} 次,放弃下载 - URL: {}", maxRetries, url); + return null; } /** @@ -169,11 +222,18 @@ public class ResultFileTransferService { } /** - * 生成OSS永久URL + * 生成 COS 永久URL */ private String generatePermanentUrl(String objectKey) { - // 使用OSS的公共访问域名或CDN域名 - return "https://" + ossConfig.getBucketName() + "." + ossConfig.getEndpoint().replace("https://", "").replace("http://", "") + "/" + objectKey; + // 优先使用自定义域名 + String domain = cosConfig.getCustomDomain(); + if (domain != null && !domain.isEmpty()) { + if (!domain.startsWith("http://") && !domain.startsWith("https://")) { + domain = "https://" + domain; + } + return domain + "/" + objectKey; + } + // 默认 COS 访问域名 + return "https://" + cosConfig.getBucketName() + ".cos." + cosConfig.getRegion() + ".myqcloud.com/" + objectKey; } } - diff --git a/src/main/java/com/dora/service/ToolService.java b/src/main/java/com/dora/service/ToolService.java new file mode 100644 index 0000000..90ebd5b --- /dev/null +++ b/src/main/java/com/dora/service/ToolService.java @@ -0,0 +1,57 @@ +package com.dora.service; + +import com.dora.dto.ToolDto; + +import java.util.List; +import java.util.Map; + +/** + * 工具服务接口(用户端) + */ +public interface ToolService { + + /** + * 获取所有可用工具列表 + * + * @return 工具列表 + */ + List getAvailableTools(); + + /** + * 按分类获取工具列表 + * + * @param category 分类(douyin/xiaohongshu/wechat_mp) + * @return 工具列表 + */ + List getToolsByCategory(String category); + + /** + * 获取工具详情 + * + * @param toolCode 工具编码 + * @return 工具信息 + */ + ToolDto.ToolListItem getToolDetail(String toolCode); + + /** + * 调用工具 + * + * @param userId 用户ID + * @param toolCode 工具编码 + * @param params 请求参数 + * @param clientIp 客户端IP + * @return 调用结果 + */ + ToolDto.CallResponse callTool(Long userId, String toolCode, Map params, String clientIp); + + /** + * 获取用户的工具调用记录 + * + * @param userId 用户ID + * @param page 页码 + * @param size 每页数量 + * @param toolCode 工具编码(可选) + * @return 调用记录分页 + */ + ToolDto.UsageLogPageResponse getUserUsageLogs(Long userId, Integer page, Integer size, String toolCode); +} diff --git a/src/main/java/com/dora/service/impl/AdminOssServiceImpl.java b/src/main/java/com/dora/service/impl/AdminOssServiceImpl.java index ea2a543..a567e5a 100644 --- a/src/main/java/com/dora/service/impl/AdminOssServiceImpl.java +++ b/src/main/java/com/dora/service/impl/AdminOssServiceImpl.java @@ -1,10 +1,10 @@ package com.dora.service.impl; -import com.dora.config.OssConfig; +import com.dora.config.CosConfig; import com.dora.dto.AdminOssUploadRequest; import com.dora.service.AdminOssService; -import com.aliyun.oss.common.utils.BinaryUtil; import com.fasterxml.jackson.databind.ObjectMapper; +import com.qcloud.cos.COSClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; @@ -12,19 +12,21 @@ import org.springframework.stereotype.Service; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.*; /** - * 管理端OSS服务实现类 + * 管理端COS服务实现类(保持接口兼容) */ @Service @RequiredArgsConstructor @Slf4j public class AdminOssServiceImpl implements AdminOssService { - private final OssConfig ossConfig; + private final CosConfig cosConfig; + private final COSClient cosClient; // 管理员上传文件过期时间,单位为秒(2小时) private static final Long ADMIN_EXPIRE_TIME = 7200L; @@ -41,104 +43,73 @@ public class AdminOssServiceImpl implements AdminOssService { // 获取文件大小限制 long maxFileSize = getMaxAdminFileSize(request.getMaxSizeMB()); - String accessKeyId = ossConfig.getAccessKeyId(); - String accessKeySecret = ossConfig.getAccessKeySecret(); - String securityToken = ""; - - // 获取x-oss-credential里的date,当前日期,格式为yyyyMMdd - ZonedDateTime today = ZonedDateTime.now().withZoneSameInstant(ZoneOffset.UTC); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - String date = today.format(formatter); + String secretId = cosConfig.getSecretId(); + String secretKey = cosConfig.getSecretKey(); - // 获取x-oss-date - ZonedDateTime now = ZonedDateTime.now().withZoneSameInstant(ZoneOffset.UTC); - DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss'Z'"); - String x_oss_date = now.format(formatter2); - - // 步骤1:创建policy - String x_oss_credential = accessKeyId + "/" + date + "/" + ossConfig.getRegion() + "/oss/aliyun_v4_request"; + // 生成 KeyTime(签名有效时间) + long currentSeconds = System.currentTimeMillis() / 1000; + long expireSeconds = currentSeconds + ADMIN_EXPIRE_TIME; + String keyTime = currentSeconds + ";" + expireSeconds; + // 构造 COS Policy ObjectMapper mapper = new ObjectMapper(); - Map policy = new HashMap<>(); policy.put("expiration", generateExpiration(ADMIN_EXPIRE_TIME)); List conditions = new ArrayList<>(); - - Map bucketCondition = new HashMap<>(); - bucketCondition.put("bucket", ossConfig.getBucketName()); - conditions.add(bucketCondition); - - Map signatureVersionCondition = new HashMap<>(); - signatureVersionCondition.put("x-oss-signature-version", "OSS4-HMAC-SHA256"); - conditions.add(signatureVersionCondition); - - Map credentialCondition = new HashMap<>(); - credentialCondition.put("x-oss-credential", x_oss_credential); - conditions.add(credentialCondition); - - Map dateCondition = new HashMap<>(); - dateCondition.put("x-oss-date", x_oss_date); - conditions.add(dateCondition); - - // 设置文件大小限制 + // bucket 条件 + conditions.add(Map.of("bucket", cosConfig.getBucketName())); + // 文件大小限制 conditions.add(Arrays.asList("content-length-range", 1, maxFileSize)); - conditions.add(Arrays.asList("eq", "$success_action_status", "200")); - - // 根据文件类型设置Content-Type条件 - String fileExtension = ""; - if (fileName.contains(".")) { - fileExtension = fileName.substring(fileName.lastIndexOf(".")).toLowerCase(); - } - - // 更宽松的Content-Type条件,适合管理端多样化文件类型 - if (fileExtension.matches("\\.(zip|rar|7z|tar|gz|bz2|xz)")) { - conditions.add(Arrays.asList("starts-with", "$Content-Type", "application/")); - } else if (fileExtension.matches("\\.(jpg|jpeg|png|gif|bmp|webp|svg)")) { - conditions.add(Arrays.asList("starts-with", "$Content-Type", "image/")); - } else if (fileExtension.matches("\\.(mp4|avi|mov|wmv|flv|mkv|webm)")) { - conditions.add(Arrays.asList("starts-with", "$Content-Type", "video/")); - } else if (fileExtension.matches("\\.(mp3|wav|flac|aac|ogg|wma)")) { - conditions.add(Arrays.asList("starts-with", "$Content-Type", "audio/")); - } else { - conditions.add(Arrays.asList("starts-with", "$Content-Type", "")); - } + // key 前缀限制 + String dir = getAdminUploadDir(request.getDirectory()); + conditions.add(Arrays.asList("starts-with", "$key", dir)); + // COS 必需的签名相关条件 + conditions.add(Map.of("q-sign-algorithm", "sha1")); + conditions.add(Map.of("q-ak", secretId)); + conditions.add(Map.of("q-sign-time", keyTime)); policy.put("conditions", conditions); - String jsonPolicy = mapper.writeValueAsString(policy); - - // 步骤2:构造待签名字符串(StringToSign) - String stringToSign = new String(Base64.encodeBase64(jsonPolicy.getBytes())); - - // 步骤3:计算SigningKey - byte[] dateKey = hmacsha256(("aliyun_v4" + accessKeySecret).getBytes(), date); - byte[] dateRegionKey = hmacsha256(dateKey, ossConfig.getRegion()); - byte[] dateRegionServiceKey = hmacsha256(dateRegionKey, "oss"); - byte[] signingKey = hmacsha256(dateRegionServiceKey, "aliyun_v4_request"); - - // 步骤4:计算Signature - byte[] result = hmacsha256(signingKey, stringToSign); - String signature = BinaryUtil.toHex(result); + + // 生成 SignKey + String signKey = hmacSha1(secretKey, keyTime); + + // 生成 StringToSign(Policy JSON 原文的 SHA1 哈希) + String stringToSign = sha1(jsonPolicy); + + // 生成 Signature + String signature = hmacSha1(signKey, stringToSign); + + // Base64 编码 Policy(用于表单提交) + String encodedPolicy = Base64.encodeBase64String(jsonPolicy.getBytes(StandardCharsets.UTF_8)); Map response = new HashMap<>(); - // 后端响应字段名(前端JavaScript使用) - response.put("policy", stringToSign); - response.put("x_oss_credential", x_oss_credential); - response.put("x_oss_date", x_oss_date); - response.put("version", "OSS4-HMAC-SHA256"); // 前端期望的字段名 - response.put("signature", signature); // 前端期望的字段名 - response.put("security_token", securityToken); - // 同时提供OSS FormData所需的字段名(用于兼容) - response.put("x_oss_signature_version", "OSS4-HMAC-SHA256"); - response.put("x_oss_signature", signature); + // === COS 标准字段 === + response.put("policy", encodedPolicy); + response.put("q-sign-algorithm", "sha1"); + response.put("q-ak", secretId); + response.put("q-key-time", keyTime); // 必需字段 + response.put("q-sign-time", keyTime); // 必需字段 + response.put("q-signature", signature); + + // === 兼容 OSS 字段 === + response.put("signature", signature); + response.put("accessKeyId", secretId); + response.put("security_token", ""); + response.put("OSSAccessKeyId", secretId); + + // 兼容字段 + response.put("version", "COS"); + response.put("x_oss_credential", ""); + response.put("x_oss_date", ""); + response.put("x_oss_signature_version", ""); + response.put("x_oss_signature", ""); // 管理端使用专门的目录 - String dir = getAdminUploadDir(request.getDirectory()); response.put("dir", dir); - response.put("host", "https://" + ossConfig.getBucketName() + "." + ossConfig.getEndpoint().replace("https://", "")); - response.put("accessKeyId", accessKeyId); + response.put("host", "https://" + cosConfig.getBucketName() + ".cos." + cosConfig.getRegion() + ".myqcloud.com"); response.put("adminId", adminId); response.put("fileName", fileName); @@ -149,17 +120,21 @@ public class AdminOssServiceImpl implements AdminOssService { response.put("supportedFormats", getSupportedAdminFormats()); response.put("uploadTips", getAdminUploadTips(request.getFileCategory())); - log.info("Generated admin POST signature for admin {}: {}, fileType: {}, maxSize: {}MB", + log.info("Generated admin COS POST signature for admin {}: {}, fileType: {}, maxSize: {}MB", adminId, fileName, getAdminFileType(fileName), maxFileSize / (1024 * 1024)); return response; } @Override public boolean deleteAdminFile(String objectKey, String adminId) throws Exception { - // 这里可以添加管理员删除文件的逻辑 - // 暂时返回true,实际实现时需要调用OSS SDK - log.info("Admin {} deleted file: {}", adminId, objectKey); - return true; + try { + cosClient.deleteObject(cosConfig.getBucketName(), objectKey); + log.info("Admin {} deleted COS file: {}", adminId, objectKey); + return true; + } catch (Exception e) { + log.error("Admin {} failed to delete COS file {}: {}", adminId, objectKey, e.getMessage(), e); + return false; + } } @Override @@ -269,7 +244,7 @@ public class AdminOssServiceImpl implements AdminOssService { */ private String getAdminUploadDir(String directory) { // 使用与用户端相同的目录 - String baseDir = ossConfig.getUserImgFolder(); + String baseDir = cosConfig.getUserImgFolder(); if (baseDir.startsWith("/")) { baseDir = baseDir.substring(1); } @@ -359,16 +334,41 @@ public class AdminOssServiceImpl implements AdminOssService { } /** - * 计算HMAC-SHA256 + * 计算HMAC-SHA1(COS 使用) */ - private static byte[] hmacsha256(byte[] key, String data) { + private String hmacSha1(String key, String data) { try { - SecretKeySpec secretKeySpec = new SecretKeySpec(key, "HmacSHA256"); - Mac mac = Mac.getInstance("HmacSHA256"); + SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA1"); + Mac mac = Mac.getInstance("HmacSHA1"); mac.init(secretKeySpec); - return mac.doFinal(data.getBytes()); + byte[] hmacBytes = mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + return toHexString(hmacBytes); } catch (Exception e) { - throw new RuntimeException("Failed to calculate HMAC-SHA256", e); + throw new RuntimeException("Failed to calculate HMAC-SHA1", e); } } + + /** + * 计算 SHA1 哈希 + */ + private String sha1(String data) { + try { + java.security.MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1"); + byte[] hash = digest.digest(data.getBytes(StandardCharsets.UTF_8)); + return toHexString(hash); + } catch (Exception e) { + throw new RuntimeException("Failed to calculate SHA1", e); + } + } + + /** + * 字节数组转十六进制字符串 + */ + private String toHexString(byte[] bytes) { + StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } } diff --git a/src/main/java/com/dora/service/impl/AdminToolConfigServiceImpl.java b/src/main/java/com/dora/service/impl/AdminToolConfigServiceImpl.java new file mode 100644 index 0000000..2f93b5a --- /dev/null +++ b/src/main/java/com/dora/service/impl/AdminToolConfigServiceImpl.java @@ -0,0 +1,295 @@ +package com.dora.service.impl; + +import com.dora.dto.ToolDto; +import com.dora.entity.ToolConfig; +import com.dora.entity.ToolUsageDailyStats; +import com.dora.exception.BusinessException; +import com.dora.mapper.ToolConfigMapper; +import com.dora.mapper.ToolUsageDailyStatsMapper; +import com.dora.mapper.ToolUsageLogMapper; +import com.dora.service.AdminToolConfigService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 管理端工具配置服务实现类 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class AdminToolConfigServiceImpl implements AdminToolConfigService { + + private final ToolConfigMapper toolConfigMapper; + private final ToolUsageLogMapper toolUsageLogMapper; + private final ToolUsageDailyStatsMapper toolUsageDailyStatsMapper; + + // ==================== 工具配置管理 ==================== + + @Override + public List getAllConfigs() { + List configs = toolConfigMapper.selectAll(); + return configs.stream() + .map(this::convertToConfigResponse) + .collect(Collectors.toList()); + } + + @Override + public ToolDto.ConfigResponse getConfigById(Long id) { + ToolConfig config = toolConfigMapper.selectById(id); + if (config == null) { + throw new BusinessException("工具配置不存在"); + } + return convertToConfigResponse(config); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ToolDto.ConfigResponse createConfig(ToolDto.ConfigRequest request) { + // 验证工具编码唯一性 + int count = toolConfigMapper.countByToolCode(request.getToolCode(), 0L); + if (count > 0) { + throw new BusinessException("工具编码已存在: " + request.getToolCode()); + } + + ToolConfig config = new ToolConfig(); + config.setToolCode(request.getToolCode()); + config.setToolName(request.getToolName()); + config.setCategory(request.getCategory()); + config.setDescription(request.getDescription()); + config.setApiEndpoint(request.getApiEndpoint()); + config.setRequestMethod(request.getRequestMethod() != null ? request.getRequestMethod() : "GET"); + config.setPointsCost(request.getPointsCost() != null ? request.getPointsCost() : 1); + config.setIsEnabled(request.getIsEnabled() != null ? request.getIsEnabled() : 1); + config.setSortOrder(request.getSortOrder() != null ? request.getSortOrder() : 0); + + int result = toolConfigMapper.insert(config); + if (result <= 0) { + throw new BusinessException("创建工具配置失败"); + } + + log.info("创建工具配置成功: toolCode={}, toolName={}", config.getToolCode(), config.getToolName()); + return convertToConfigResponse(config); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ToolDto.ConfigResponse updateConfig(Long id, ToolDto.ConfigRequest request) { + ToolConfig existing = toolConfigMapper.selectById(id); + if (existing == null) { + throw new BusinessException("工具配置不存在"); + } + + // 验证工具编码唯一性(排除自身) + if (!existing.getToolCode().equals(request.getToolCode())) { + int count = toolConfigMapper.countByToolCode(request.getToolCode(), id); + if (count > 0) { + throw new BusinessException("工具编码已存在: " + request.getToolCode()); + } + } + + existing.setToolCode(request.getToolCode()); + existing.setToolName(request.getToolName()); + existing.setCategory(request.getCategory()); + existing.setDescription(request.getDescription()); + existing.setApiEndpoint(request.getApiEndpoint()); + existing.setRequestMethod(request.getRequestMethod()); + existing.setPointsCost(request.getPointsCost()); + existing.setIsEnabled(request.getIsEnabled()); + existing.setSortOrder(request.getSortOrder()); + + int result = toolConfigMapper.updateById(existing); + if (result <= 0) { + throw new BusinessException("更新工具配置失败"); + } + + log.info("更新工具配置成功: id={}, toolCode={}", id, existing.getToolCode()); + return convertToConfigResponse(existing); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updatePointsCost(Long id, Integer pointsCost) { + if (pointsCost == null || pointsCost < 0) { + throw new BusinessException("积分消耗必须大于等于0"); + } + + ToolConfig existing = toolConfigMapper.selectById(id); + if (existing == null) { + throw new BusinessException("工具配置不存在"); + } + + int result = toolConfigMapper.updatePointsCost(id, pointsCost); + log.info("更新工具积分消耗: id={}, toolCode={}, pointsCost={}", id, existing.getToolCode(), pointsCost); + return result > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateStatus(Long id, Integer isEnabled) { + ToolConfig existing = toolConfigMapper.selectById(id); + if (existing == null) { + throw new BusinessException("工具配置不存在"); + } + + int result = toolConfigMapper.updateStatus(id, isEnabled); + log.info("更新工具状态: id={}, toolCode={}, isEnabled={}", id, existing.getToolCode(), isEnabled); + return result > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean deleteConfig(Long id) { + ToolConfig existing = toolConfigMapper.selectById(id); + if (existing == null) { + throw new BusinessException("工具配置不存在"); + } + + int result = toolConfigMapper.deleteById(id); + log.info("删除工具配置: id={}, toolCode={}", id, existing.getToolCode()); + return result > 0; + } + + // ==================== 使用统计 ==================== + + @Override + public ToolDto.StatsSummaryResponse getStatsSummary(LocalDate startDate, LocalDate endDate) { + if (startDate == null) startDate = LocalDate.now().minusDays(30); + if (endDate == null) endDate = LocalDate.now(); + + // 从每日统计表获取汇总数据 + ToolUsageDailyStatsMapper.StatsSummary summary = + toolUsageDailyStatsMapper.selectSummaryByDateRange(startDate, endDate); + + // 获取按工具分组的统计 + List toolStats = + toolUsageDailyStatsMapper.selectToolSummaryByDateRange(startDate, endDate); + + List toolStatsItems = toolStats.stream() + .map(ts -> ToolDto.ToolStatsItem.builder() + .toolCode(ts.getToolCode()) + .toolName(ts.getToolName()) + .totalCalls(ts.getTotalCalls()) + .successCalls(ts.getSuccessCalls()) + .totalPointsCost(ts.getTotalPointsCost()) + .build()) + .collect(Collectors.toList()); + + return ToolDto.StatsSummaryResponse.builder() + .totalCalls(summary != null ? summary.getTotalCalls() : 0L) + .successCalls(summary != null ? summary.getSuccessCalls() : 0L) + .failedCalls(summary != null ? summary.getFailedCalls() : 0L) + .totalPointsCost(summary != null ? summary.getTotalPointsCost() : 0L) + .toolStats(toolStatsItems) + .build(); + } + + @Override + public List getDailyStats(LocalDate startDate, LocalDate endDate, String toolCode) { + if (startDate == null) startDate = LocalDate.now().minusDays(7); + if (endDate == null) endDate = LocalDate.now(); + + List statsList; + if (toolCode != null && !toolCode.trim().isEmpty()) { + statsList = toolUsageDailyStatsMapper.selectByToolCodeAndDateRange(toolCode, startDate, endDate); + } else { + statsList = toolUsageDailyStatsMapper.selectByDateRange(startDate, endDate); + } + + return statsList.stream() + .map(s -> ToolDto.DailyStatsResponse.builder() + .statsDate(s.getStatsDate()) + .toolCode(s.getToolCode()) + .toolName(s.getToolName()) + .totalCalls(s.getTotalCalls()) + .successCalls(s.getSuccessCalls()) + .failedCalls(s.getFailedCalls()) + .totalPointsCost(s.getTotalPointsCost()) + .uniqueUsers(s.getUniqueUsers()) + .build()) + .collect(Collectors.toList()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void refreshDailyStats(LocalDate date) { + if (date == null) date = LocalDate.now(); + + LocalDateTime startTime = date.atStartOfDay(); + LocalDateTime endTime = date.atTime(LocalTime.MAX); + + // 从调用记录表统计数据 + List statsList = + toolUsageLogMapper.selectStatsByTimeRange(startTime, endTime); + + // 获取独立用户数 + Long uniqueUsers = toolUsageLogMapper.countUniqueUsersByTimeRange(startTime, endTime); + + // 更新每日统计表 + for (ToolUsageLogMapper.ToolUsageStats stats : statsList) { + ToolConfig config = toolConfigMapper.selectByToolCode(stats.getToolCode()); + + ToolUsageDailyStats dailyStats = new ToolUsageDailyStats(); + dailyStats.setStatsDate(date); + dailyStats.setToolId(config != null ? config.getId() : null); + dailyStats.setToolCode(stats.getToolCode()); + dailyStats.setToolName(stats.getToolName()); + dailyStats.setTotalCalls(stats.getTotalCalls() != null ? stats.getTotalCalls().intValue() : 0); + dailyStats.setSuccessCalls(stats.getSuccessCalls() != null ? stats.getSuccessCalls().intValue() : 0); + dailyStats.setFailedCalls(dailyStats.getTotalCalls() - dailyStats.getSuccessCalls()); + dailyStats.setTotalPointsCost(stats.getTotalPointsCost() != null ? stats.getTotalPointsCost().intValue() : 0); + dailyStats.setUniqueUsers(uniqueUsers != null ? uniqueUsers.intValue() : 0); + + toolUsageDailyStatsMapper.insertOrUpdate(dailyStats); + } + + log.info("刷新每日统计完成: date={}, toolCount={}", date, statsList.size()); + } + + @Override + public ToolStatsInfo getToolStatsInfo() { + Long totalTools = toolConfigMapper.countAll(); + Long enabledTools = toolConfigMapper.countEnabled(); + + // 今日统计 + LocalDate today = LocalDate.now(); + LocalDateTime startTime = today.atStartOfDay(); + LocalDateTime endTime = today.atTime(LocalTime.MAX); + + Long todayCalls = toolUsageLogMapper.countByTimeRange(startTime, endTime); + + // 计算今日消耗积分 + List todayStats = + toolUsageLogMapper.selectStatsByTimeRange(startTime, endTime); + Long todayPointsCost = todayStats.stream() + .mapToLong(s -> s.getTotalPointsCost() != null ? s.getTotalPointsCost() : 0L) + .sum(); + + return new ToolStatsInfo(totalTools, enabledTools, todayCalls, todayPointsCost); + } + + private ToolDto.ConfigResponse convertToConfigResponse(ToolConfig config) { + return ToolDto.ConfigResponse.builder() + .id(config.getId()) + .toolCode(config.getToolCode()) + .toolName(config.getToolName()) + .category(config.getCategory()) + .description(config.getDescription()) + .apiEndpoint(config.getApiEndpoint()) + .requestMethod(config.getRequestMethod()) + .pointsCost(config.getPointsCost()) + .isEnabled(config.getIsEnabled()) + .sortOrder(config.getSortOrder()) + .createTime(config.getCreateTime()) + .updateTime(config.getUpdateTime()) + .build(); + } +} diff --git a/src/main/java/com/dora/service/impl/AdminUserServiceImpl.java b/src/main/java/com/dora/service/impl/AdminUserServiceImpl.java index 17843a1..cbb6ea4 100644 --- a/src/main/java/com/dora/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/com/dora/service/impl/AdminUserServiceImpl.java @@ -56,7 +56,8 @@ public class AdminUserServiceImpl implements AdminUserService { request.getSortField(), request.getSortOrder(), offset, - request.getSize() + request.getSize(), + request.getIsDeleted() ); // 查询总数 @@ -67,7 +68,8 @@ public class AdminUserServiceImpl implements AdminUserService { request.getPromotionLevel(), request.getCreateTimeStart(), request.getCreateTimeEnd(), - request.getMembershipType() + request.getMembershipType(), + request.getIsDeleted() ); // 构建响应 diff --git a/src/main/java/com/dora/service/impl/AiTaskServiceImpl.java b/src/main/java/com/dora/service/impl/AiTaskServiceImpl.java index e9dc5c9..98584a5 100644 --- a/src/main/java/com/dora/service/impl/AiTaskServiceImpl.java +++ b/src/main/java/com/dora/service/impl/AiTaskServiceImpl.java @@ -83,6 +83,11 @@ public class AiTaskServiceImpl implements AiTaskService { task.setTaskType(pointsConfig.getTaskType() != null ? pointsConfig.getTaskType() : "other"); task.setProviderType(pointsConfig.getProviderType()); // 设置provider类型 + // 如果是续作任务,将 sourcePid 暂存到 providerResponse 中(JSON格式),供 Executor 使用 + if (createTaskDto.getSourcePid() != null) { + task.setProviderResponse("{\"tempSourcePid\":\"" + createTaskDto.getSourcePid() + "\"}"); + } + aiTaskMapper.insert(task); // 4. 判断provider类型,选择不同的处理流程 diff --git a/src/main/java/com/dora/service/impl/PlazaWorkReportServiceImpl.java b/src/main/java/com/dora/service/impl/PlazaWorkReportServiceImpl.java new file mode 100644 index 0000000..34bc895 --- /dev/null +++ b/src/main/java/com/dora/service/impl/PlazaWorkReportServiceImpl.java @@ -0,0 +1,363 @@ +package com.dora.service.impl; + +import com.dora.dto.PlazaWorkReportDto; +import com.dora.entity.PlazaWork; +import com.dora.entity.PlazaWorkReport; +import com.dora.entity.PlazaWorkReportLimit; +import com.dora.mapper.PlazaWorkMapper; +import com.dora.mapper.PlazaWorkReportLimitMapper; +import com.dora.mapper.PlazaWorkReportMapper; +import com.dora.mapper.UserMapper; +import com.dora.service.PlazaWorkReportService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 广场作品投诉服务实现 + * + * @author 1818AI + * @since 2025-11-14 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PlazaWorkReportServiceImpl implements PlazaWorkReportService { + + private final PlazaWorkReportMapper reportMapper; + private final PlazaWorkReportLimitMapper limitMapper; + private final PlazaWorkMapper plazaWorkMapper; + private final UserMapper userMapper; + + // 每日投诉限制次数 + private static final int MAX_REPORT_COUNT_PER_DAY = 10; + + @Override + @Transactional(rollbackFor = Exception.class) + public PlazaWorkReportDto.ReportResponse submitReport(Long userId, PlazaWorkReportDto.SubmitReportRequest request) { + log.info("用户 {} 提交投诉,作品编号: {}, 投诉类型: {}", userId, request.getWorkNo(), request.getReportType()); + + // 1. 验证作品是否存在 + PlazaWork work = plazaWorkMapper.findByWorkNo(request.getWorkNo()); + if (work == null) { + throw new IllegalArgumentException("作品不存在: " + request.getWorkNo()); + } + + // 2. 检查是否是自己发布的作品(不能投诉自己的作品) + if (work.getUserId().equals(userId)) { + throw new IllegalArgumentException("不能投诉自己发布的作品"); + } + + // 3. 检查是否已经投诉过该作品 + PlazaWorkReport existingReport = reportMapper.findByWorkIdAndReporterId(work.getId(), userId); + if (existingReport != null) { + throw new IllegalArgumentException("您已经投诉过该作品"); + } + + // 4. 检查投诉限制(防止恶意投诉) + checkReportLimit(userId); + + // 5. 生成投诉编号 + String reportNo = generateReportNo(); + + // 6. 创建投诉记录 + PlazaWorkReport report = PlazaWorkReport.builder() + .reportNo(reportNo) + .workId(work.getId()) + .workNo(work.getWorkNo()) + .reporterId(userId) + .reportType(request.getReportType()) + .reportReason(request.getReportReason()) + .reportStatus("pending") + .isDeleted(0) + .build(); + + reportMapper.insert(report); + + // 7. 更新投诉限制计数 + updateReportLimit(userId); + + log.info("投诉提交成功,投诉编号: {}", reportNo); + + return convertToReportResponse(report); + } + + @Override + public PlazaWorkReportDto.ReportListResponse getMyReports(Long userId, Integer page, Integer size) { + if (page == null || page < 1) page = 1; + if (size == null || size < 1) size = 10; + if (size > 100) size = 100; + + int offset = (page - 1) * size; + + List reports = reportMapper.selectByReporterId(userId, offset, size); + Long total = reportMapper.countByReporterId(userId); + + List records = reports.stream() + .map(this::convertToReportResponse) + .collect(Collectors.toList()); + + int totalPages = (int) Math.ceil((double) total / size); + + return PlazaWorkReportDto.ReportListResponse.builder() + .records(records) + .total(total) + .page(page) + .size(size) + .totalPages(totalPages) + .build(); + } + + @Override + public PlazaWorkReportDto.AdminReportListResponse getAdminReportList(PlazaWorkReportDto.AdminReportQueryRequest request) { + if (request.getPage() == null || request.getPage() < 1) request.setPage(1); + if (request.getSize() == null || request.getSize() < 1) request.setSize(20); + if (request.getSize() > 100) request.setSize(100); + + int offset = (request.getPage() - 1) * request.getSize(); + + List reports = reportMapper.selectAdminReportList( + request.getReportStatus(), + request.getReportType(), + request.getWorkNo(), + request.getReporterId(), + offset, + request.getSize() + ); + + Long total = reportMapper.countAdminReportList( + request.getReportStatus(), + request.getReportType(), + request.getWorkNo(), + request.getReporterId() + ); + + // 转换为管理员详情响应(需要关联作品信息) + List records = reports.stream() + .map(this::convertToAdminReportDetailResponse) + .collect(Collectors.toList()); + + int totalPages = (int) Math.ceil((double) total / request.getSize()); + + return PlazaWorkReportDto.AdminReportListResponse.builder() + .records(records) + .total(total) + .page(request.getPage()) + .size(request.getSize()) + .totalPages(totalPages) + .build(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean auditReport(Long adminId, String adminName, PlazaWorkReportDto.AuditReportRequest request) { + log.info("管理员 {} 审核投诉,投诉编号: {}, 审核结果: {}", adminName, request.getReportNo(), request.getAuditStatus()); + + // 1. 查询投诉记录 + PlazaWorkReport report = reportMapper.findByReportNo(request.getReportNo()); + if (report == null) { + throw new IllegalArgumentException("投诉记录不存在: " + request.getReportNo()); + } + + if (!"pending".equals(report.getReportStatus())) { + throw new IllegalArgumentException("该投诉已经审核过了"); + } + + // 2. 更新投诉审核信息 + report.setReportStatus(request.getAuditStatus()); + report.setAuditAdminId(adminId); + report.setAuditAdminName(adminName); + report.setAuditRemark(request.getAuditRemark()); + report.setAuditTime(LocalDateTime.now()); + + reportMapper.updateAuditInfo(report); + + // 3. 如果投诉成立,下架作品(修改审核状态为 rejected) + if ("approved".equals(request.getAuditStatus())) { + PlazaWork work = plazaWorkMapper.findByWorkNo(report.getWorkNo()); + if (work != null) { + // 更新作品审核状态为已拒绝,并隐藏作品 + work.setAuditStatus("rejected"); + work.setStatus("hidden"); + work.setAuditAdminId(adminId); + work.setAuditTime(LocalDateTime.now()); + work.setAuditRemark("因投诉成立,作品已下架:" + (request.getAuditRemark() != null ? request.getAuditRemark() : "")); + plazaWorkMapper.update(work); + log.info("投诉成立,作品已下架,作品编号: {}", report.getWorkNo()); + } + } + + log.info("投诉审核完成,投诉编号: {}", request.getReportNo()); + return true; + } + + @Override + public Long getPendingReportCount() { + return reportMapper.countPendingReports(); + } + + /** + * 检查投诉限制 + */ + private void checkReportLimit(Long userId) { + LocalDate today = LocalDate.now(); + PlazaWorkReportLimit limit = limitMapper.findByUserId(userId); + + if (limit == null) { + // 首次投诉,创建记录 + limit = PlazaWorkReportLimit.builder() + .userId(userId) + .reportCount(1) + .lastReportTime(LocalDateTime.now()) + .resetDate(today) + .build(); + limitMapper.insertOrUpdate(limit); + return; + } + + // 检查是否需要重置(跨天) + if (!today.equals(limit.getResetDate())) { + limitMapper.resetReportCount(userId, today); + limit.setReportCount(0); + limit.setResetDate(today); + } + + // 检查是否超过限制 + if (limit.getReportCount() >= MAX_REPORT_COUNT_PER_DAY) { + throw new IllegalArgumentException("今日投诉次数已达上限(" + MAX_REPORT_COUNT_PER_DAY + "次),请明天再试"); + } + } + + /** + * 更新投诉限制计数 + */ + private void updateReportLimit(Long userId) { + PlazaWorkReportLimit limit = limitMapper.findByUserId(userId); + if (limit == null) { + LocalDate today = LocalDate.now(); + limit = PlazaWorkReportLimit.builder() + .userId(userId) + .reportCount(1) + .lastReportTime(LocalDateTime.now()) + .resetDate(today) + .build(); + limitMapper.insertOrUpdate(limit); + } else { + limitMapper.incrementReportCount(userId); + } + } + + /** + * 生成投诉编号 + */ + private String generateReportNo() { + java.util.Random random = new java.util.Random(); + return "REPORT-" + LocalDateTime.now().format(java.time.format.DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + "-" + + String.format("%04d", random.nextInt(10000)); + } + + /** + * 转换为投诉响应 + */ + private PlazaWorkReportDto.ReportResponse convertToReportResponse(PlazaWorkReport report) { + return PlazaWorkReportDto.ReportResponse.builder() + .reportNo(report.getReportNo()) + .workNo(report.getWorkNo()) + .reportType(report.getReportType()) + .reportTypeName(getReportTypeName(report.getReportType())) + .reportReason(report.getReportReason()) + .reportStatus(report.getReportStatus()) + .reportStatusName(getReportStatusName(report.getReportStatus())) + .createTime(report.getCreateTime()) + .build(); + } + + /** + * 转换为管理员投诉详情响应 + */ + private PlazaWorkReportDto.AdminReportDetailResponse convertToAdminReportDetailResponse(PlazaWorkReport report) { + // 查询作品信息 + PlazaWork work = plazaWorkMapper.findByWorkNo(report.getWorkNo()); + + PlazaWorkReportDto.AdminReportDetailResponse.AdminReportDetailResponseBuilder builder = + PlazaWorkReportDto.AdminReportDetailResponse.builder() + .reportNo(report.getReportNo()) + .workId(report.getWorkId()) + .workNo(report.getWorkNo()) + .reporterId(report.getReporterId()) + .reportType(report.getReportType()) + .reportTypeName(getReportTypeName(report.getReportType())) + .reportReason(report.getReportReason()) + .reportStatus(report.getReportStatus()) + .reportStatusName(getReportStatusName(report.getReportStatus())) + .auditAdminId(report.getAuditAdminId()) + .auditAdminName(report.getAuditAdminName()) + .auditRemark(report.getAuditRemark()) + .auditTime(report.getAuditTime()) + .createTime(report.getCreateTime()); + + if (work != null) { + builder.workTitle(work.getTitle()) + .workResultUrl(work.getResultUrl()); + } + + // 查询投诉人用户名 + try { + com.dora.entity.User reporter = userMapper.selectById(report.getReporterId()); + if (reporter != null) { + builder.reporterUsername(reporter.getUsername()); + } + } catch (Exception e) { + log.warn("查询投诉人用户名失败: {}", e.getMessage()); + } + + return builder.build(); + } + + /** + * 获取投诉类型名称 + */ + private String getReportTypeName(String reportType) { + if (reportType == null) return "未知"; + switch (reportType) { + case "political": + return "政治敏感"; + case "pornographic": + return "色情低俗"; + case "violent": + return "暴力血腥"; + case "dangerous": + return "危险行为"; + case "uncomfortable": + return "引人不适"; + case "other": + return "其他"; + default: + return "未知"; + } + } + + /** + * 获取投诉状态名称 + */ + private String getReportStatusName(String reportStatus) { + if (reportStatus == null) return "未知"; + switch (reportStatus) { + case "pending": + return "待审核"; + case "approved": + return "投诉成立"; + case "rejected": + return "投诉不成立"; + default: + return "未知"; + } + } +} + diff --git a/src/main/java/com/dora/service/impl/PointsRechargeServiceImpl.java b/src/main/java/com/dora/service/impl/PointsRechargeServiceImpl.java index 8368965..24d50b7 100644 --- a/src/main/java/com/dora/service/impl/PointsRechargeServiceImpl.java +++ b/src/main/java/com/dora/service/impl/PointsRechargeServiceImpl.java @@ -109,7 +109,7 @@ public class PointsRechargeServiceImpl implements PointsRechargeService { boolean isFirstRecharge = checkIsFirstRecharge(userId); if (isFirstRecharge) { // 首充额外赠送10%积分 - int bonusPoints = (int) (pointsPackage.getTotalPoints() * 0.1); + int bonusPoints = (int) (pointsPackage.getTotalPoints() * 0); order.setPointsAmount(pointsPackage.getTotalPoints() + bonusPoints); order.setDiscountType("FIRST_PURCHASE"); order.setDiscountDescription("首充奖励+" + bonusPoints + "积分"); diff --git a/src/main/java/com/dora/service/impl/ToolServiceImpl.java b/src/main/java/com/dora/service/impl/ToolServiceImpl.java new file mode 100644 index 0000000..19cc748 --- /dev/null +++ b/src/main/java/com/dora/service/impl/ToolServiceImpl.java @@ -0,0 +1,254 @@ +package com.dora.service.impl; + +import com.dora.dto.ToolDto; +import com.dora.entity.ToolConfig; +import com.dora.entity.ToolUsageLog; +import com.dora.entity.User; +import com.dora.exception.BusinessException; +import com.dora.exception.InsufficientPointsException; +import com.dora.mapper.ToolConfigMapper; +import com.dora.mapper.ToolUsageLogMapper; +import com.dora.mapper.UserMapper; +import com.dora.service.PointsService; +import com.dora.service.ToolService; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.*; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; + +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * 工具服务实现类(用户端) + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class ToolServiceImpl implements ToolService { + + private final ToolConfigMapper toolConfigMapper; + private final ToolUsageLogMapper toolUsageLogMapper; + private final UserMapper userMapper; + private final PointsService pointsService; + private final RestTemplate restTemplate; + private final ObjectMapper objectMapper; + + @Value("${tikhub.api.base-url:https://api.tikhub.io}") + private String tikHubBaseUrl; + + @Value("${tikhub.api.key:}") + private String tikHubApiKey; + + @Override + public List getAvailableTools() { + List configs = toolConfigMapper.selectAllEnabled(); + return configs.stream() + .map(this::convertToListItem) + .collect(Collectors.toList()); + } + + @Override + public List getToolsByCategory(String category) { + List configs = toolConfigMapper.selectByCategory(category); + return configs.stream() + .map(this::convertToListItem) + .collect(Collectors.toList()); + } + + @Override + public ToolDto.ToolListItem getToolDetail(String toolCode) { + ToolConfig config = toolConfigMapper.selectByToolCode(toolCode); + if (config == null) { + throw new BusinessException("工具不存在: " + toolCode); + } + if (config.getIsEnabled() != 1) { + throw new BusinessException("工具已禁用: " + toolCode); + } + return convertToListItem(config); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ToolDto.CallResponse callTool(Long userId, String toolCode, Map params, String clientIp) { + long startTime = System.currentTimeMillis(); + String usageNo = generateUsageNo(); + + // 1. 获取工具配置 + ToolConfig config = toolConfigMapper.selectByToolCode(toolCode); + if (config == null) { + throw new BusinessException("工具不存在: " + toolCode); + } + if (config.getIsEnabled() != 1) { + throw new BusinessException("工具已禁用: " + toolCode); + } + + // 2. 检查用户积分 + User user = userMapper.findById(userId); + if (user == null) { + throw new BusinessException("用户不存在"); + } + if (user.getPoints() < config.getPointsCost()) { + throw new InsufficientPointsException("积分不足,需要 " + config.getPointsCost() + " 积分,当前余额 " + user.getPoints()); + } + + // 3. 扣除积分 + String description = "调用工具: " + config.getToolName(); + pointsService.deductPoints(userId, config.getPointsCost(), usageNo, description); + + // 4. 调用第三方API + ToolUsageLog usageLog = new ToolUsageLog(); + usageLog.setUsageNo(usageNo); + usageLog.setUserId(userId); + usageLog.setToolId(config.getId()); + usageLog.setToolCode(toolCode); + usageLog.setToolName(config.getToolName()); + usageLog.setPointsCost(config.getPointsCost()); + usageLog.setClientIp(clientIp); + + try { + usageLog.setRequestParams(objectMapper.writeValueAsString(params)); + } catch (Exception e) { + usageLog.setRequestParams("{}"); + } + + Object responseData = null; + try { + responseData = callTikHubApi(config, params); + usageLog.setStatus("success"); + // 不保存响应数据到数据库 + usageLog.setResponseData(null); + } catch (Exception e) { + log.error("调用工具API失败: toolCode={}, error={}", toolCode, e.getMessage()); + usageLog.setStatus("failed"); + // 截断错误信息,避免超出数据库字段长度 + String errorMsg = e.getMessage(); + if (errorMsg != null && errorMsg.length() > 1000) { + errorMsg = errorMsg.substring(0, 1000) + "..."; + } + usageLog.setErrorMessage(errorMsg); + + // API调用失败,退还积分 + pointsService.refundPoints(userId, config.getPointsCost(), usageNo, "工具调用失败退款: " + config.getToolName()); + + throw new BusinessException("工具调用失败: " + e.getMessage()); + } finally { + usageLog.setRequestDuration(System.currentTimeMillis() - startTime); + toolUsageLogMapper.insert(usageLog); + } + + // 5. 获取最新积分余额 + User updatedUser = userMapper.findById(userId); + + return ToolDto.CallResponse.builder() + .usageNo(usageNo) + .pointsCost(config.getPointsCost()) + .remainingPoints(updatedUser.getPoints()) + .data(responseData) + .build(); + } + + @Override + public ToolDto.UsageLogPageResponse getUserUsageLogs(Long userId, Integer page, Integer size, String toolCode) { + if (page == null || page < 1) page = 1; + if (size == null || size < 1) size = 10; + if (size > 100) size = 100; + + int offset = (page - 1) * size; + + List logs; + Long total; + + if (toolCode != null && !toolCode.trim().isEmpty()) { + logs = toolUsageLogMapper.selectByUserIdAndToolCode(userId, toolCode, offset, size); + total = toolUsageLogMapper.countByUserId(userId); // 简化处理 + } else { + logs = toolUsageLogMapper.selectByUserId(userId, offset, size); + total = toolUsageLogMapper.countByUserId(userId); + } + + List records = logs.stream() + .map(this::convertToUsageLogResponse) + .collect(Collectors.toList()); + + return ToolDto.UsageLogPageResponse.builder() + .records(records) + .total(total) + .page(page) + .size(size) + .build(); + } + + /** + * 调用TikHub API + */ + private Object callTikHubApi(ToolConfig config, Map params) { + String url = tikHubBaseUrl + config.getApiEndpoint(); + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.setBearerAuth(tikHubApiKey); + + ResponseEntity response; + + if ("GET".equalsIgnoreCase(config.getRequestMethod())) { + // GET请求,参数拼接到URL + StringBuilder urlBuilder = new StringBuilder(url); + if (params != null && !params.isEmpty()) { + urlBuilder.append("?"); + params.forEach((key, value) -> { + urlBuilder.append(key).append("=").append(value).append("&"); + }); + url = urlBuilder.substring(0, urlBuilder.length() - 1); + } + HttpEntity entity = new HttpEntity<>(headers); + response = restTemplate.exchange(url, HttpMethod.GET, entity, Map.class); + } else { + // POST请求 + HttpEntity> entity = new HttpEntity<>(params, headers); + response = restTemplate.postForEntity(url, entity, Map.class); + } + + if (response.getStatusCode().is2xxSuccessful() && response.getBody() != null) { + Map body = response.getBody(); + // 检查TikHub API响应状态 + if (body.containsKey("code") && !Integer.valueOf(200).equals(body.get("code"))) { + throw new BusinessException("API返回错误: " + body.get("message")); + } + return body.get("data"); + } else { + throw new BusinessException("API请求失败: " + response.getStatusCode()); + } + } + + private String generateUsageNo() { + return "TU" + System.currentTimeMillis() + UUID.randomUUID().toString().substring(0, 8).toUpperCase(); + } + + private ToolDto.ToolListItem convertToListItem(ToolConfig config) { + return ToolDto.ToolListItem.builder() + .toolCode(config.getToolCode()) + .toolName(config.getToolName()) + .category(config.getCategory()) + .description(config.getDescription()) + .pointsCost(config.getPointsCost()) + .build(); + } + + private ToolDto.UsageLogResponse convertToUsageLogResponse(ToolUsageLog log) { + return ToolDto.UsageLogResponse.builder() + .usageNo(log.getUsageNo()) + .toolCode(log.getToolCode()) + .toolName(log.getToolName()) + .pointsCost(log.getPointsCost()) + .status(log.getStatus()) + .createTime(log.getCreateTime()) + .build(); + } +} diff --git a/src/main/java/com/dora/service/impl/UserServiceImpl.java b/src/main/java/com/dora/service/impl/UserServiceImpl.java index 4554f8f..a7f5555 100644 --- a/src/main/java/com/dora/service/impl/UserServiceImpl.java +++ b/src/main/java/com/dora/service/impl/UserServiceImpl.java @@ -66,8 +66,8 @@ public class UserServiceImpl implements UserService { throw new RuntimeException("验证码错误或已过期"); } - // 2. 查找用户 - User user = userMapper.selectByPhone(phone); + // 2. 查找用户(包含禁用用户) + User user = userMapper.selectByPhoneAnyStatus(phone); if (user == null) { // 用户不存在时也要清除验证码,一个验证码只能用于一次验证操作 redisTemplate.delete(phone); @@ -75,6 +75,13 @@ public class UserServiceImpl implements UserService { throw new RuntimeException("用户不存在,请先注册"); } + // 2.1 禁用账号拦截 + if (user.getIsDeleted() != null && user.getIsDeleted() == 1) { + redisTemplate.delete(phone); + log.warn("用户已被禁用,短信登录拦截 - phone: {}", phone); + throw new RuntimeException("该账号已被管理员禁用,如有疑问请联系客服"); + } + // 3. 生成JWT令牌 String token = jwtUtil.generateToken(user.getId(), user.getPhone()); @@ -97,12 +104,18 @@ public class UserServiceImpl implements UserService { @Override public AuthDto.LoginResponse passwordLogin(String phone, String password) { - // 1. 查找用户 - User user = userMapper.selectByPhone(phone); + // 1. 查找用户(包含禁用用户) + User user = userMapper.selectByPhoneAnyStatus(phone); if (user == null) { throw new RuntimeException("用户不存在,请先注册"); } + // 1.1 禁用账号拦截 + if (user.getIsDeleted() != null && user.getIsDeleted() == 1) { + log.warn("用户已被禁用,密码登录拦截 - phone: {}", phone); + throw new RuntimeException("该账号已被管理员禁用,如有疑问请联系客服"); + } + // 2. 验证密码 if (!StringUtils.hasText(user.getPasswordJwt()) || !user.getPasswordJwt().equals(password)) { @@ -141,11 +154,15 @@ public class UserServiceImpl implements UserService { throw new RuntimeException("验证码错误或已过期"); } - // 2. 检查手机号是否已注册 - User existingUser = userMapper.selectByPhone(phone); + // 2. 检查手机号是否已注册(包含禁用用户) + User existingUser = userMapper.selectByPhoneAnyStatus(phone); if (existingUser != null) { - // 手机号已注册时清除验证码,防止重复使用 + // 手机号已存在时清除验证码,防止重复使用 redisTemplate.delete(phone); + if (existingUser.getIsDeleted() != null && existingUser.getIsDeleted() == 1) { + log.warn("手机号对应账号已被禁用,注册拦截 - phone: {}", phone); + throw new RuntimeException("该账号已被管理员禁用,如有疑问请联系客服"); + } log.warn("手机号已注册,已清除缓存的验证码 - phone: {}", phone); throw new RuntimeException("该手机号已注册"); } @@ -264,6 +281,10 @@ public class UserServiceImpl implements UserService { // 12. 生成JWT令牌 String token = jwtUtil.generateToken(newUser.getId(), newUser.getPhone()); + + // 12.1 将token添加到管理器中(实现设备数限制) + String jwtId = jwtUtil.getJwtIdFromToken(token); + jwtTokenManager.addUserToken(newUser.getId(), jwtId, System.currentTimeMillis()); // 13. 删除Redis中的验证码 redisTemplate.delete(phone); @@ -481,8 +502,8 @@ public class UserServiceImpl implements UserService { if (existingUser != null && !existingUser.getId().equals(userId)) { // 新手机号已被使用时清除验证码,防止重复使用 redisTemplate.delete(newPhone); - log.warn("新手机号已被其他用户使用,已清除缓存的验证码 - newPhone: {}", newPhone); - throw new RuntimeException("新手机号已被其他用户使用"); + log.warn("手机号已被其他用户使用,已清除缓存的验证码 - newPhone: {}", newPhone); + throw new RuntimeException("手机号已被其他用户使用"); } // 4. 更新手机号 @@ -607,7 +628,8 @@ public class UserServiceImpl implements UserService { throw new RuntimeException("微信openid不能为空"); } - User user = userMapper.selectByWechatOpenid(wechatOpenid); + // 查询包含禁用用户 + User user = userMapper.selectByWechatOpenidAnyStatus(wechatOpenid); log.info("根据微信openid查询用户 - openid: {}, 结果: {}", wechatOpenid, user != null ? "找到用户" : "用户不存在"); return user; } catch (Exception e) { @@ -639,7 +661,7 @@ public class UserServiceImpl implements UserService { throw new RuntimeException("微信openid不能为空"); } - // 1. 根据微信openid查找用户 + // 1. 根据微信openid查找用户(包含禁用用户) User user = getUserByWechatOpenid(wechatOpenid); if (user == null) { @@ -648,6 +670,12 @@ public class UserServiceImpl implements UserService { log.info("微信登录创建新用户成功 - openid: {}, userId: {}, sceneStr: {}", wechatOpenid, user.getId(), sceneStr); } else { + // 1.1 禁用账号拦截 + if (user.getIsDeleted() != null && user.getIsDeleted() == 1) { + log.warn("用户已被禁用,微信登录拦截 - openid: {}, userId: {}", wechatOpenid, user.getId()); + throw new RuntimeException("该账号已被管理员禁用,如有疑问请联系客服"); + } + log.info("微信登录用户已存在 - openid: {}, userId: {}", wechatOpenid, user.getId()); // 如果是已存在用户,清理可能的推广码缓存 if (StringUtils.hasText(sceneStr)) { diff --git a/src/main/java/com/dora/service/provider/impl/SuChuangProviderImpl.java b/src/main/java/com/dora/service/provider/impl/SuChuangProviderImpl.java index 04688d0..48614ef 100644 --- a/src/main/java/com/dora/service/provider/impl/SuChuangProviderImpl.java +++ b/src/main/java/com/dora/service/provider/impl/SuChuangProviderImpl.java @@ -66,6 +66,24 @@ public class SuChuangProviderImpl implements AIProvider { taskType = (String) config.getOrDefault("taskType", taskType); } + // 新增:判断是否为 nanoBanana-pro 模型(手办生成) + boolean isNanoBananaPro = isNanoBananaProModel(request.getModelName()); + if (isNanoBananaPro) { + String imgAspectRatio = "auto"; + String imageSize = "1K"; + if (config != null) { + String ar = (String) config.get("aspectRatio"); + if (ar != null && Arrays.asList("auto", "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "21:9").contains(ar)) { + imgAspectRatio = ar; + } + String is = (String) config.get("imageSize"); + if (is != null && Arrays.asList("1K", "2K", "4K").contains(is.toUpperCase())) { + imageSize = is.toUpperCase(); + } + } + return submitNanoBananaProTask(request, imgAspectRatio, imageSize); + } + // 新增:判断是否为生图任务(img/draw) boolean isImageDraw = isImageDrawTask(taskType, request.getModelName()); if (isImageDraw) { @@ -97,7 +115,7 @@ public class SuChuangProviderImpl implements AIProvider { // 3. 构建POST请求(使用表单提交,避免中文乱码) // sora2pro 使用不同的接口 - String requestUrl = isSora2Pro ? apiUrl + "/api/sora2pro/submit" : apiUrl + "/api/sora2/submit"; + String requestUrl = isSora2Pro ? apiUrl + "/api/sora2pro/submit" : apiUrl + "/api/sora2-new/submit"; // 4. 设置请求头 HttpHeaders headers = new HttpHeaders(); @@ -117,12 +135,29 @@ public class SuChuangProviderImpl implements AIProvider { formData.add("url", imageUrl); } + // 处理续作参数 + boolean isContinueTask = false; + String pidParam = null; + if (request.getExtraParams() != null && request.getExtraParams().containsKey("sourcePid")) { + String sourcePid = (String) request.getExtraParams().get("sourcePid"); + if (sourcePid != null && !sourcePid.isEmpty()) { + // 注意:速创续作接口要求使用 remixTargetId 字段承载上一条视频的 pid(大小写敏感) + formData.add("remixTargetId", sourcePid); + isContinueTask = true; + pidParam = sourcePid; + } + } + // 详细记录提交请求的负载数据 log.info("=== SuChuang Provider 提交任务负载数据(POST) ==="); + log.info("请求类型: {}", isContinueTask ? "【续作任务】" : "【普通任务】"); log.info("请求URL: {}", requestUrl); log.info("模型类型: {}", isSora2Pro ? "sora2pro" : "sora2"); log.info("任务类型: {}", taskType); log.info("是否图生视频: {}", isImage2Video); + if (isContinueTask) { + log.info("续作来源: {}", pidParam); + } log.info("提示词: {}", request.getPrompt()); log.info("参考图片URL: {}", isImage2Video ? imageUrl : "N/A (文生视频)"); log.info("宽高比: {}", aspectRatio); @@ -239,12 +274,19 @@ public class SuChuangProviderImpl implements AIProvider { Integer scStatus = detailResponse.getData().getStatus(); ProviderTaskStatus.Status mappedStatus = mapSuChuangStatus(scStatus); - // 统一错误信息处理 + // 错误信息处理:友好提示 + 原始错误信息 String errorMessage = null; if (scStatus != null && scStatus == 2) { - // 状态为2(失败)时,返回统一的友好错误信息 - errorMessage = "生成中,遇到一些小错误,本次积分已退回。"; - } else if (detailResponse.getData().getFail_reason() != null) { + // 状态为2(失败)时,组合友好提示和速创返回的fail_reason + String failReason = detailResponse.getData().getFail_reason(); + if (failReason != null && !failReason.trim().isEmpty() && !"null".equalsIgnoreCase(failReason)) { + errorMessage = "生成失败,积分已退回。错误原因:" + failReason; + } else { + errorMessage = "生成失败,积分已退回。请稍后重试"; + } + } else if (detailResponse.getData().getFail_reason() != null + && !detailResponse.getData().getFail_reason().trim().isEmpty() + && !"null".equalsIgnoreCase(detailResponse.getData().getFail_reason())) { errorMessage = detailResponse.getData().getFail_reason(); } @@ -327,12 +369,17 @@ public class SuChuangProviderImpl implements AIProvider { Integer status = detailResponse.getData().getStatus(); String errorMsg; if (status != null && status == 2) { - // 状态为2(失败)时,返回统一的友好错误信息 - errorMsg = "生成中,遇到一些小错误,本次积分已退回。"; + // 状态为2(失败)时,组合友好提示和速创返回的fail_reason + String failReason = detailResponse.getData().getFail_reason(); + if (failReason != null && !failReason.trim().isEmpty() && !"null".equalsIgnoreCase(failReason)) { + errorMsg = "生成失败,积分已退回。错误原因:" + failReason; + } else { + errorMsg = "生成失败,积分已退回。请稍后重试"; + } } else { errorMsg = "任务未完成,状态: " + status; } - log.error("SuChuang Provider - 任务未完成,状态: {}", status); + log.error("SuChuang Provider - 任务未完成,状态: {}, 错误: {}", status, errorMsg); return ProviderTaskResult.builder() .providerTaskId(providerTaskId) .success(false) @@ -360,10 +407,14 @@ public class SuChuangProviderImpl implements AIProvider { log.info("SuChuang Provider - 成功获取结果文件: {}", resultUrl); + // 获取PID(如果存在) + String pid = detailResponse.getData().getPid(); + return ProviderTaskResult.builder() .providerTaskId(providerTaskId) .success(true) .files(files) + .pid(pid) .build(); } catch (Exception e) { @@ -452,11 +503,9 @@ public class SuChuangProviderImpl implements AIProvider { data.setUrl(decodedUrl); } - // 解码remote_url字段(结果视频URL) - if (data.getRemote_url() != null && !data.getRemote_url().isEmpty()) { - String decodedRemoteUrl = URLDecoder.decode(data.getRemote_url(), StandardCharsets.UTF_8); - data.setRemote_url(decodedRemoteUrl); - } + // 注意:remote_url 为带签名的Azure存储URL,必须保持原样,不能解码 + // 解码会破坏URL中的签名参数,导致下载时403认证失败 + // remote_url 保持原始URL编码格式,直接使用 } catch (Exception e) { log.warn("解码响应数据字段时出错: {}", e.getMessage()); @@ -476,6 +525,18 @@ public class SuChuangProviderImpl implements AIProvider { return mn.contains("sora2pro") || mn.contains("sora2_pro"); } + /** + * 判断是否为 nanoBanana-pro 模型(手办生成) + */ + private boolean isNanoBananaProModel(String modelName) { + if (modelName == null) { + return false; + } + String mn = modelName.toLowerCase(); + return mn.contains("nanobanana") || mn.contains("nano_banana") || mn.contains("nano-banana") + || mn.contains("nanobanner") || mn.contains("nano_banner") || mn.contains("nano-banner"); + } + private boolean isImageDrawTask(String taskType, String modelName) { if (taskType == null) { taskType = ""; @@ -624,8 +685,13 @@ public class SuChuangProviderImpl implements AIProvider { ProviderTaskStatus.Status mapped = mapSuChuangDrawStatus(status); String errorMessage = null; if (status != null && status == 3) { // 3: 失败 - errorMessage = "生成中,遇到一些小错误,本次积分已退回。"; - } else if (failReason != null && !"null".equalsIgnoreCase(failReason)) { + // 组合友好提示和速创返回的fail_reason + if (failReason != null && !"null".equalsIgnoreCase(failReason) && !failReason.trim().isEmpty()) { + errorMessage = "图片生成失败,积分已退回。错误原因:" + failReason; + } else { + errorMessage = "图片生成失败,积分已退回。请稍后重试"; + } + } else if (failReason != null && !"null".equalsIgnoreCase(failReason) && !failReason.trim().isEmpty()) { errorMessage = failReason; } @@ -710,5 +776,104 @@ public class SuChuangProviderImpl implements AIProvider { .build(); } } + + // ====================== nanoBanana-pro 手办生成专用实现 ====================== + + /** + * 提交 nanoBanana-pro 手办生成任务 + * + * @param request 任务请求 + * @param aspectRatio 输出图像比例:auto/1:1/16:9/9:16/4:3/3:4/3:2/2:3/5:4/4:5/21:9 + * @param imageSize 输出图像大小:1K/2K/4K + */ + private ProviderTaskResponse submitNanoBananaProTask(ProviderTaskRequest request, String aspectRatio, String imageSize) { + String requestUrl = apiUrl + "/api/img/nanoBanana-pro"; + + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.valueOf("application/json;charset=UTF-8")); + headers.set("Authorization", apiKey); + + Map payload = new HashMap<>(); + payload.put("prompt", request.getPrompt()); + + // 设置输出比例 + if (aspectRatio != null && !aspectRatio.isEmpty()) { + payload.put("aspectRatio", aspectRatio); + } + + // 设置输出大小 + if (imageSize != null && !imageSize.isEmpty()) { + payload.put("imageSize", imageSize); + } + + // 处理参考图片URL(支持单个或数组) + if (request.getImageUrl() != null && !request.getImageUrl().trim().isEmpty()) { + String iu = request.getImageUrl().trim(); + if ((iu.startsWith("[") && iu.endsWith("]"))) { + try { + @SuppressWarnings("unchecked") + List urls = JSON.parseObject(iu, List.class); + if (urls != null && !urls.isEmpty()) { + payload.put("img_url", urls); + } + } catch (Exception ignore) { + payload.put("img_url", request.getImageUrl()); + } + } else { + payload.put("img_url", request.getImageUrl()); + } + } + + HttpEntity entity = new HttpEntity<>(JSON.toJSONString(payload), headers); + + log.info("=== SuChuang nanoBanana-pro 提交任务负载数据(POST JSON) ==="); + log.info("请求URL: {}", requestUrl); + log.info("payload: {}", JSON.toJSONString(payload)); + log.info("API密钥: {}***", apiKey.length() > 6 ? apiKey.substring(0, 6) : apiKey); + log.info("===================================================="); + + ResponseEntity response = restTemplate.postForEntity(requestUrl, entity, String.class); + String body = response.getBody(); + log.info("SuChuang nanoBanana-pro - 提交任务响应: {}", body); + + @SuppressWarnings("unchecked") + Map resp = JSON.parseObject(body, Map.class); + if (resp == null || !Integer.valueOf(200).equals(resp.get("code"))) { + String msg = resp != null ? String.valueOf(resp.get("msg")) : "响应为空"; + return ProviderTaskResponse.builder() + .status(ProviderTaskResponse.TaskSubmitStatus.FAILED) + .errorMessage("nanoBanana-pro提交失败: " + msg) + .build(); + } + + @SuppressWarnings("unchecked") + Map data = (Map) resp.get("data"); + if (data == null || data.get("id") == null) { + return ProviderTaskResponse.builder() + .status(ProviderTaskResponse.TaskSubmitStatus.FAILED) + .errorMessage("nanoBanana-pro提交失败: 未返回任务ID") + .build(); + } + + String taskId = String.valueOf(data.get("id")); + log.info("SuChuang nanoBanana-pro - 任务已提交成功,taskId: {}", taskId); + + Map rawResponse = new HashMap<>(); + rawResponse.put("taskId", taskId); + + return ProviderTaskResponse.builder() + .providerTaskId(taskId) + .status(ProviderTaskResponse.TaskSubmitStatus.PROCESSING) + .rawResponse(rawResponse) + .build(); + } catch (Exception e) { + log.error("SuChuang nanoBanana-pro - 提交任务异常: {}", e.getMessage(), e); + return ProviderTaskResponse.builder() + .status(ProviderTaskResponse.TaskSubmitStatus.FAILED) + .errorMessage("提交nanoBanana-pro任务失败: " + e.getMessage()) + .build(); + } + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index e8da3fa..ac129db 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 8081 # 用户端端口 + port: 8082 # 用户端端口 spring: application: @@ -22,12 +22,12 @@ spring: file-size-threshold: 2MB # 文件大于2MB时写入磁盘 # --- DataSource Configuration --- datasource: - url: jdbc:mysql://localhost:3306/1818ai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&createDatabaseIfNotExist=true + url: jdbc:mysql://127.0.0.1:3306/1818ai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&createDatabaseIfNotExist=true username: 1818ai - password: XtBLxcZ8Nwa32raC + password: rBC658Kiw8j2Pd87 # username: root # password: 1234 - driver-class-name: com.mysql.cj.jdbc.Driver + driver-class-name: com.mysql.cj.jdbc.Driver sql: init: @@ -148,6 +148,17 @@ swagger: username: apidoc # API文档访问用户名 password: 1818ai@2024 # API文档访问密码 +# --- 腾讯云 COS 配置(预留,实际值请按环境配置) --- +tencent: + cos: + secret-id: AKIDKbBmV7av53pSxIRSL3ZuESUAuYPBl9LK + secret-key: qUxERTlz2zoT0MZotleTDvmU2NXZSBk8 + region: ap-guangzhou + bucket-name: oss-1818ai-user-img-1302947942 + user-img-folder: "" + expiration-seconds: 3600 + custom-domain: "" # 如有自定义域名可在此配置,留空则使用默认COS域名 + # --- 微信支付配置 --- wx2: # appID @@ -209,27 +220,34 @@ ai: output-url: /task/openapi/outputs default-webapp-id: "1973555977595301890" api-key: "5c44cef12da3470e9f24da70c63787dc" - polling-interval: 10000 # 轮询间隔(毫秒)- 10秒 + polling-interval: 20000 # 轮询间隔(毫秒)- 10秒 max-polling-times: 60 # 最大轮询次数(10分钟) - max-polling-tasks: 100 # 最大并发轮询任务数 + max-polling-tasks: 1000 # 最大并发轮询任务数 queue-check-interval: 5000 # 队列检查间隔(毫秒)- 5秒 - task-timeout-minutes: 15 # RunningHub任务超时时间(分钟)- 视频生成需要更长时间 + task-timeout-minutes: 20 # RunningHub任务超时时间(分钟)- 视频生成需要更长时间 connect-timeout: 10000 read-timeout: 300000 suchuang: enabled: true base-url: https://api.wuyinkeji.com - submit-url: /api/sora2/submit + submit-url: /api/sora2-new/submit detail-url: /api/sora2/detail - api-key: "LjRbm04mXO4CICPXJgPmfOaNij" - polling-interval: 10000 # 轮询间隔(毫秒)- 10秒 - task-timeout-minutes: 15 # 速创任务超时时间(分钟) - connect-timeout: 10000 - read-timeout: 300000 + # api-key: "LjRbm04mXO4CICPXJgPmfOaNij"开发者账号 + api-key: "GpFpubnd78puIBhoAeXE9RcR4d" #公司api_key + polling-interval: 30000 # 轮询间隔(毫秒)- 10秒 + task-timeout-minutes: 20 # 速创任务超时时间(分钟) + connect-timeout: 20000 + read-timeout: 600000 queue: scan-interval: 5000 # 队列扫描间隔(毫秒) - max-concurrent: 50 # 每个模型允许的最大并发处理数 + max-concurrent: 1000 # 每个模型允许的最大并发处理数 timeout-hours: 24 # 队列任务超时时间(小时),超过此时间自动取消 task: timeout-scan-interval: 60000 # 任务超时检查间隔(毫秒) - timeout-minutes: 10 # 任务处理超时时间(分钟) \ No newline at end of file + timeout-minutes: 10 # 任务处理超时时间(分钟) + +# --- TikHub API配置(工具服务) --- +tikhub: + api: + base-url: https://api.tikhub.io + key: "i5InAswS2FanhjOJO6aO0U/VDBmeUqd4/VzgsVW+fdb/mQngA2SydjmfEQ==" # 请替换为实际的TikHub API Key \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..dc17137 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + + ${LOG_PATH}/${APP_NAME}.log + + ${LOG_PATH}/${APP_NAME}.%d{yyyy-MM-dd}.log + 30 + 3GB + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + + ${LOG_PATH}/${APP_NAME}-error.log + + ${LOG_PATH}/${APP_NAME}-error.%d{yyyy-MM-dd}.log + 30 + 1GB + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + ERROR + ACCEPT + DENY + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/AiTaskMapper.xml b/src/main/resources/mapper/AiTaskMapper.xml index d82d67c..463d13f 100644 --- a/src/main/resources/mapper/AiTaskMapper.xml +++ b/src/main/resources/mapper/AiTaskMapper.xml @@ -28,6 +28,7 @@ progress = #{progress}, progress_message = #{progressMessage}, provider_task_id = #{providerTaskId}, + provider_pid = #{providerPid}, provider_response = #{providerResponse}, points_consumed = #{pointsConsumed}, result_url = #{resultUrl}, @@ -160,6 +161,7 @@ + diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index c3788d4..0ce7ad1 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -60,6 +60,17 @@ LIMIT 1 + + + + + + INSERT INTO user ( @@ -515,10 +537,14 @@ AND ubl.change_type = 'income' AND ubl.source_type = 'promotion' AND ubl.is_deleted = 0 - ), 0) as totalCommission + ), 0) as totalCommission, + u.is_deleted as isDeleted FROM user u LEFT JOIN user inviter ON u.inviter_id = inviter.id AND inviter.is_deleted = 0 - WHERE u.is_deleted = 0 + WHERE 1 = 1 + + AND u.is_deleted = #{isDeleted} + AND (u.username LIKE CONCAT('%', #{keyword}, '%') OR u.phone LIKE CONCAT('%', #{keyword}, '%') @@ -649,7 +675,10 @@ - SELECT - at.id, - at.task_no, - at.user_id, - at.model_name, - at.task_type, - at.prompt, - at.result_url, - at.image_url, - at.aspect_ratio, - at.status, - at.progress, - at.error_message, - at.create_time, - at.update_time, - u.username as nickname, - u.avatar_url - FROM ai_task at - LEFT JOIN user u ON at.user_id = u.id - WHERE at.task_no = #{taskNo} AND at.is_deleted = 0 - -``` - -**SQL特点**: -- 查询AI任务表的基本字段 -- 通过LEFT JOIN关联用户信息 -- 包含任务状态、进度、错误信息等 - ---- - -## 📊 响应数据结构 - -### 情况1:查询已发布到广场的作品 - -```json -{ - "code": 200, - "message": "success", - "data": { - "workNo": "WORK-1762440663366-3093", - "taskNo": "TASK-20251026183750127-8554", - "taskType": "text_to_video", - "modelName": "minimax-video-01", - "prompt": "战争场景,恢弘气势...", - "resultUrl": "https://oss.example.com/videos/xxx.mp4", - "imageUrl": "https://oss.example.com/images/ref.jpg", - "aspectRatio": "16:9", - "title": "战场气氛短视频", - "description": "根据参考图生成的恢弘战场场景", - "tags": ["视频", "战争", "特效"], - "viewCount": 125, - "likeCount": 38, - "shareCount": 5, - "isLiked": true, - "author": { - "userId": 17563793187762127, - "nickname": "用户123456", - "avatarUrl": "https://img.remit.ee/api/file/xxx.png" - }, - "createTime": "2024-11-06T10:30:00", - "updateTime": "2024-11-07T15:45:00" - } -} -``` - -### 情况2:查询未发布的任务 - -#### 2.1 任务已完成 - -```json -{ - "code": 200, - "message": "success", - "data": { - "workNo": null, // 未发布,无作品编号 - "taskNo": "TASK-20251106195754218-9940", - "taskType": "text_to_video", - "modelName": "minimax-video-01", - "prompt": "战争场景,恢弘气势...", - "resultUrl": "https://oss.example.com/videos/xxx.mp4", // ✅ 已完成,有结果 - "imageUrl": null, // text_to_video 任务通常无参考图 - "aspectRatio": "16:9", - "title": null, // 未发布,无标题 - "description": null, // 未发布,无描述 - "tags": [], // 未发布,无标签 - "viewCount": 0, // 未发布,浏览数为0 - "likeCount": 0, // 未发布,点赞数为0 - "shareCount": 0, // 未发布,分享数为0 - "isLiked": false, // 未发布,不可点赞 - "author": { - "userId": 17563793187762127, - "nickname": "用户123456", - "avatarUrl": "https://img.remit.ee/api/file/xxx.png" - }, - "createTime": "2024-11-06T19:57:54", - "updateTime": "2024-11-06T20:05:30", - "taskStatus": "completed", // ✅ 任务状态:已完成 - "taskProgress": 100, // ✅ 任务进度:100% - "errorMessage": null // ✅ 无错误 - } -} -``` - -#### 2.2 任务处理中 - -```json -{ - "code": 200, - "message": "success", - "data": { - "workNo": null, - "taskNo": "TASK-20251106195754218-9940", - "taskType": "text_to_video", - "modelName": "minimax-video-01", - "prompt": "战争场景,恢弘气势...", - "resultUrl": null, // ⏳ 处理中,暂无结果 - "imageUrl": null, - "aspectRatio": "16:9", - "title": null, - "description": null, - "tags": [], - "viewCount": 0, - "likeCount": 0, - "shareCount": 0, - "isLiked": false, - "author": { - "userId": 17563793187762127, - "nickname": "用户123456", - "avatarUrl": "https://img.remit.ee/api/file/xxx.png" - }, - "createTime": "2024-11-06T19:57:54", - "updateTime": "2024-11-06T19:58:55", - "taskStatus": "processing", // ⏳ 任务状态:处理中 - "taskProgress": 45, // ⏳ 任务进度:45% - "errorMessage": null - } -} -``` - -#### 2.3 任务失败 - -```json -{ - "code": 200, - "message": "success", - "data": { - "workNo": null, - "taskNo": "TASK-20251106195754218-9940", - "taskType": "text_to_video", - "modelName": "minimax-video-01", - "prompt": "战争场景,恢弘气势...", - "resultUrl": null, // ❌ 失败,无结果 - "imageUrl": null, - "aspectRatio": "16:9", - "title": null, - "description": null, - "tags": [], - "viewCount": 0, - "likeCount": 0, - "shareCount": 0, - "isLiked": false, - "author": { - "userId": 17563793187762127, - "nickname": "用户123456", - "avatarUrl": "https://img.remit.ee/api/file/xxx.png" - }, - "createTime": "2024-11-06T19:57:54", - "updateTime": "2024-11-06T20:10:30", - "taskStatus": "failed", // ❌ 任务状态:失败 - "taskProgress": 0, // ❌ 任务进度:0% - "errorMessage": "生成超时或服务异常" // ❌ 错误信息 - } -} -``` - -**关键区别**: - -| 字段 | 已发布作品 | 未发布任务 | -|-----|-----------|-----------| -| `workNo` | 有值 | `null` | -| `title` | 用户设置的标题 | `null` | -| `description` | 用户设置的描述 | `null` | -| `tags` | 用户设置的标签数组 | `[]` 空数组 | -| `viewCount` | 真实浏览数 | `0` | -| `likeCount` | 真实点赞数 | `0` | -| `shareCount` | 真实分享数 | `0` | -| `isLiked` | 真实点赞状态 | `false` | -| `taskStatus` | `null` | 任务状态(queued/processing/completed/failed) | -| `taskProgress` | `null` | 任务进度(0-100) | -| `errorMessage` | `null` | 错误信息(失败时才有) | -| `resultUrl` | 总是有值 | 仅completed时有值 | -| `imageUrl` | 可能有值 | text_to_video通常为null | - ---- - -## 🔍 任务状态说明 - -### 任务状态(taskStatus) - -| 状态 | 说明 | resultUrl | 前端建议 | -|-----|------|-----------|---------| -| `queued` | 排队中 | `null` | 显示"排队中..." | -| `processing` | 处理中 | `null` | 显示进度条(使用taskProgress) | -| `completed` | 已完成 | ✅ 有值 | 显示视频播放器 | -| `failed` | 失败 | `null` | 显示错误提示(使用errorMessage) | - -### 为什么resultUrl为null? - -1. **任务未完成**:`taskStatus` 为 `queued` 或 `processing` - - 解决方案:轮询查询,等待任务完成 - -2. **任务失败**:`taskStatus` 为 `failed` - - 解决方案:显示 `errorMessage` 给用户 - -3. **任务刚完成**:数据库更新延迟 - - 解决方案:刷新重试 - -### 为什么imageUrl为null? - -1. **text_to_video任务**:文本生成视频,不需要参考图 ✅ 正常 -2. **image_to_video任务**:图生视频,应该有参考图URL - ---- - -## 🎯 使用场景 - -### 场景1:公开广场浏览(使用workNo) - -**场景描述**: 用户在广场浏览其他人的作品 - -**调用方式**: `GET /plaza/works/{workNo}` 或 `?queryType=workNo` - -**预期行为**: -- ✅ 记录浏览数 -- ✅ 用于热度排序 -- ✅ 统计作品受欢迎程度 - ---- - -### 场景2:用户查看自己的作品(使用taskId) - -**场景描述**: 用户从"我的任务"列表点击查看已发布的作品 - -**调用方式**: `GET /plaza/works/{taskNo}?queryType=taskId` - -**预期行为**: -- ❌ 不记录浏览数(避免刷数据) -- ✅ 查看真实的浏览统计 -- ✅ 预览作品效果 - ---- - -### 场景3:外部分享链接(使用workNo) - -**场景描述**: 通过分享链接访问作品 - -**调用方式**: `GET /plaza/works/{workNo}` - -**预期行为**: -- ✅ 记录浏览数 -- ✅ 统计分享传播效果 - ---- - -## 🔒 安全性考虑 - -### 1. 权限控制 - -- ✅ 两种查询方式都支持未登录用户访问 -- ✅ 已登录用户可查看个性化点赞状态 -- ✅ 查询条件都包含 `is_deleted = 0`,过滤已删除作品 - -### 2. 数据一致性 - -- ✅ `task_no` 与 `work_no` 在数据库中都有索引(建议) -- ✅ 一个任务最多对应一个作品(发布时已验证) -- ✅ 查询结果经过软删除过滤 - -### 3. 异常处理 - -```java -// taskId不存在时的错误提示 -throw new IllegalArgumentException("该任务对应的作品不存在: " + taskNo); - -// workNo不存在时的错误提示 -throw new IllegalArgumentException("作品不存在: " + workNo); -``` - ---- - -## 📈 数据库优化建议 - -### 推荐索引 - -```sql --- 任务编号索引(如果尚未创建) -CREATE INDEX idx_task_no ON plaza_work(task_no); - --- 作品编号索引(应该已存在) -CREATE UNIQUE INDEX uk_work_no ON plaza_work(work_no); - --- 复合索引(优化查询性能) -CREATE INDEX idx_task_no_deleted ON plaza_work(task_no, is_deleted); -``` - ---- - -## 🧪 测试建议 - -### 测试用例1: 通过workNo查询(记录浏览) - -```bash -# 第一次查询 -curl 'http://116.62.4.26:8081/user/plaza/works/WORK-xxx' -# 预期: viewCount = N - -# 第二次查询 -curl 'http://116.62.4.26:8081/user/plaza/works/WORK-xxx' -# 预期: viewCount = N + 1 -``` - ---- - -### 测试用例2: 通过taskId查询(不记录浏览) - -```bash -# 查询前记录当前浏览数 -curl 'http://116.62.4.26:8081/user/plaza/works/WORK-xxx' -# 假设 viewCount = 100 - -# 通过taskId查询多次 -curl 'http://116.62.4.26:8081/user/plaza/works/TASK-xxx?queryType=taskId' -curl 'http://116.62.4.26:8081/user/plaza/works/TASK-xxx?queryType=taskId' -curl 'http://116.62.4.26:8081/user/plaza/works/TASK-xxx?queryType=taskId' - -# 再次通过workNo查询确认 -curl 'http://116.62.4.26:8081/user/plaza/works/WORK-xxx' -# 预期: viewCount 仍然为 100(未增加) -``` - ---- - -### 测试用例3: 错误的taskId - -```bash -curl 'http://116.62.4.26:8081/user/plaza/works/TASK-invalid?queryType=taskId' - -# 预期响应: -{ - "code": 400, - "message": "该任务对应的作品不存在: TASK-invalid", - "data": null -} -``` - ---- - -### 测试用例4: 未发布作品的taskId - -```bash -# 对于未发布到广场的任务 -curl 'http://116.62.4.26:8081/user/plaza/works/TASK-未发布?queryType=taskId' - -# 预期响应: -{ - "code": 400, - "message": "该任务对应的作品不存在: TASK-未发布", - "data": null -} -``` - ---- - -## 📝 日志记录 - -### 通过workNo查询的日志 - -```log -INFO - 通过workNo查询作品详情,workNo: WORK-1762440663366-3093 -DEBUG - 记录作品浏览,workNo: WORK-1762440663366-3093, userId: 17563793187762127 -INFO - 查询作品详情,workNo: WORK-1762440663366-3093 -``` - -### 通过taskId查询的日志 - -```log -INFO - 通过taskId查询作品详情,taskNo: TASK-20251026183750127-8554 -INFO - 通过任务编号查询作品详情(不记录浏览),taskNo: TASK-20251026183750127-8554 -``` - ---- - -## ✅ 修改文件清单 - -| 文件路径 | 修改内容 | -|---------|---------| -| `PlazaController.java` | 新增 `queryType` 参数,根据类型分发请求 | -| `PlazaService.java` | 新增 `getWorkDetailByTaskNo()` 接口方法 | -| `PlazaServiceImpl.java` | 实现两级查询逻辑、大小写转换、`convertTaskToWorkDetail()` 转换方法 | -| `PlazaWorkMapper.java` | 新增 `findWorkDetailByTaskNo()` SQL查询 | -| `AiTaskMapper.java` | 新增 `findTaskDetailByTaskNo()` 接口方法 | -| `AiTaskMapper.xml` | 新增 `findTaskDetailByTaskNo` SQL实现(关联user表) | - ---- - -## 🎬 总结 - -✅ **向后兼容** - 原有接口调用方式不受影响 -✅ **灵活查询** - 支持通过作品编号或任务编号查询 -✅ **完整回退** - 未发布任务也能正常查询 -✅ **大小写兼容** - 自动转换大小写,提升用户体验 -✅ **数据准确** - taskId查询不影响浏览统计 -✅ **完善日志** - 详细记录查询类型和来源 -✅ **异常处理** - 明确的错误提示信息 - -该功能完美满足了在不同场景下查询作品详情的需求,包括已发布作品和未发布任务,同时保证了统计数据的准确性! - ---- - -## 🔍 Bug修复记录 - -### Bug 1: 大小写敏感问题 - -**现象**: 传入小写的taskId(如 `task-xxx`)查询失败 - -**原因**: 数据库中存储的是大写格式(如 `TASK-xxx`) - -**解决**: 在所有查询方法中添加 `.toUpperCase()` 转换 - -**影响范围**: `getWorkDetail`, `getWorkDetailByTaskNo`, `likeWork`, `unlikeWork`, `deleteWork`, `recordView` - -### Bug 2: 未发布任务无法查询 - -**现象**: 传入未发布任务的taskId返回"作品不存在" - -**原因**: 只查询了plaza_work表,未发布的任务不在该表中 - -**解决**: 实现两级查询,先查plaza_work,未找到再查ai_task表 - -**新增方法**: `AiTaskMapper.findTaskDetailByTaskNo()`, `PlazaServiceImpl.convertTaskToWorkDetail()` - ---- - -## 📞 技术支持 - -如有问题,请查看日志文件或联系技术团队。 - -**日志关键字**: -- `通过taskId查询作品详情` -- `通过workNo查询作品详情` -- `该任务对应的作品不存在` - diff --git a/广场作品排序推荐算法说明.md b/广场作品排序推荐算法说明.md deleted file mode 100644 index c4a1faa..0000000 --- a/广场作品排序推荐算法说明.md +++ /dev/null @@ -1,247 +0,0 @@ -# 广场作品排序推荐算法说明 - -## 📊 当前排序算法(简单版) - -### 1. 最新排序 (latest) -```sql -ORDER BY pw.create_time DESC -``` -- **逻辑**: 按发布时间倒序 -- **优点**: 简单直接,新作品优先展示 -- **缺点**: 忽略作品质量,优质老作品难以被发现 - -### 2. 热门排序 (hot) -```sql -ORDER BY pw.like_count DESC, pw.create_time DESC -``` -- **逻辑**: 先按点赞数倒序,再按时间倒序 -- **优点**: 高质量作品排前面 -- **缺点**: - - 老作品积累点赞多,新作品难出头 - - 没有时间衰减,不符合"热度"概念 - - 只考虑点赞,忽略浏览、评论等互动 - ---- - -## 🚀 优化方案:智能推荐算法 - -### 方案一:时间衰减热度算法(推荐) - -#### 热度公式 -``` -热度分 = (点赞权重 × 点赞数 + 浏览权重 × 浏览数) / (发布时间距今小时数 + 2)^衰减系数 -``` - -**参数设置**: -- 点赞权重: 10 -- 浏览权重: 1 -- 衰减系数: 1.5 -- 时间基数: 2 (避免除零,新作品有初始优势) - -**示例计算**: -``` -作品A: 100赞, 1000浏览, 发布24小时 -热度 = (10×100 + 1×1000) / (24 + 2)^1.5 = 2000 / 132.3 ≈ 15.1 - -作品B: 50赞, 500浏览, 发布2小时 -热度 = (10×50 + 1×500) / (2 + 2)^1.5 = 1000 / 8 = 125 - -作品B虽然数据少,但因为新鲜度高,热度分更高! -``` - -#### SQL实现 -```sql -SELECT pw.*, - (10 * pw.like_count + 1 * pw.view_count) / - POW(TIMESTAMPDIFF(HOUR, pw.create_time, NOW()) + 2, 1.5) as hot_score -FROM plaza_work pw -WHERE pw.status = 'published' AND pw.audit_status = 'approved' -ORDER BY hot_score DESC -``` - -### 方案二:威尔逊得分算法(适合评分系统) - -如果未来加入评分功能,可使用威尔逊得分: - -``` -威尔逊下界 = (p + z²/2n - z × √(p(1-p)/n + z²/4n²)) / (1 + z²/n) - -其中: -- p = 好评率 (点赞数 / (点赞数 + 踩数)) -- n = 总投票数 -- z = 置信度系数 (95%置信度时 z=1.96) -``` - -### 方案三:多维度评分算法 - -#### 综合评分公式 -``` -总分 = 质量分 × 40% + 热度分 × 30% + 新鲜度分 × 20% + 互动分 × 10% -``` - -**各维度计算**: - -1. **质量分** (0-100): - ``` - 质量分 = MIN(点赞率 × 100, 100) - 点赞率 = 点赞数 / MAX(浏览数, 1) - ``` - -2. **热度分** (0-100): - ``` - 热度分 = MIN((点赞数 × 10 + 浏览数) / 平台平均热度 × 50, 100) - ``` - -3. **新鲜度分** (0-100): - ``` - 新鲜度分 = MAX(100 - 发布小时数 × 2, 0) - ``` - -4. **互动分** (0-100): - ``` - 互动分 = MIN((点赞数 + 评论数 × 3) × 2, 100) - ``` - ---- - -## 🎯 推荐的实施方案 - -### 第一阶段:实现时间衰减热度算法 - -修改 `PlazaWorkMapper.java`: - -```java -@Select("") -List> findPublicWorksList( - @Param("taskType") String taskType, - @Param("sortBy") String sortBy, - @Param("offset") int offset, - @Param("size") int size -); -``` - -### 第二阶段:添加智能推荐排序 - -增加新的排序方式 `recommend`: - -```java -// DTO中添加 -public enum SortType { - LATEST, // 最新 - HOT, // 热门(时间衰减) - RECOMMEND, // 智能推荐(多维度) - QUALITY // 高质量(点赞率) -} -``` - -### 第三阶段:个性化推荐 - -基于用户历史行为(浏览、点赞的作品类型)推荐相似作品: - -1. 统计用户最喜欢的任务类型(task_type) -2. 统计用户最喜欢的模型(model_name) -3. 提取用户点赞作品的标签 -4. 计算作品与用户偏好的匹配度 - ---- - -## 📝 实施建议 - -### 立即实施(基础优化) -✅ 实现时间衰减热度算法 -✅ 添加高质量排序(按点赞率) -✅ 优化数据库索引 - -### 短期计划(1-2周) -🔄 添加多维度评分算法 -🔄 实现推荐排序 -🔄 添加排序参数配置化 - -### 长期计划(1-2个月) -⏳ 个性化推荐系统 -⏳ 机器学习推荐模型 -⏳ A/B测试不同算法效果 - ---- - -## 🔧 审核接口补充说明 - -### 当前审核接口功能 -1. ✅ 查询待审核列表 -2. ✅ 单个审核 -3. ✅ 批量审核 -4. ✅ 审核统计 -5. ✅ 审核历史 - -### 可能需要的补充接口 - -#### 1. 撤销审核(管理员误操作) -```java -POST /admin/plaza/audit/revoke -{ - "workNo": "WORK-xxx", - "reason": "误操作,需要重新审核" -} -``` - -#### 2. 审核详情查询(含完整上下文) -```java -GET /admin/plaza/audit/detail/{workNo} -// 返回:作品信息 + 作者信息 + 历史审核记录 -``` - -#### 3. 快捷审核(一键通过前N个) -```java -POST /admin/plaza/audit/quick-approve -{ - "count": 10, // 通过最早的10个待审核作品 - "taskType": "text_to_image" // 可选:指定类型 -} -``` - -#### 4. 违规关键词检测(AI辅助审核) -```java -GET /admin/plaza/audit/keyword-check/{workNo} -// 返回:敏感词检测结果,辅助人工审核 -``` - -#### 5. 审核员工作量统计 -```java -GET /admin/plaza/audit/admin-stats?adminId=1&startTime=xxx&endTime=xxx -// 返回:某审核员的审核数量、通过率等 -``` - ---- - -## 💡 是否需要补充以下功能? - -请告诉我您需要: - -1. **优化排序算法** - 实现时间衰减热度算法? -2. **补充审核接口** - 需要哪些额外的审核功能? -3. **个性化推荐** - 是否需要基于用户行为的推荐? -4. **违规检测** - 是否需要AI辅助审核(敏感词过滤)? - -我可以立即为您实现! - - diff --git a/广场功能实施清单.md b/广场功能实施清单.md deleted file mode 100644 index 3170aef..0000000 --- a/广场功能实施清单.md +++ /dev/null @@ -1,299 +0,0 @@ -# 广场功能完整实施清单(含审核功能) - -## ✅ 已完成的文件 - -### 1. 数据库层 -- ✅ **V10__add_plaza_feature.sql** (167行) - - plaza_work 表(作品表) - - plaza_work_like 表(点赞表) - - plaza_work_view 表(浏览记录表) - - 索引优化 - - 视图:v_plaza_hot_works, v_plaza_latest_works - -- ✅ **V11__add_plaza_audit_feature.sql** (71行) 【新增】 - - plaza_work 表增加审核字段(audit_status, audit_admin_id, audit_time, audit_remark) - - plaza_work_audit_log 表(审核记录表) - - 更新视图(只显示审核通过的作品) - - v_plaza_pending_works 视图(待审核作品) - -### 2. 实体类 (Entity) -- ✅ **PlazaWork.java** (153行) 【已更新】 - - 作品实体,包含所有字段 - - 新增审核相关字段 -- ✅ **PlazaWorkLike.java** (43行) - - 点赞实体 -- ✅ **PlazaWorkAuditLog.java** (56行) 【新增】 - - 审核记录实体 - -### 3. 数据传输对象 (DTO) -- ✅ **PlazaWorkDto.java** (273行) - - PublishWorkRequest - 发布作品请求 - - WorkQueryRequest - 查询请求 - - WorkDetailResponse - 作品详情响应 - - WorkListItemResponse - 列表项响应 - - WorkListResponse - 分页列表响应 - - WorkAuthorDto - 作者信息 - - LikeResponse - 点赞响应 - - PlazaStatsResponse - 统计响应 - -### 4. 数据访问层 (Mapper) -- ✅ **PlazaWorkMapper.java** (215行) - - 作品的增删改查 - - 分页查询(支持类型筛选、热度/时间排序) - - 统计数据 - - 点赞/浏览/分享数更新 -- ✅ **PlazaWorkLikeMapper.java** (83行) - - 点赞记录的增删查 - - 批量检查点赞状态 - -### 5. 业务逻辑层 (Service) -- ✅ **PlazaService.java** (91行) - - 服务接口定义 -- ✅ **PlazaServiceImpl.java** (391行) - - 发布作品逻辑(验证任务、防重复发布) - - 查询列表(支持筛选、排序、分页) - - 查询详情(包含作者信息) - - 点赞/取消点赞(事务保证) - - 删除作品(权限验证) - - 浏览统计 - - 广场统计数据 - -### 6. 控制器层 (Controller) -- ✅ **PlazaController.java** (236行) - - POST /user/plaza/works/publish - 发布作品 - - GET /user/plaza/works/list - 查询广场列表 - - GET /user/plaza/works/{workNo} - 查询作品详情 - - POST /user/plaza/works/{workNo}/like - 点赞 - - DELETE /user/plaza/works/{workNo}/like - 取消点赞 - - GET /user/plaza/my-works - 查询我的作品 - - DELETE /user/plaza/works/{workNo} - 删除作品 - - GET /user/plaza/stats - 广场统计 - -### 7. 工具类 (Util) -- ✅ **SecurityUtil.java** (已增强) - - 新增 getCurrentUserIdOrNull() 方法 - - 支持匿名用户浏览广场 - -### 8. 文档 -- ✅ **广场功能实现方案.md** (685行) - - 完整的API文档 - - 前端调用示例(cURL/JavaScript/React) - - 业务流程说明 - - 性能优化建议 - ---- - -## 📋 功能清单 - -### 核心功能(已实现) -- ✅ 发布作品到广场 -- ✅ 按类型筛选查询作品(text_to_image/image_to_video等) -- ✅ 按热度/时间排序 -- ✅ 分页查询 -- ✅ 查看作品详情 -- ✅ 点赞/取消点赞 -- ✅ 浏览统计(自动计数) -- ✅ 查询个人作品 -- ✅ 删除作品 -- ✅ 广场统计数据 -- ✅ 防重复发布(同一任务只能发布一次) -- ✅ 权限验证(只能删除自己的作品) -- ✅ 事务保证(点赞数一致性) -- ✅ 匿名浏览支持 - -### 数据统计(已实现) -- ✅ 浏览次数统计 -- ✅ 点赞数统计 -- ✅ 分享数统计(预留) -- ✅ 评论数统计(预留) -- ✅ 按类型统计作品数 -- ✅ 全局统计数据 - -### 安全特性(已实现) -- ✅ 任务归属验证 -- ✅ 任务状态验证(只能发布已完成的任务) -- ✅ 作品删除权限验证 -- ✅ 防SQL注入(MyBatis参数化查询) -- ✅ 软删除(is_deleted标记) - ---- - -## 🚀 快速开始 - -### 1. 执行数据库脚本 -```bash -mysql -u root -p 1818ai < V10__add_plaza_feature.sql -``` - -### 2. 重启后端服务 -```bash -# 如果使用 Spring Boot DevTools,会自动重启 -# 否则手动重启 -./mvnw spring-boot:run -``` - -### 3. 测试API - -#### 发布作品 -```bash -curl -X POST "http://localhost:8081/user/plaza/works/publish" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -d '{ - "taskNo": "TASK-20251026183750127-8554", - "title": "我的AI作品", - "description": "这是一个精彩的作品", - "tags": ["AI", "创意"], - "isPublic": true - }' -``` - -#### 浏览广场(按类型筛选) -```bash -curl "http://localhost:8081/user/plaza/works/list?page=1&size=20&taskType=text_to_image&sortBy=hot" -``` - -#### 查看作品详情 -```bash -curl "http://localhost:8081/user/plaza/works/WORK-xxx" -``` - -#### 点赞作品 -```bash -curl -X POST "http://localhost:8081/user/plaza/works/WORK-xxx/like" \ - -H "Authorization: Bearer YOUR_TOKEN" -``` - ---- - -## 📊 API 端点总览 - -| 方法 | 路径 | 功能 | 需要登录 | -|------|------|------|---------| -| POST | /user/plaza/works/publish | 发布作品 | ✅ | -| GET | /user/plaza/works/list | 查询广场列表 | ❌ | -| GET | /user/plaza/works/{workNo} | 查询作品详情 | ❌ | -| POST | /user/plaza/works/{workNo}/like | 点赞作品 | ✅ | -| DELETE | /user/plaza/works/{workNo}/like | 取消点赞 | ✅ | -| GET | /user/plaza/my-works | 查询我的作品 | ✅ | -| DELETE | /user/plaza/works/{workNo} | 删除作品 | ✅ | -| GET | /user/plaza/stats | 广场统计 | ❌ | - ---- - -## 🎯 任务类型支持 - -广场支持以下任务类型的筛选: -- `text_to_image` - 文生图 -- `image_to_image` - 图生图 -- `text_to_video` - 文生视频 -- `image_to_video` - 图生视频 -- 其他自定义类型 - ---- - -## ⚠️ 已知限制 - -### 当前版本不支持(可后续扩展) -- ❌ 评论功能 -- ❌ 收藏功能 -- ❌ 用户关注 -- ❌ 作品举报 -- ❌ 热门标签推荐 -- ❌ 个性化推荐 - -### 性能考虑 -- 当前使用数据库直接查询,适合中小规模应用 -- 大规模应用建议: - - 热门作品列表加入Redis缓存 - - 点赞状态批量查询优化 - - CDN加速作品资源加载 - - 分表分库 - ---- - -## 🔧 代码质量 - -### Linter 检查结果 -``` -✅ 0 errors (无错误) -⚠️ 3 warnings (3个警告,不影响功能) - - Stream.collect 可优化为 Stream.toList() - - "task_type" 字符串可提取为常量 - - Random 使用建议 -``` - -### 测试覆盖 -- ✅ 编译通过 -- ⏳ 单元测试待补充 -- ⏳ 集成测试待补充 - ---- - -## 📝 数据库表结构 - -### plaza_work(作品表) -- 主键:id (BIGINT) -- 唯一键:work_no, task_no -- 索引:user_id, task_type, create_time, like_count -- 软删除:is_deleted - -### plaza_work_like(点赞表) -- 主键:id (BIGINT) -- 唯一索引:(work_id, user_id) -- 防止重复点赞 - -### plaza_work_view(浏览记录表) -- 主键:id (BIGINT) -- 索引:work_id, user_id, view_time -- 可用于统计分析 - ---- - -## 🎨 前端集成示例 - -### React 组件 -参见 `广场功能实现方案.md` 第七节 - -### Vue 组件 -可参考React示例改写 - -### 原生 JavaScript -参见文档中的fetch调用示例 - ---- - -## 📈 后续优化建议 - -### 短期(1-2周) -1. 添加Redis缓存 -2. 实现浏览去重(同一用户1分钟内只计数一次) -3. 补充单元测试 - -### 中期(1-2月) -1. 评论功能 -2. 收藏功能 -3. 作品举报机制 -4. 热门标签系统 - -### 长期(3-6月) -1. 个性化推荐算法 -2. 用户关注系统 -3. 动态feed流 -4. 实时通知 - ---- - -## ✅ 总结 - -广场功能已**100%完成**,包括: -- ✅ 8个Java类文件 -- ✅ 1个SQL脚本 -- ✅ 2个详细文档 -- ✅ 8个REST API端点 -- ✅ 完整的前端调用示例 - -**所有代码均可直接使用,无编译错误!** - -立即执行SQL脚本并重启服务即可上线。 - diff --git a/广场功能实现方案.md b/广场功能实现方案.md deleted file mode 100644 index 5a9cbfe..0000000 --- a/广场功能实现方案.md +++ /dev/null @@ -1,684 +0,0 @@ -# 广场功能完整实现方案 - -## 一、功能概述 - -用户可以将AI生成的作品发布到广场,其他用户可以浏览、点赞、按类型筛选查询作品。 - -### 核心功能 -1. **发布作品** - 用户将任务结果发布到广场 -2. **浏览广场** - 按类型、热度、时间查询作品 -3. **作品详情** - 查看单个作品详细信息 -4. **点赞/取消点赞** - 用户可以对作品点赞 -5. **统计数据** - 浏览量、点赞数、分享数统计 -6. **个人作品** - 查看自己发布的作品 -7. **删除作品** - 用户可以删除自己的作品 - ---- - -## 二、数据库设计 - -已在 `V10__add_plaza_feature.sql` 中定义了以下表: - -### 1. plaza_work(广场作品表) -```sql -- id: 主键 -- work_no: 作品编号(唯一) -- user_id: 发布者ID -- task_no: 关联任务编号 -- task_type: 任务类型(text_to_image/image_to_video等) -- model_name: 使用的模型 -- prompt: 生成提示词 -- result_url: 作品URL -- image_url: 参考图URL(可选) -- title: 作品标题 -- description: 作品描述 -- tags: 标签(JSON) -- view_count, like_count, share_count: 统计数据 -- is_public: 是否公开 -- status: 状态(draft/published/hidden) -- create_time, update_time, is_deleted -``` - -### 2. plaza_work_like(点赞表) -```sql -- id: 主键 -- work_id: 作品ID -- user_id: 点赞用户ID -- create_time: 点赞时间 -- 唯一索引:(work_id, user_id) -``` - -### 3. plaza_work_view(浏览记录表) -```sql -- id: 主键 -- work_id: 作品ID -- user_id: 浏览用户ID(可空) -- ip_address: IP地址 -- view_time: 浏览时间 -``` - ---- - -## 三、API 接口设计 - -### 基础路径 -所有接口以 `/user/plaza` 开头 - -### 1. 发布作品 -``` -POST /user/plaza/works/publish -``` - -**请求参数:** -```json -{ - "taskNo": "TASK-20251026183750127-8554", - "title": "战场气氛短视频", - "description": "根据参考图生成的恢弘战场场景", - "tags": ["视频", "战争", "特效"], - "isPublic": true -} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "workNo": "WORK-20251026185630123-4567", - "taskNo": "TASK-20251026183750127-8554", - "taskType": "image_to_video", - "modelName": "sc_sora2_img_landscape_15s_small", - "prompt": "根据参考图展现出一个100秒左右的战场短视频...", - "resultUrl": "https://oss-1818ai-user-img.oss-cn-hangzhou.aliyuncs.com/result.mp4", - "imageUrl": "https://oss-1818ai-user-img.oss-cn-hangzhou.aliyuncs.com/ref.png", - "title": "战场气氛短视频", - "description": "根据参考图生成的恢弘战场场景", - "tags": ["视频", "战争", "特效"], - "viewCount": 0, - "likeCount": 0, - "isLiked": false, - "createTime": "2025-10-26T18:56:30" - } -} -``` - ---- - -### 2. 查询广场作品列表 -``` -GET /user/plaza/works/list -``` - -**请求参数:** -- `page`: 页码(默认1) -- `size`: 每页数量(默认20) -- `taskType`: 任务类型筛选(可选:text_to_image/image_to_video等) -- `sortBy`: 排序方式(可选:latest-最新/hot-最热,默认latest) - -**示例:** -``` -GET /user/plaza/works/list?page=1&size=20&taskType=text_to_image&sortBy=hot -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "total": 156, - "list": [ - { - "workNo": "WORK-20251026185630123-4567", - "taskType": "text_to_image", - "modelName": "sc_soraimg_text_1x1", - "prompt": "一只可爱的橘猫在窗台晒太阳", - "resultUrl": "https://oss-.../cat.png", - "title": "窗台上的橘猫", - "tags": ["猫咪", "温馨", "治愈"], - "viewCount": 1245, - "likeCount": 89, - "isLiked": false, - "author": { - "userId": 17563793187762127, - "nickname": "AI创作者", - "avatarUrl": "https://oss-.../avatar.jpg" - }, - "createTime": "2025-10-26T18:56:30" - } - // ... 更多作品 - ] - } -} -``` - ---- - -### 3. 查询作品详情 -``` -GET /user/plaza/works/{workNo} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "workNo": "WORK-20251026185630123-4567", - "taskType": "text_to_image", - "modelName": "sc_soraimg_text_1x1", - "prompt": "一只可爱的橘猫在窗台晒太阳,温馨的室内场景,柔和的光线", - "resultUrl": "https://oss-.../cat.png", - "imageUrl": null, - "aspectRatio": "1:1", - "title": "窗台上的橘猫", - "description": "这是一个温馨治愈的作品,展现了橘猫慵懒晒太阳的画面。", - "tags": ["猫咪", "温馨", "治愈"], - "viewCount": 1246, - "likeCount": 89, - "shareCount": 12, - "isLiked": false, - "author": { - "userId": 17563793187762127, - "nickname": "AI创作者", - "avatarUrl": "https://oss-.../avatar.jpg" - }, - "createTime": "2025-10-26T18:56:30", - "updateTime": "2025-10-26T19:15:42" - } -} -``` - ---- - -### 4. 点赞/取消点赞 -``` -POST /user/plaza/works/{workNo}/like -DELETE /user/plaza/works/{workNo}/like -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "isLiked": true, - "likeCount": 90 - } -} -``` - ---- - -### 5. 查询我的作品 -``` -GET /user/plaza/my-works -``` - -**请求参数:** -- `page`: 页码 -- `size`: 每页数量 -- `status`: 状态筛选(可选:published/draft/hidden) - -**响应格式:** 同广场作品列表 - ---- - -### 6. 删除作品 -``` -DELETE /user/plaza/works/{workNo} -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "删除成功", - "data": null -} -``` - ---- - -### 7. 统计数据 -``` -GET /user/plaza/stats -``` - -**响应示例:** -```json -{ - "code": 200, - "message": "success", - "data": { - "totalWorks": 5678, - "totalViews": 123456, - "totalLikes": 8901, - "worksByType": { - "text_to_image": 3456, - "image_to_video": 1234, - "text_to_video": 988 - } - } -} -``` - ---- - -## 四、实现步骤 - -### 步骤1: 执行SQL脚本 -```bash -mysql -u root -p 1818ai < V10__add_plaza_feature.sql -``` - -### 步骤2: 创建实体类 -- ✅ `PlazaWork.java` - 已创建 -- ✅ `PlazaWorkLike.java` - 已创建 - -### 步骤3: 创建DTO类 -需要创建以下DTO: -- `PlazaWorkDto.java` - 包含各种请求和响应DTO - - `PublishWorkRequest` - 发布作品请求 - - `WorkQueryRequest` - 查询作品请求 - - `WorkDetailResponse` - 作品详情响应 - - `WorkListResponse` - 作品列表响应 - - `WorkAuthorDto` - 作者信息DTO - -### 步骤4: 创建Mapper接口 -- `PlazaWorkMapper.java` - 作品数据访问 -- `PlazaWorkLikeMapper.java` - 点赞数据访问 - -### 步骤5: 创建Service层 -- `PlazaService.java` - 接口 -- `PlazaServiceImpl.java` - 实现 - -### 步骤6: 创建Controller -- `PlazaController.java` - 用户端控制器 - ---- - -## 五、核心业务逻辑 - -### 1. 发布作品流程 -``` -1. 验证taskNo是否存在且属于当前用户 -2. 验证任务状态是否为completed -3. 检查该任务是否已经发布过 -4. 生成唯一的workNo -5. 从任务表复制数据到广场作品表 -6. 设置标题、描述、标签等 -7. 初始化统计数据(浏览、点赞等为0) -8. 返回作品信息 -``` - -### 2. 查询列表流程 -``` -1. 构建查询条件(任务类型、公开性、状态) -2. 根据sortBy排序(latest/hot) -3. 分页查询 -4. 关联查询用户信息(昵称、头像) -5. 判断当前用户是否点赞过(如果已登录) -6. 返回作品列表 -``` - -### 3. 点赞流程 -``` -1. 检查作品是否存在 -2. 检查是否已经点赞 -3. 插入点赞记录 -4. 更新作品点赞数(+1) -5. 返回最新点赞状态 -``` - -### 4. 浏览统计流程 -``` -1. 记录浏览日志(可选) -2. 更新作品浏览数(+1) -3. 防止频繁刷新(可加Redis缓存,同一用户1分钟内只计数一次) -``` - ---- - -## 六、前端调用示例 - -### 1. 发布作品到广场 -```javascript -// 假设用户刚完成了一个任务,想发布到广场 -async function publishToPlaza(taskNo) { - const response = await fetch('http://localhost:8081/user/plaza/works/publish', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${YOUR_TOKEN}` - }, - body: JSON.stringify({ - taskNo: taskNo, - title: '我的AI创作', - description: '这是我用AI生成的作品', - tags: ['AI艺术', '创意'], - isPublic: true - }) - }); - - const result = await response.json(); - console.log('发布成功:', result.data.workNo); -} -``` - -### 2. 浏览广场(按类型筛选) -```javascript -// 查询所有文生图作品 -async function browsePlaza() { - const response = await fetch( - 'http://localhost:8081/user/plaza/works/list?page=1&size=20&taskType=text_to_image&sortBy=hot', - { - headers: { - 'Authorization': `Bearer ${YOUR_TOKEN}` - } - } - ); - - const result = await response.json(); - console.log('广场作品:', result.data.list); - - // 渲染作品网格 - renderWorksGrid(result.data.list); -} - -function renderWorksGrid(works) { - works.forEach(work => { - console.log(` - 作品:${work.title} - 作者:${work.author.nickname} - 点赞:${work.likeCount} - 浏览:${work.viewCount} - 图片:${work.resultUrl} - `); - }); -} -``` - -### 3. 查看作品详情 -```javascript -async function viewWorkDetail(workNo) { - const response = await fetch( - `http://localhost:8081/user/plaza/works/${workNo}`, - { - headers: { - 'Authorization': `Bearer ${YOUR_TOKEN}` - } - } - ); - - const result = await response.json(); - console.log('作品详情:', result.data); - - // 显示详情页 - showDetailModal(result.data); -} -``` - -### 4. 点赞作品 -```javascript -async function likeWork(workNo) { - const response = await fetch( - `http://localhost:8081/user/plaza/works/${workNo}/like`, - { - method: 'POST', - headers: { - 'Authorization': `Bearer ${YOUR_TOKEN}` - } - } - ); - - const result = await response.json(); - console.log('点赞成功,当前点赞数:', result.data.likeCount); - - // 更新UI - updateLikeButton(workNo, result.data.isLiked, result.data.likeCount); -} - -async function unlikeWork(workNo) { - const response = await fetch( - `http://localhost:8081/user/plaza/works/${workNo}/like`, - { - method: 'DELETE', - headers: { - 'Authorization': `Bearer ${YOUR_TOKEN}` - } - } - ); - - const result = await response.json(); - console.log('取消点赞'); -} -``` - -### 5. 查看我的作品 -```javascript -async function getMyWorks() { - const response = await fetch( - 'http://localhost:8081/user/plaza/my-works?page=1&size=10', - { - headers: { - 'Authorization': `Bearer ${YOUR_TOKEN}` - } - } - ); - - const result = await response.json(); - console.log('我的作品:', result.data.list); -} -``` - ---- - -## 七、React 完整示例 - -```jsx -import React, { useState, useEffect } from 'react'; - -// 广场组件 -function PlazaPage() { - const [works, setWorks] = useState([]); - const [taskType, setTaskType] = useState(''); - const [sortBy, setSortBy] = useState('latest'); - const [page, setPage] = useState(1); - - useEffect(() => { - loadWorks(); - }, [taskType, sortBy, page]); - - async function loadWorks() { - const params = new URLSearchParams({ - page, - size: 20, - sortBy, - ...(taskType && { taskType }) - }); - - const response = await fetch( - `http://localhost:8081/user/plaza/works/list?${params}`, - { - headers: { - 'Authorization': `Bearer ${localStorage.getItem('token')}` - } - } - ); - - const result = await response.json(); - setWorks(result.data.list); - } - - async function handleLike(workNo, isLiked) { - const method = isLiked ? 'DELETE' : 'POST'; - - const response = await fetch( - `http://localhost:8081/user/plaza/works/${workNo}/like`, - { - method, - headers: { - 'Authorization': `Bearer ${localStorage.getItem('token')}` - } - } - ); - - if (response.ok) { - // 刷新列表 - loadWorks(); - } - } - - return ( -
-

AI创作广场

- - {/* 筛选器 */} -
- - - -
- - {/* 作品网格 */} -
- {works.map(work => ( -
- {work.title} -

{work.title}

-

{work.author.nickname}

-
- 👁️ {work.viewCount} - -
-
- {work.tags.map(tag => ( - {tag} - ))} -
-
- ))} -
- - {/* 分页 */} -
- - 第 {page} 页 - -
-
- ); -} - -export default PlazaPage; -``` - ---- - -## 八、后续完善功能(可选) - -### 1. 评论功能 -- 创建 `plaza_work_comment` 表 -- 支持评论和回复 -- 评论点赞 - -### 2. 标签系统 -- 创建 `plaza_tag` 标签表 -- 支持热门标签推荐 -- 按标签筛选作品 - -### 3. 用户关注 -- 创建 `user_follow` 关注关系表 -- 查看关注用户的作品 -- 关注动态推送 - -### 4. 举报系统 -- 创建 `plaza_report` 举报表 -- 用户可以举报违规作品 -- 管理员审核机制 - -### 5. 作品收藏 -- 创建 `plaza_work_collect` 收藏表 -- 用户收藏喜欢的作品 -- 查看收藏列表 - -### 6. 分享功能 -- 生成分享链接 -- 分享到社交媒体 -- 统计分享数据 - ---- - -## 九、性能优化建议 - -### 1. 缓存策略 -- Redis 缓存热门作品列表 -- 缓存用户点赞状态 -- 缓存作品统计数据 - -### 2. CDN 加速 -- 作品图片/视频通过 CDN 分发 -- 提升加载速度 - -### 3. 数据库优化 -- 对热点字段建立索引 -- 分表存储历史数据 -- 读写分离 - -### 4. 异步处理 -- 浏览统计异步入库 -- 点赞数更新异步化 -- 使用消息队列 - ---- - -## 十、安全考虑 - -1. **内容审核** - - 发布前自动审核(敏感词过滤) - - 人工审核机制 - - 违规内容下架 - -2. **防刷机制** - - 限制发布频率 - - 防止点赞刷数据 - - IP 限流 - -3. **权限控制** - - 只能删除自己的作品 - - 未登录用户只能浏览 - - 隐私作品仅自己可见 - ---- - -## 总结 - -广场功能的核心是: -1. **数据模型** - 作品表、点赞表、浏览记录表 -2. **API接口** - 发布、查询、点赞、删除等 -3. **前端展示** - 瀑布流/网格布局、筛选排序、实时统计 - -按照本方案实施,可以快速搭建一个功能完善的AI作品广场。 - -下一步我会为你生成完整的 Java 代码(Mapper、Service、Controller)。 - diff --git a/广场审核与排序优化完成总结.md b/广场审核与排序优化完成总结.md deleted file mode 100644 index 73e227b..0000000 --- a/广场审核与排序优化完成总结.md +++ /dev/null @@ -1,417 +0,0 @@ -# 广场审核与排序优化完成总结 - -## ✅ 已完成功能 - -### 一、智能排序算法优化 - -#### 1. 时间衰减热度算法(已实现) - -**核心公式**: -``` -热度分 = (10 × 点赞数 + 1 × 浏览数) / (发布小时数 + 2)^1.5 -``` - -**支持的排序方式**: -- `latest` - 最新排序(按发布时间倒序) -- `hot` - 热门排序(时间衰减热度算法) -- `quality` - 高质量排序(按点赞率) - -**实现位置**: -- `PlazaWorkMapper.java` - findPublicWorksList() 方法 - -**SQL实现**: -```sql -SELECT pw.*, u.nickname, u.avatar_url, - CASE - WHEN sortBy = 'hot' THEN - (10 * pw.like_count + 1 * pw.view_count) / - POW(TIMESTAMPDIFF(HOUR, pw.create_time, NOW()) + 2, 1.5) - WHEN sortBy = 'quality' THEN - CASE WHEN pw.view_count > 0 THEN (pw.like_count * 100.0 / pw.view_count) ELSE 0 END - ELSE - UNIX_TIMESTAMP(pw.create_time) - END as score -FROM plaza_work pw -LEFT JOIN user u ON pw.user_id = u.id -WHERE pw.status = 'published' AND pw.audit_status = 'approved' -ORDER BY score DESC -``` - -**优势**: -- ✅ 新作品有机会获得曝光(时间加权) -- ✅ 优质内容能长期保持高位(点赞加权) -- ✅ 避免老作品独霸榜单 -- ✅ 符合用户"看新鲜热辣内容"的心理 - ---- - -### 二、完整审核系统 - -#### 1. 基础审核功能(6个API) - -| 接口 | 方法 | 路径 | 功能 | -|------|------|------|------| -| 查询待审核列表 | GET | `/admin/plaza/audit/pending` | 分页查询待审核作品 | -| 查询待审核详情 | GET | `/admin/plaza/audit/pending/{workNo}` | 查看单个作品详情 | -| 审核作品 | POST | `/admin/plaza/audit/audit` | 通过或拒绝作品 | -| 批量审核 | POST | `/admin/plaza/audit/batch-audit` | 批量处理多个作品 | -| 审核统计 | GET | `/admin/plaza/audit/stats` | 获取审核数据统计 | -| 审核历史 | GET | `/admin/plaza/audit/history` | 查询历史记录 | - -#### 2. 增强审核功能(4个新API) - -| 接口 | 方法 | 路径 | 功能 | -|------|------|------|------| -| **撤销审核** | POST | `/admin/plaza/audit/revoke` | 将已审核作品重新设为待审核 | -| **快捷审核** | POST | `/admin/plaza/audit/quick-approve` | 一键通过最早的N个待审核作品 | -| **详细审核信息** | GET | `/admin/plaza/audit/detail/{workNo}` | 含历史记录、作者统计的完整信息 | -| **审核员统计** | GET | `/admin/plaza/audit/admin-stats` | 统计审核员工作量和效率 | - ---- - -### 三、审核流程设计 - -``` -用户发布作品 - ↓ -设置 audit_status = 'pending' - ↓ -管理员查看待审核列表 - ↓ -审核决策 - ├─ 通过 → audit_status = 'approved' → 在广场显示 - ├─ 拒绝 → audit_status = 'rejected' → 不显示,记录原因 - └─ 撤销 → audit_status = 'pending' → 重新审核 -``` - -**审核日志记录**: -- 每次审核操作都会记录到 `plaza_work_audit_log` 表 -- 包含:审核人、审核时间、审核结果、审核备注 -- 支持查询完整的审核历史轨迹 - ---- - -### 四、数据库变更 - -#### 1. plaza_work 表新增字段 - -| 字段 | 类型 | 默认值 | 说明 | -|------|------|--------|------| -| `audit_status` | VARCHAR(20) | `pending` | 审核状态 | -| `audit_admin_id` | BIGINT | NULL | 审核管理员ID | -| `audit_time` | DATETIME | NULL | 审核时间 | -| `audit_remark` | TEXT | NULL | 审核备注 | - -#### 2. plaza_work_audit_log 表(新建) - -审核记录表,记录所有审核操作历史: -```sql -CREATE TABLE plaza_work_audit_log ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - work_no VARCHAR(64) NOT NULL, - work_id BIGINT NOT NULL, - audit_status VARCHAR(20) NOT NULL, - audit_admin_id BIGINT NOT NULL, - audit_admin_name VARCHAR(100), - audit_remark TEXT, - audit_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - INDEX idx_work_no (work_no), - INDEX idx_admin_id (audit_admin_id) -); -``` - ---- - -### 五、核心业务逻辑 - -#### 1. 发布作品逻辑 -```java -// PlazaServiceImpl.publishWork() -work.setStatus("published"); -work.setAuditStatus("pending"); // 默认待审核 -plazaWorkMapper.insert(work); -``` - -#### 2. 查询广场作品逻辑 -```sql --- 只显示审核通过的作品 -WHERE pw.status = 'published' - AND pw.audit_status = 'approved' -- 关键过滤 - AND pw.is_public = 1 - AND pw.is_deleted = 0 -``` - -#### 3. 审核作品逻辑 -```java -// AdminPlazaAuditServiceImpl.auditWork() -1. 更新作品审核状态 -2. 记录审核管理员信息 -3. 保存审核时间和备注 -4. 插入审核日志到 audit_log 表 -``` - -#### 4. 撤销审核逻辑(新增) -```java -// AdminPlazaAuditServiceImpl.revokeAudit() -1. 检查作品是否已审核 -2. 重置 audit_status = 'pending' -3. 清空 audit_admin_id 和 audit_time -4. 记录撤销原因和操作人 -5. 插入 'revoked' 类型的审核日志 -``` - -#### 5. 快捷审核逻辑(新增) -```java -// AdminPlazaAuditServiceImpl.quickApprove() -1. 查询最早的N个待审核作品 -2. 批量更新为 approved 状态 -3. 为每个作品记录审核日志 -4. 返回成功数量 -``` - ---- - -### 六、新增统计功能 - -#### 1. 审核基础统计 -```java -{ - "pendingCount": 50, // 待审核数量 - "todayApprovedCount": 120, // 今日通过数 - "todayRejectedCount": 8, // 今日拒绝数 - "totalAuditedCount": 5000 // 累计审核数 -} -``` - -#### 2. 审核员工作量统计(新增) -```java -{ - "adminId": 1, - "adminName": "管理员张三", - "totalAudited": 500, // 总审核数 - "approvedCount": 450, // 通过数 - "rejectedCount": 50, // 拒绝数 - "approvalRate": 90.0, // 通过率 90% - "avgAuditTimeMinutes": 15.5, // 平均审核时长(分钟) - "busiestDate": "2025-10-28", // 最忙碌日期 - "busiestDateCount": 120 // 最忙日审核数 -} -``` - -#### 3. 作者统计(新增) -```java -{ - "authorApprovalRate": 85.5, // 作者历史通过率 - "authorTotalWorks": 20 // 作者累计作品数 -} -``` - ---- - -### 七、API调用示例 - -#### 1. 快捷审核(批量通过前10个) -```bash -curl -X POST "http://localhost:8081/admin/plaza/audit/quick-approve?count=10" \ - -H "Authorization: Bearer ADMIN_TOKEN" -``` - -#### 2. 撤销审核 -```bash -curl -X POST "http://localhost:8081/admin/plaza/audit/revoke" \ - -H "Authorization: Bearer ADMIN_TOKEN" \ - -d "workNo=WORK-xxx&reason=误操作,需要重新审核" -``` - -#### 3. 查询作品详细审核信息 -```bash -curl "http://localhost:8081/admin/plaza/audit/detail/WORK-xxx" \ - -H "Authorization: Bearer ADMIN_TOKEN" -``` - -**响应示例**: -```json -{ - "code": 200, - "data": { - "workInfo": { - "workNo": "WORK-xxx", - "title": "美丽的风景", - "author": { - "userId": 123, - "username": "user123" - } - }, - "auditStatus": "approved", - "auditTime": "2025-10-28T10:30:00", - "auditAdminName": "管理员张三", - "auditHistory": [ - { - "auditStatus": "approved", - "auditTime": "2025-10-28T10:30:00", - "auditAdminName": "管理员张三", - "auditRemark": "内容优质" - } - ], - "authorApprovalRate": 85.5, - "authorTotalWorks": 20 - } -} -``` - -#### 4. 查询审核员工作量 -```bash -curl "http://localhost:8081/admin/plaza/audit/admin-stats?startTime=2025-10-01&endTime=2025-10-31" \ - -H "Authorization: Bearer ADMIN_TOKEN" -``` - -#### 5. 使用不同排序查询广场 -```bash -# 最新排序 -GET /user/plaza/works?sortBy=latest - -# 热门排序(时间衰减算法) -GET /user/plaza/works?sortBy=hot - -# 高质量排序(按点赞率) -GET /user/plaza/works?sortBy=quality -``` - ---- - -### 八、技术实现亮点 - -#### 1. 时间衰减算法 -- 使用 `POW()` 函数实现指数衰减 -- 平衡新鲜度和质量的权重 -- 避免"马太效应" - -#### 2. 审核日志追溯 -- 完整记录所有审核操作 -- 支持审核撤销和重审 -- 便于问题排查和数据分析 - -#### 3. 管理员效率统计 -- 自动计算平均审核时长 -- 识别最忙碌的审核时间 -- 便于管理员绩效考核 - -#### 4. 作者信用评分 -- 统计作者历史通过率 -- 辅助审核决策(高信用作者可快审) -- 为未来信用体系打基础 - ---- - -### 九、文件清单 - -#### 数据库脚本 -- ✅ `V11__add_plaza_audit_feature.sql` - 审核功能数据库变更 - -#### 实体类 -- ✅ `PlazaWork.java` - 新增审核字段 -- ✅ `PlazaWorkAuditLog.java` - 审核记录实体 - -#### DTO -- ✅ `AdminPlazaAuditDto.java` - 新增2个DTO: - - `WorkAuditDetailResponse` - 详细审核信息 - - `AdminWorkloadStatsResponse` - 审核员统计 - -#### Mapper -- ✅ `PlazaWorkMapper.java` - 优化排序算法,新增作者统计 -- ✅ `PlazaWorkAuditLogMapper.java` - 新增统计查询方法 - -#### Service -- ✅ `AdminPlazaAuditService.java` - 新增4个方法 -- ✅ `AdminPlazaAuditServiceImpl.java` - 实现新增方法 - -#### Controller -- ✅ `AdminPlazaAuditController.java` - 新增4个API端点 - -#### Util -- ✅ `SecurityUtil.java` - 新增 `getUsername()` 方法 - -#### 文档 -- ✅ `广场作品排序推荐算法说明.md` - 排序算法详解 -- ✅ `广场审核功能说明.md` - 审核功能完整说明 - ---- - -### 十、部署检查清单 - -#### 1. 数据库更新 -```bash -# 执行审核功能SQL脚本 -mysql -u root -p 1818ai < src/main/resources/db/migration/V11__add_plaza_audit_feature.sql -``` - -#### 2. 验证字段 -```sql --- 检查 plaza_work 表 -DESC plaza_work; -- 应包含 audit_status, audit_admin_id, audit_time, audit_remark - --- 检查 plaza_work_audit_log 表 -DESC plaza_work_audit_log; -- 应存在此表 -``` - -#### 3. 测试API -- ✅ 发布作品后,默认为 pending 状态 -- ✅ 广场列表只显示 approved 的作品 -- ✅ 管理员可以查看待审核列表 -- ✅ 审核操作记录到日志表 -- ✅ 排序算法正确计算热度分 - ---- - -### 十一、性能优化建议 - -#### 1. 索引优化 -```sql --- 审核状态索引(已在脚本中) -CREATE INDEX idx_audit_status ON plaza_work(audit_status); - --- 复合索引优化查询 -CREATE INDEX idx_status_audit ON plaza_work(status, audit_status, is_public); -``` - -#### 2. 缓存策略 -- 广场作品列表可以缓存10分钟 -- 热度分计算可以异步更新 -- 审核统计数据可以缓存5分钟 - -#### 3. 分页优化 -- 使用游标分页代替offset(大数据量时) -- 限制最大页数,避免深分页 - ---- - -### 十二、后续优化方向 - -#### 短期(1-2周) -- 🔄 AI辅助审核(敏感词检测) -- 🔄 审核规则配置化 -- 🔄 审核任务分配系统 - -#### 中期(1个月) -- ⏳ 个性化推荐算法 -- ⏳ 用户举报功能 -- ⏳ 审核优先级队列 - -#### 长期(2-3个月) -- ⏳ 机器学习推荐模型 -- ⏳ 内容质量评分体系 -- ⏳ A/B测试不同排序算法 - ---- - -## 🎉 总结 - -✅ **排序优化**:实现时间衰减热度算法 + 质量排序 -✅ **审核系统**:10个完整的审核API(基础6个 + 增强4个) -✅ **统计分析**:审核员工作量统计 + 作者信用评分 -✅ **日志追溯**:完整的审核历史记录 -✅ **代码质量**:清晰的注释 + 完善的异常处理 - -**所有功能已100%实现,可立即上线使用!** 🚀 - - diff --git a/广场审核功能说明.md b/广场审核功能说明.md deleted file mode 100644 index 071b840..0000000 --- a/广场审核功能说明.md +++ /dev/null @@ -1,389 +0,0 @@ -# 广场作品审核功能说明 - -## 📋 功能概述 - -为广场功能添加了完整的审核流程,所有用户发布的作品都需要经过管理员审核通过后才能在广场展示。 - ---- - -## 🔄 审核流程 - -``` -用户发布作品 - ↓ -作品状态: pending (待审核) - ↓ -管理员审核 - ├─ 通过 → audit_status: approved → 广场展示 - └─ 拒绝 → audit_status: rejected → 不展示,记录拒绝原因 -``` - ---- - -## 📊 数据库变更 - -### 1. 新增字段 (plaza_work表) - -| 字段名 | 类型 | 默认值 | 说明 | -|-------|------|--------|------| -| `audit_status` | VARCHAR(20) | `pending` | 审核状态:pending-待审核, approved-已通过, rejected-已拒绝 | -| `audit_admin_id` | BIGINT | NULL | 审核管理员ID | -| `audit_time` | DATETIME | NULL | 审核时间 | -| `audit_remark` | TEXT | NULL | 审核备注(拒绝原因等) | - -### 2. 新增表 (plaza_work_audit_log) - -审核记录表,记录所有审核操作的历史: - -```sql -CREATE TABLE `plaza_work_audit_log` ( - `id` BIGINT AUTO_INCREMENT PRIMARY KEY, - `work_no` VARCHAR(64) NOT NULL COMMENT '作品编号', - `work_id` BIGINT NOT NULL COMMENT '作品ID', - `audit_status` VARCHAR(20) NOT NULL COMMENT '审核结果', - `audit_admin_id` BIGINT NOT NULL COMMENT '审核管理员ID', - `audit_admin_name` VARCHAR(100) NULL COMMENT '审核管理员名称', - `audit_remark` TEXT NULL COMMENT '审核备注', - `audit_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP -); -``` - -### 3. 更新视图 - -- `v_plaza_hot_works` - 只显示审核通过的热门作品 -- `v_plaza_latest_works` - 只显示审核通过的最新作品 -- `v_plaza_pending_works` (新增) - 待审核作品列表(管理端使用) - ---- - -## 🎯 核心功能 - -### 用户端 - -#### 1. 发布作品 -- **状态**: 发布后自动设置为 `audit_status = 'pending'` -- **可见性**: 不在广场展示,用户可在"我的作品"中看到 -- **提示**: 建议前端显示"作品审核中"状态 - -#### 2. 查询作品列表 -- **规则**: 只返回 `audit_status = 'approved'` 的作品 -- **影响**: 所有广场列表查询、统计都只包含已审核通过的作品 - -### 管理端 - -#### 1. 查询待审核作品 -```http -GET /admin/plaza/audit/pending?page=1&size=20&taskType=text_to_image -``` - -**响应**: -```json -{ - "code": 200, - "data": { - "works": [{ - "workNo": "WORK-xxx", - "title": "作品标题", - "description": "作品描述", - "coverUrl": "https://...", - "taskType": "text_to_image", - "createTime": "2025-10-28T10:00:00", - "author": { - "userId": 123, - "username": "用户123", - "phone": "138****1234" - } - }], - "total": 100, - "page": 1, - "size": 20, - "totalPages": 5 - } -} -``` - -#### 2. 审核作品(单个) -```http -POST /admin/plaza/audit/audit -Authorization: Bearer ADMIN_TOKEN - -{ - "workNo": "WORK-xxx", - "auditStatus": "approved", // 或 "rejected" - "auditRemark": "拒绝原因(拒绝时必填)" -} -``` - -**响应**: -```json -{ - "code": 200, - "data": { - "workNo": "WORK-xxx", - "auditStatus": "approved", - "auditTime": "2025-10-28T10:30:00", - "auditAdminId": 1, - "auditRemark": null - } -} -``` - -#### 3. 批量审核 -```http -POST /admin/plaza/audit/batch-audit?auditStatus=approved&auditRemark=批准 -Authorization: Bearer ADMIN_TOKEN - -workNos: ["WORK-xxx1", "WORK-xxx2", "WORK-xxx3"] -``` - -#### 4. 审核统计 -```http -GET /admin/plaza/audit/stats -``` - -**响应**: -```json -{ - "code": 200, - "data": { - "pendingCount": 50, - "todayApprovedCount": 120, - "todayRejectedCount": 8, - "totalAuditedCount": 5000 - } -} -``` - -#### 5. 审核历史 -```http -GET /admin/plaza/audit/history?page=1&size=20&auditStatus=approved&startTime=2025-10-01&endTime=2025-10-31 -``` - ---- - -## 🔒 权限控制 - -### 管理端接口 -- **要求**: `@PreAuthorize("hasRole('ADMIN')")` -- **认证**: 需要管理员JWT Token -- **记录**: 所有审核操作都记录管理员ID和名称 - -### 用户端接口 -- **发布作品**: 需要登录 -- **查看广场**: 无需登录(只能看到审核通过的) -- **查看自己作品**: 需要登录(可看到pending状态) - ---- - -## 📝 文件清单 - -### 数据库脚本 -- ✅ `V11__add_plaza_audit_feature.sql` - 添加审核相关字段和表 - -### 实体类 -- ✅ `PlazaWork.java` - 添加审核相关字段 -- ✅ `PlazaWorkAuditLog.java` (新增) - 审核记录实体 - -### DTO -- ✅ `AdminPlazaAuditDto.java` (新增) - 审核相关请求和响应DTO - - AuditWorkRequest - 审核请求 - - PendingWorksQueryRequest - 待审核列表查询 - - PendingWorkDetailResponse - 待审核作品详情 - - PendingWorksListResponse - 待审核列表响应 - - AuditResultResponse - 审核结果 - - AuditStatsResponse - 审核统计 - - AuditHistoryQueryRequest - 审核历史查询 - - AuditHistoryRecord - 审核历史记录 - -### Mapper -- ✅ `PlazaWorkMapper.java` - 添加待审核作品查询方法,更新所有查询添加audit_status判断 -- ✅ `PlazaWorkAuditLogMapper.java` (新增) - 审核记录数据访问层 - -### Service -- ✅ `AdminPlazaAuditService.java` (新增) - 审核服务接口 -- ✅ `AdminPlazaAuditServiceImpl.java` (新增) - 审核服务实现 -- ✅ `PlazaServiceImpl.java` - 修改发布逻辑,设置audit_status为pending - -### Controller -- ✅ `AdminPlazaAuditController.java` (新增) - 管理端审核控制器 - ---- - -## 🚀 部署步骤 - -### 1. 执行数据库脚本 -```bash -mysql -u root -p 1818ai < src/main/resources/db/migration/V11__add_plaza_audit_feature.sql -``` - -### 2. 重启服务 -```bash -./mvnw spring-boot:run -``` - -### 3. 测试审核功能 - -#### 用户发布作品 -```bash -curl -X POST "http://localhost:8081/user/plaza/works/publish" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer USER_TOKEN" \ - -d '{ - "taskNo": "TASK-xxx", - "title": "测试作品", - "description": "测试描述", - "isPublic": true - }' -``` - -#### 管理员查看待审核 -```bash -curl "http://localhost:8081/admin/plaza/audit/pending?page=1&size=20" \ - -H "Authorization: Bearer ADMIN_TOKEN" -``` - -#### 管理员审核通过 -```bash -curl -X POST "http://localhost:8081/admin/plaza/audit/audit" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer ADMIN_TOKEN" \ - -d '{ - "workNo": "WORK-xxx", - "auditStatus": "approved" - }' -``` - ---- - -## 📊 API 端点汇总 - -### 管理端审核接口 - -| 方法 | 路径 | 功能 | 权限 | -|------|------|------|------| -| GET | /admin/plaza/audit/pending | 查询待审核作品列表 | ADMIN | -| GET | /admin/plaza/audit/pending/{workNo} | 查询待审核作品详情 | ADMIN | -| POST | /admin/plaza/audit/audit | 审核作品 | ADMIN | -| POST | /admin/plaza/audit/batch-audit | 批量审核作品 | ADMIN | -| GET | /admin/plaza/audit/stats | 审核统计数据 | ADMIN | -| GET | /admin/plaza/audit/history | 审核历史记录 | ADMIN | - ---- - -## ⚠️ 重要提示 - -### 1. 已有数据处理 -- 脚本会自动将现有的已发布作品标记为 `approved` -- 确保执行脚本前备份数据库 - -### 2. 前端调整建议 - -#### 用户端 -- 发布成功后提示:"作品已提交,正在审核中" -- "我的作品"中显示审核状态标签 -- 待审核作品显示"审核中"标签 -- 拒绝作品显示拒绝原因 - -#### 管理端 -- 添加审核管理页面 -- 显示待审核数量提醒 -- 支持筛选、搜索待审核作品 -- 支持批量操作 -- 显示审核历史和统计 - -### 3. 审核规则建议 -- 内容违规:色情、暴力、政治敏感等 -- 质量不达标:模糊、失败、无意义内容 -- 版权问题:侵权内容 -- 其他:广告、垃圾信息等 - ---- - -## 🎨 前端集成示例 - -### React 示例 - 显示审核状态 - -```jsx -const AuditStatusBadge = ({ status, remark }) => { - const statusConfig = { - pending: { text: '审核中', color: 'orange' }, - approved: { text: '已通过', color: 'green' }, - rejected: { text: '已拒绝', color: 'red' } - }; - - const config = statusConfig[status] || statusConfig.pending; - - return ( -
- - {config.text} - - {status === 'rejected' && remark && ( -
- 拒绝原因:{remark} -
- )} -
- ); -}; -``` - -### 管理端审核组件 - -```jsx -const WorkAuditPanel = ({ work, onAudit }) => { - const [remark, setRemark] = useState(''); - - const handleAudit = async (status) => { - try { - await axios.post('/admin/plaza/audit/audit', { - workNo: work.workNo, - auditStatus: status, - auditRemark: status === 'rejected' ? remark : null - }); - onAudit(); - message.success(`审核${status === 'approved' ? '通过' : '拒绝'}成功`); - } catch (error) { - message.error('审核失败'); - } - }; - - return ( -
-

{work.title}

- {work.title} -

{work.description}

- -