Commit Graph

40 Commits

Author SHA1 Message Date
zyh
e7d36d5723 fix: 修复LinkTaskMapper中target_score列不存在的SQL错误
- 移除LinkTaskMapper.xml中所有对不存在的target_score列的引用
- 修复因SQL查询不存在列导致的BadSqlGrammarException
- 添加TargetScoreResponse DTO用于目标点数响应
- 更新LinkController添加获取目标点数接口
- 优化UserLinkStatusResponse添加machineId字段
- 更新数据库schema文档

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-29 19:26:11 +08:00
zyh
058970b95c feat: 优化选区逻辑和日志输出
主要修改:
1. 在LinkController中更新选区请求的日志信息,增强可读性。
2. 在LinkStatusService中重构选区操作的日志记录,增加步骤标识和详细信息,提升调试能力。
3. 移除performAutoRefresh方法,简化链接状态处理逻辑。
4. 在GameInterfaceResponse中新增操作成功字段,提供更清晰的响应数据。

技术细节:
- 通过优化日志输出和选区逻辑,提升了代码的可维护性和用户体验,同时确保了操作的透明性和准确性。
2025-08-29 15:57:30 +08:00
zyh
7499bce07b feat: 优化二维码和图片代理逻辑
主要修改:
1. 在QrProxyController中引入图片保存路径配置,确保图片保存目录存在。
2. 更新图片获取逻辑,支持从本地读取和异步保存图片,提升了系统的灵活性和性能。
3. 增加了处理404和500错误的逻辑,增强了接口的健壮性。

技术细节:
- 通过优化图片处理流程,提升了用户体验,同时确保了图片的有效管理和存储。
2025-08-29 00:04:08 +08:00
zyh
de4700abe6 feat: 更新二维码和图片访问接口逻辑
主要修改:
1. 在QrProxyController中引入LinkStatusService,通过codeNo查询对应的machineId,优化二维码和图片的获取逻辑。
2. 更新所有相关的图片访问路径,确保使用新的/image/{codeNo}格式。
3. 在GameInterfaceResponse中新增machineId和completedPoints字段,提供更详细的游戏界面数据。
4. 更新SecurityConfig,允许/image/**路径的公开访问。

技术细节:
- 通过优化接口逻辑和数据结构,提升了系统的灵活性和用户体验,同时确保了安全性和可维护性。
2025-08-28 23:30:58 +08:00
zyh
1d72bc4c5a feat: 添加AOP支持和更新链接控制器逻辑
主要修改:
1. 在pom.xml中新增spring-boot-starter-aop依赖,支持面向切面编程。
2. 在LinkController中移除DeviceCodeMappingService的依赖,更新二维码获取逻辑,使用linkStatusService获取设备ID。
3. 在SelectRegionResponse中新增mecmachineId字段,便于调试和维护。
4. 在SecurityConfig中允许二维码HEAD请求公开访问。

技术细节:
- 通过引入AOP支持,提升了代码的可维护性和扩展性,同时优化了链接控制器的逻辑,确保设备ID的获取更加灵活。
2025-08-28 22:19:06 +08:00
zyh
a56eebc30b fix: 移除设备状态日志警告信息
主要修改:
1. 在DeviceStatusService中移除设备编号格式不匹配的警告日志输出。

技术细节:
- 通过移除不必要的日志警告,简化了日志信息,提升了代码的整洁性。
2025-08-28 12:46:07 +08:00
zyh
0801394999 feat: 新增按状态批量删除链接功能
主要修改:
1. 在LinkController中新增按状态批量删除链接的接口,允许用户根据指定状态批量删除自己创建的链接。
2. 在LinkStatusService中实现批量删除逻辑,确保用户只能删除自己的链接,并进行状态验证。
3. 更新LinkTaskMapper和对应的XML文件,增加查询和删除链接任务的相关方法。

技术细节:
- 通过新增的批量删除功能,提升了用户对链接的管理能力,确保操作的安全性和有效性,同时优化了数据库操作的灵活性。
2025-08-28 12:41:44 +08:00
zyh
080c55059a feat: 更新链接状态检查逻辑
主要修改:
1. 在LinkStatusService中,更新链接状态检查逻辑,允许"NEW"和"USING"状态的链接进行选区。
2. 更新异常信息,确保用户理解可选的链接状态。

技术细节:
- 通过扩展链接状态的检查条件,提升了链接管理的灵活性,确保用户在更多状态下能够进行操作。
2025-08-28 09:48:37 +08:00
zyh
c42e7445f8 feat: 更新设备空闲状态获取逻辑
主要修改:
1. 在DeviceStatusService中,使用从SystemConfigService获取的设备空闲状态字符串替代硬编码的默认值。

技术细节:
- 通过动态获取设备空闲状态,提升了系统的灵活性和可维护性,支持多语言环境下的状态标识。
2025-08-27 22:21:53 +08:00
zyh
6bca300ff9 feat: 移除链接配置中的最大次数和数量限制
主要修改:
1. 从文档和相关服务中移除`link.max_times_per_batch`、`link.min_quantity`和`link.max_quantity`配置项,简化奖励点数的管理。
2. 更新相关文档,确保与代码一致性。

技术细节:
- 通过移除这些限制,提升了系统的灵活性,允许更自由的奖励点数配置。
2025-08-27 22:16:19 +08:00
zyh
87741fd8c2 feat: 增加设备空闲状态检测配置
主要修改:
1. 在SystemConfigService中新增获取设备空闲状态的方法。
2. 更新DeviceStatusService和DeviceStatusCheckService,使用可配置的空闲状态字符串替代硬编码。
3. 在文档中添加设备检测相关配置的说明,提升系统灵活性和可维护性。

技术细节:
- 通过引入设备空闲状态的配置,支持多语言环境下的设备状态标识,便于系统维护和扩展。
2025-08-27 21:39:07 +08:00
zyh
9277f0dcb9 fix: 修复设备选择逻辑,恢复选择第一个空闲设备的功能
主要修改:
1. 在LinkStatusService中恢复选择第一个空闲设备的逻辑,替换之前的硬编码设备选择。
2. 更新日志输出,确保设备选择过程的透明性。

技术细节:
- 通过修复设备选择逻辑,提升了设备管理的灵活性和准确性。
2025-08-27 20:53:08 +08:00
zyh
02c64b3a38 feat: 新增退单操作接口及相关逻辑
主要修改:
1. 在LinkController中新增退单操作接口,支持用户对指定链接进行退单。
2. 在LinkStatusService中实现退单逻辑,确保用户只能退单自己的链接,并更新链接状态。
3. 在ScriptClient中新增调用退单接口的方法,处理与外部系统的交互。

技术细节:
- 通过新增的退单功能,提升了用户对链接的管理能力,确保操作的安全性和有效性。
2025-08-27 19:07:37 +08:00
zyh
1377c25847 feat: 更新安全配置和日志输出
主要修改:
1. 在SecurityConfig中允许所有CORS预检请求(OPTIONS)公开访问。
2. 更新日志输出,增加对OPTIONS请求的权限配置说明。

技术细节:
- 通过允许OPTIONS请求,增强了跨域资源共享(CORS)的支持,提升了前端与后端的交互能力。
2025-08-27 18:52:00 +08:00
zyh
4daf71f62b feat: 更新数据库连接配置
主要修改:
1. 修改application.yml文件中的数据库连接信息,更新用户名和密码以匹配新的数据库配置。

技术细节:
- 通过更新数据库连接配置,确保应用能够正确连接到新的数据库实例,提升系统的安全性和稳定性。
2025-08-27 17:57:21 +08:00
zyh
1d43b91b9f feat: 保留系统配置的isSystem值
主要修改:
1. 在SystemConfigService中更新配置时,保留原有的isSystem值,以确保配置的一致性和完整性。

技术细节:
- 通过保留isSystem值,增强了系统配置的管理能力,避免了不必要的数据丢失。
2025-08-27 17:39:16 +08:00
zyh
b03c58ae1b feat: 增强用户端配置管理功能
主要修改:
1. 在SystemConfigController中完善用户端配置获取和批量更新接口的实现。
2. 优化SystemConfigService,增强配置值验证逻辑,确保配置的准确性和有效性。

技术细节:
- 新增的功能提升了用户端配置的管理灵活性,支持更高效的批量操作。
2025-08-27 17:25:19 +08:00
zyh
429e12cf50 feat: 新增用户端配置获取和批量更新接口
主要修改:
1. 在SystemConfigController中新增获取用户端配置的接口。
2. 实现批量更新系统配置的接口,支持根据配置键进行更新。
3. 增强SystemConfigService,添加用户端相关配置的获取方法及配置值验证逻辑。

技术细节:
- 新增的接口提升了系统配置管理的灵活性,支持批量操作和用户端配置的动态获取。
2025-08-27 17:20:35 +08:00
zyh
01bc703ea2 feat: 增强设备任务更新逻辑,支持异步图片下载和保存
主要修改:
1. 引入ImageSaveService,处理任务完成时的图片下载和保存逻辑。
2. 更新任务状态时,异步保存完成图片,确保任务状态更新与图片保存的解耦。
3. 新增saveProgressImagesForTask方法,定期保存进行中任务的图片快照。
4. 更新任务状态处理逻辑,确保即使图片保存失败,任务仍然被标记为完成。

技术细节:
- 通过异步处理,提升了任务更新的效率和用户体验。
- 新增的图片保存配置支持更灵活的图片管理和存储策略。
2025-08-27 17:01:05 +08:00
zyh
90c47df7a3 feat: 增加LinkTask实体的completionImages字段及相关数据库查询支持
主要修改:
1. 在LinkTask实体中新增completionImages字段,用于存储完成任务的图片URL。
2. 更新LinkTaskMapper以支持completionImages字段的查询和更新。
3. 在LinkStatusService中调整返回的资源信息,使用ScriptClient统一管理资源链接。

技术细节:
- 通过新增completionImages字段,增强了任务完成状态的可视化和管理能力。
- 更新的数据库查询支持更灵活的任务信息获取。
2025-08-27 16:54:57 +08:00
zyh
53d6de47dc refactor: 优化设备状态检查服务和定时任务日志输出
主要修改:
1. 将设备状态检查服务中的INFO级别日志调整为DEBUG级别,以减少日志冗余。
2. 更新定时检查空闲设备的日志输出,简化信息并保持DEBUG级别。
3. 仅在发现需要更新的任务时输出INFO级别日志,提升日志的可读性和有效性。

技术细节:
- 通过调整日志级别,增强了系统的调试能力,同时保持了必要的信息输出。
2025-08-27 16:04:57 +08:00
zyh
c6e8953960 feat: 更新数据库结构和链接任务逻辑
主要修改:
1. 更新`game.sql`文件,添加`system_config`表并调整多个表的`ENGINE`和`AUTO_INCREMENT`设置。
2. 在`LinkTask`实体中新增`completedPoints`字段,更新状态字段以包含`COMPLETED`状态。
3. 在`LinkTaskMapper`中新增根据设备ID和状态查询链接任务的方法。
4. 在`LinkStatusService`中更新状态描述映射,增加对`COMPLETED`状态的处理。
5. 在`DeviceStatusService`和`ScriptClient`中新增解析设备状态的方法,支持检查设备是否完成游戏。

技术细节:
- 通过数据库结构的更新,增强了系统的配置管理和链接任务的状态处理能力。
- 新增的功能支持更灵活的设备状态监控和任务管理。
2025-08-27 16:00:43 +08:00
zyh
bb4136b4ab feat: 增强二维码和图片代理功能
主要修改:
1. 在QrProxyController中新增多个图片代理接口,包括首页、首次赏金、中途赏金和结束赏金图片的获取。
2. 更新LinkController中的链接状态查询逻辑,简化日志输出。
3. 在LinkStatusService中优化链接状态处理逻辑,增加对USING状态的过期检查。
4. 在ScriptClient中新增通用图片获取方法,支持从脚本端获取图片数据。
5. 更新SecurityConfig,允许公开访问二维码和游戏界面数据接口。

技术细节:
- 新增GameInterfaceResponse DTO以支持游戏界面数据的返回格式。
- 通过脚本端接口实现图片的动态获取和链接状态的自动刷新。
2025-08-26 23:11:01 +08:00
zyh
400d6757c8 feat: 增加选区和轮询上号功能
主要修改:
1. 在LinkController中新增选区和轮询上号接口,支持用户选择游戏区域和检查上号状态。
2. 在LinkStatusService中实现选区操作逻辑,包含空闲设备检查和状态更新。
3. 更新ScriptClient,增加获取设备二维码和检查设备状态的功能。
4. 修改SecurityConfig,允许选区和轮询上号接口公开访问。
5. 更新application.yml,添加应用基础URL配置。

技术细节:
- 新增SelectRegionResponse和PollLoginResponse DTO以支持新功能的返回格式。
- 通过脚本端接口实现选区和上号状态的检查与更新。
2025-08-26 20:29:27 +08:00
zyh
3847250c2b feat: 添加用户端链接状态查询接口及自动刷新逻辑
主要修改:
1. 在LinkController中新增获取用户链接状态的接口,支持通过linkId或codeNo查询。
2. 在LinkStatusService中实现用户链接状态查询逻辑,包含自动刷新和二维码更新功能。
3. 更新LinkTask实体,添加needRefresh、refreshTime、qrCreatedAt和qrExpireAt字段以支持新功能。
4. 在ScriptClient中新增检查空闲设备、选区、刷新、检查上号状态等操作的实现。
5. 更新SecurityConfig,允许用户端获取链接状态接口公开访问。

技术细节:
- 新增UserLinkStatusResponse DTO以支持用户链接状态的返回格式。
- 通过脚本端接口实现链接状态的自动刷新和二维码信息更新。
2025-08-26 18:07:44 +08:00
zyh
e9858bfec1 fix: 修复Spring Boot兼容性问题并添加链接删除功能
主要修改:
1. 降级Spring Boot版本到2.7.18以兼容MyBatis-Plus
2. 修复所有validation包导入路径 (jakarta -> javax)
3. 修复ResponseStatusException API调用
4. 降级Swagger版本以兼容Spring Boot 2.x
5. 添加单个和批量删除链接功能
6. 修复JWT认证中的Claims获取方式
7. 优化代码格式和日志输出

技术细节:
- Spring Boot: 3.3.3 -> 2.7.18
- Swagger: springdoc-openapi-starter-webflux-ui:2.3.0 -> springdoc-openapi-webflux-ui:1.7.0
- 所有javax.validation包路径修复
- 新增BatchDeleteRequest和BatchDeleteResponse DTO类
- LinkController中添加DELETE和POST批量删除接口
2025-08-26 16:43:53 +08:00
zyh
833159d1f1 Update pom.xml for MyBatis Plus integration and downgrade Spring Boot version; refactor validation imports from Jakarta to Javax; modify mappers to extend BaseMapper for CRUD operations; clean up unused MyBatis-Flex mappers; adjust application.yml for MyBatis Plus configuration. 2025-08-26 15:37:52 +08:00
zyh
d3fe8fda7d 1 2025-08-26 15:18:14 +08:00
zyh
599ec0a36b 新增系统配置表及默认配置,更新链接生成请求DTO以支持链接数量参数,重构链接生成服务逻辑,添加链接状态查询和有效性检查接口,优化日志记录。 2025-08-26 10:33:26 +08:00
zyh
7317866f98 实现JWT身份认证机制,新增JWT认证过滤器和服务,更新链接生成接口以支持JWT验证,删除旧的用户控制器,添加JWT认证文档,增强错误处理和日志记录。 2025-08-25 21:26:16 +08:00
zyh
3f01d8590a 添加Apache Commons Codec依赖以支持SHA-256和十六进制工具,并在application.yml中新增外部脚本配置及链接过期时间设置。同时,删除不再使用的类文件以清理项目结构。 2025-08-24 20:46:35 +08:00
zyh
c3762f985e 更新账户更新请求DTO,添加用户类型、用户名和积分余额字段,并在AccountService中实现相应的验证和更新逻辑,确保用户名唯一性和积分余额的正确处理。 2025-08-24 20:00:12 +08:00
zyh
4664f1c487 添加Swagger/OpenAPI依赖并更新用户账户管理相关的API文档注释,优化用户和管理员账户控制器的接口描述,移除不必要的字段和参数,调整数据库映射以简化用户账户管理逻辑。 2025-08-24 19:21:54 +08:00
zyh
1b3ce1040a Refactor account management DTOs by removing displayName and role fields from AccountCreateRequest, AccountUpdateRequest, and AccountResponse, and updating related logic in AccountService. Adjust alwaysApply setting in zh.mdc to false. 2025-08-24 18:41:57 +08:00
zyh
f37159e1fc Refactor user account management by replacing User entity with UserAccount, updating UserController and UserService for CRUD operations, and modifying MyBatis mappers accordingly. 2025-08-24 17:42:47 +08:00
zyh
4cfd19195f Add user account management methods and update user-related mappers 2025-08-24 17:06:52 +08:00
zyh
bc1f10381a Enhance authentication logging and update MyBatis configuration 2025-08-24 16:52:20 +08:00
zyh
51d6319121 Update CORS configuration in SecurityConfig to enable custom settings 2025-08-24 15:54:44 +08:00
zyh
c65c03b933 Refactor authentication logic to unify user account handling and update database schema for user accounts 2025-08-24 15:54:21 +08:00
zyh
be437a360d first commit 2025-08-24 15:33:03 +08:00