Commit Graph

1191 Commits

Author SHA1 Message Date
917668da0c refactor(puzzle): 优化拼图模板生成逻辑
- 移除 Redis 缓存检查机制
- 改用 PuzzleRepository 直接查询拼图模板数据
- 更新日志记录格式,使用 e.getMessage() 替代完整异常对象
- 调整依赖注入顺序,添加 PuzzleRepository 注入
- 简化模板列表查询逻辑,提升代码可读性
2026-01-07 17:40:58 +08:00
d3884c8aa2 refactor(facebody): 移除重复的日志记录
- 移除了重试成功时的冗余日志输出
- 保持了原有的重试逻辑和错误处理机制
- 优化了代码的可读性和日志输出的合理性
2026-01-07 17:40:58 +08:00
a652124a93 refactor(FaceMatchingOrchestrator): 重构人脸匹配拼图生成逻辑
- 移除外层异常捕获处理,将异常处理移到模板循环内部
- 将日志级别从 info 调整为 debug,减少不必要的日志输出
- 优化代码结构,移除多余的 try-catch 包装
- 保持原有的业务逻辑不变,仅调整代码组织方式
- 确保异常处理不影响主流程执行
2026-01-07 17:40:58 +08:00
54cdee333d feat(puzzle): 添加拼图素材版本缓存优化重复生成
- 新增 puzzleSourceVersionCache 缓存用于记录拼图素材版本
- 实现 isPuzzleSourceChanged 方法判断素材是否变化
- 添加 markPuzzleSourceVersion 方法标记当前素材版本
- 实现 invalidatePuzzleSourceVersion 方法清除指定人脸缓存
- 在人脸关系变更时自动清除相关拼图素材版本缓存
- 重构 AppPuzzleController 使用 PuzzleRepository 替代直接访问 Mapper
- 添加生成记录缓存机制,包括按人脸ID和记录ID的缓存
- 实现素材版本缓存命中时复用历史记录功能
- 优化重复内容检测逻辑,添加缓存标记机制
- 在各种生成流程中添加缓存清除逻辑确保数据一致性
2026-01-07 17:40:58 +08:00
286062a81a feat(app-statistics): 添加实时统计模式支持
- 在非实时模式下才写入当天统计缓存
- 实时模式由调用方自行控制写入目标日期
- 添加了实时模式查询的逻辑分支处理
2026-01-07 01:45:15 +08:00
e0856a1b9c feat(pricing): 添加场景优惠券功能
- 创建场景优惠券领取控制器,提供前端优惠券领取接口
- 创建场景优惠券配置管理控制器,提供后台管理端配置接口
- 定义场景优惠券领取和配置相关的请求响应DTO
- 创建场景优惠券配置实体和数据库表结构
- 实现场景优惠券配置的数据访问和业务逻辑处理
- 实现场景优惠券领取功能,支持景区隔离和默认配置回退
- 添加优惠券领取状态检查和用户限制验证逻辑
- 实现分页查询和配置管理功能
2026-01-06 18:30:23 +08:00
123a081eab refactor(notifications): 重构通知系统使用统一的微信订阅通知触发服务
- 移除 UserNotificationAuthController 中的 getScenicTemplatesWithAuth 方法
- 从 ScenicRepository 中删除微信模板ID相关方法和配置
- 重命名 WechatSubscribeNotifyTriggerService 为 notifyTriggerService
- 更新 TaskTaskServiceImpl 中的视频生成通知逻辑
- 重构 DownloadNotificationTasker 中的通知发送方式
- 统一使用 WechatSubscribeNotifyTriggerRequest 和 WechatSubscribeNotifyTriggerResult
- 移除 ZT 消息服务相关代码
- 简化变量传递和通知模板逻辑
2026-01-06 15:35:09 +08:00
95e86fb996 refactor(video): 移除设备视频连续性检查定时任务
- 删除了 DeviceVideoContinuityCheckTask 定时任务类
- 从 DeviceVideoContinuityController 中移除手动检查接口
- 从生产环境日志配置中移除相关日志记录器配置
- 移除了 RedisTemplate 和 ObjectMapper 的依赖注入
- 移除了设备视频连续性检查相关的定时任务逻辑
- 移除了手动触发检查的 API 接口实现
2026-01-06 14:57:11 +08:00
6c3a413778 refactor(task): 移除未使用的常量和依赖注入
- 移除未使用的 VIDEO_NOTIFICATION_CACHE_KEY 常量
- 移除未使用的 NOTIFICATION_CACHE_EXPIRE_MINUTES 常量
- 移除未使用的 faceMapper 依赖注入
- 移除未使用的 faceSampleMapper 依赖注入
- 移除未使用的 sourceMapper 依赖注入
2026-01-06 13:35:00 +08:00
da2286bc80 Merge branch 'notify_v2' 2026-01-06 11:30:52 +08:00
1df6a4bc23 refactor(order): 优化重复购买检查器的延迟初始化
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 在DuplicatePurchaseCheckerFactory类上添加@Lazy注解实现延迟加载
- 在NoCheckDuplicateChecker类上添加@Lazy注解实现延迟加载
- 在ParentResourceDuplicateChecker类上添加@Lazy注解实现延迟加载
- 在UniqueResourceDuplicateChecker类上添加@Lazy注解实现延迟加载
- 添加org.springframework.context.annotation.Lazy导入语句
- 通过延迟初始化提升应用启动性能
2026-01-05 18:12:25 +08:00
981a4ba7bd perf(logging): 移除视频切分任务中的冗余日志输出
- 移除了 VideoRecreationHandler 中的 info 级别日志
- 移除了 TaskFaceServiceImpl 中的 info 级别日志
- 移除了 TaskTaskServiceImpl 中的 info 级别日志
- 保留了 debug 级别的视频重切逻辑日志
- 减少了生产环境中的日志输出量
2026-01-05 18:04:05 +08:00
017ced34fa change(FaceMatchingOrchestrator): 修改图像输出格式和质量设置
- 将输出格式从PNG更改为JPEG
- 将图像质量从90调整为80
2026-01-05 18:03:57 +08:00
a9ae00d580 refactor(puzzle): 重构拼图同步生成逻辑
- 添加详细的方法执行日志记录
- 实现参数校验和模板查询验证
- 增加元素排序和动态数据构建
- 集成重复图片检测机制
- 添加内容去重检测和历史记录复用
- 实现边缘渲染任务创建和
2026-01-05 16:02:28 +08:00
99f75b6805 style(log): 移除日志输出语句
- 移除了 BceFaceBodyAdapter 中无法访问URL图片的警告日志
- 移除了 VideoPieceGetter 中计数器更新和进度检查的调试日志
- 清理了设备关联计数器相关的日志输出
- 移除了 placeholder 完成状态的日志记录
- 删除了进度检查相关的统计日志输出
2026-01-05 14:59:33 +08:00
295815f1fa feat(puzzle): 添加拼图渲染任务同步等待机制
- 引入 CompletableFuture 支持任务异步等待
- 创建 TaskWaitResult 类封装任务执行结果
- 实现 registerWait 和 waitForTask 方法支持同步等待
- 添加 waitFutures 缓存池管理等待任务
- 实现超时清理机制防止内存泄漏
- 提供 createAndWait 便捷方法一键创建并等待
- 在任务完成和失败时自动通知等待方
- 添加过期 future 清理机制优化内存使用
2026-01-05 14:59:25 +08:00
eb9b781fd3 Merge branch 'puzzle_edge_w'
# Conflicts:
#	src/main/java/com/ycwl/basic/config/WebMvcConfig.java
2026-01-05 11:58:56 +08:00
8d3dae32f3 feat(task): 添加版本校验和任务重分配功能
- 实现版本号比较方法,支持版本号大小判断
- 添加客户端版本校验逻辑,防止低版本上报覆盖高版本缓存
- 增加任务重分配功能,在更新旧任务时解除任务分配
- 修复worker状态处理中的版本冲突问题
2026-01-05 11:54:07 +08:00
43775f550b refactor(clickhouse): 修复日期格式化器线程安全问题
- 移除静态 SimpleDateFormat 实例,避免线程安全问题
- 添加上海时区配置确保日期格式化一致性
- 创建新的日期和日期时间格式化器方法
- 修改格式化方法使用新创建的格式化器实例
- 更新每日扫描统计查询中的日期格式化逻辑
2026-01-04 14:47:37 +08:00
24f72091b3 fix(stats): 修复景点人脸识别统计数据查询逻辑
- 修正了人脸上传统计查询中景点ID的过滤方式,从子查询改为直接解析params字段
- 移除了应用统计服务中的过期缓存逻辑
- 修复了任务完成用户统计的表关联错误,从task表改为member_video表进行统计
2026-01-04 14:43:01 +08:00
cc62fb4c18 refactor(clickhouse): 优化统计查询SQL性能和代码结构
- 提取进入景区trace_id子查询逻辑到独立方法appendEnterScenicTraceIdSubQuery
- 将count函数替换为uniqExact以提高去重统计性能
- 优化视频预览统计查询,使用WITH子句提取JSON字段减少重复计算
- 简化经纪人ID列表查询,移除不必要的子查询包装
- 修复每日扫码统计查询的时间范围过滤条件
- 优化按小时和按日期的扫码会员图表查询,使用ClickHouse内置时间函数
- 在子查询中添加时间范围过滤以减少数据扫描量
2026-01-04 13:53:37 +08:00
d1962ed615 refactor(clickhouse): 将统计数据查询从 MyBatis 迁移到 JDBC 模板
- 移除 ClickHouseStatsMapper 接口及 XML 映射文件
- 使用 NamedParameterJdbcTemplate 替代 MyBatis 实现数据查询
- 添加日期格式化工具类处理 ClickHouse 时间格式
- 重构所有统计查询方法使用原生 SQL 字符串构建
- 添加 MySQL 主数据源配置确保多数据源正确配置
- 升级 ClickHouse JDBC 驱动版本到 0.8.5
- 解决 0.6.x 版本参数绑定问题通过手动 SQL 构建
- 保持原有查询逻辑不变仅改变实现方式
2026-01-04 13:17:01 +08:00
e1023b6ea8 refactor(stats): 移除统计追踪模块相关代码
- 删除 StatsBiz 业务类
- 移除 TraceController 控制器及其接口实现
- 删除 AddTraceReq 数据传输对象
- 移除 StatsEntity 和 StatsRecordEntity 实体类
- 移除 StatsInterceptor 拦截器
- 删除 StatsMapper 和 StatsRecordMapper 数据访问接口
- 移除 StatsService 服务接口及 StatsServiceImpl 实现类
- 删除 StatsUtil 工具类
2026-01-04 12:16:01 +08:00
aec5e57df7 feat(database): 迁移统计数据查询到ClickHouse
- 添加ClickHouse数据源配置和相关依赖
- 实现ClickHouse统计查询服务和MySQL兜底方案
- 新增扫码统计、订单统计等数据查询接口
- 重构分销员数据统计逻辑,整合MySQL和ClickHouse数据源
- 更新应用配置文件以支持ClickHouse启用开关
- 修改分布式任务统计以支持跨库查询场景
2026-01-04 10:34:17 +08:00
52ce26e630 feat(puzzle): 添加拼图边缘渲染功能
- 集成 PuzzleEdgeWorkerIpInterceptor 拦截器进行 IP 校验
- 添加 PuzzleEdgeWorkerSecurityProperties 配置类
- 创建 PuzzleEdgeRenderTaskController 提供边缘渲染接口
- 添加多种 DTO 类用于边缘渲染任务数据传输
- 创建 PuzzleEdgeRenderTaskEntity 实体和 Mapper 接口
- 实现 PuzzleEdgeRenderTaskService 核心服务逻辑
- 重构 PuzzleGenerateServiceImpl 使用边缘渲染服务
- 移除原有的线程池执行器和同步渲染逻辑
- 添加定时任务处理渲染超时和重试机制
- 实现自动打印队列添加功能
2026-01-03 23:47:37 +08:00
32297dc29c refactor(printer): 优化人脸素材查询逻辑
- 移除不必要的MemberSourceEntity和相关Repository依赖
- 将数据查询逻辑从Repository层迁移到Mapper层
- 添加type参数支持素材类型过滤
- 修复方法注释中的人脸ID描述错误
- 直接返回SourceEntity列表避免额外的转换操作
2026-01-03 23:46:58 +08:00
21d8c56e82 feat(puzzle): 添加拼图模块缓存仓库并集成缓存功能
- 新增 PuzzleRepository 缓存仓库类,提供模板和元素的 Redis 缓存功能
- 实现模板按 ID 和编码的双向缓存,减少数据库查询压力
- 实现元素列表按模板 ID 缓存,避免重复查询
- 在模板服务中集成缓存,更新和删除时自动清除相关缓存
- 在生成服务中使用缓存读取模板和元素数据
- 添加缓存过期机制,设置 24 小时自动过期
- 实现批量缓存清除功能,支持按模式删除缓存
2026-01-01 21:39:43 +08:00
f8374519c3 feat(puzzle): 添加拼图生成异步处理能力
- 移除 @RequiredArgsConstructor 注解,改用手动构造函数注入
- 添加 ThreadPoolExecutor 实现拼图生成异步处理
- 新增 generateAsync 方法支持异步生成拼图
- 新增 generateSync 方法支持同步生成拼图
- 重构核心生成逻辑为 doGenerateInternal 方法供同步异步共用
- 在 FaceMatchingOrchestrator 中优化拼图模板生成逻辑
- 支持根据场景选择同步或异步生成模式
- 添加线程池队列大小监控和日志记录
2026-01-01 21:26:34 +08:00
44f5008fd1 refactor(task): 优化重复任务处理逻辑
- 移除旧任务更新逻辑,简化重复任务处理流程
- 替换视频查询方法调用,使用新的存储库方法
- 保持任务缓存清除功能
- 简化日志输出信息
2026-01-01 19:55:33 +08:00
6e0ebcd1bd fix(puzzle): 优化拼图生成失败日志记录
- 修改日志记录格式,添加异常消息详情
- 保持错误响应信息的一致性
2026-01-01 19:43:13 +08:00
5caf9a0ebf refactor(face): 重构人脸服务接口和实现
- 修改 getById 方法返回类型为 FaceEntity 并直接调用仓库层
- 移除删除人脸时的用户权限检查逻辑
- 删除 contentListUseDefaultFace 方法的实现
- 从服务接口中移除 contentListUseDefaultFace 方法定义
2026-01-01 19:40:45 +08:00
06bc2c2020 refactor(scenic): 移除景区移动端控制器和服务中的分页查询功能
- 删除 AppScenicController 中的 pageQuery 接口方法
- 删除 AppScenicController 中的 deviceCountByScenicId 接口方法
- 删除 AppScenicController 中的 scenicListByLnLa 接口方法
- 从 AppScenicService 接口中移除 pageQuery 方法定义
- 从 AppScenicService 接口中移除 deviceCountByScenicId 方法定义
- 从 AppScenicService 接口中移除 scenicListByLnLa 方法定义
- 完全移除 AppScenicController 类文件
- 简化 AppScenicServiceImpl 中
2026-01-01 19:32:49 +08:00
f1a2958251 feat(notification): 添加微信订阅消息配置管理及幂等授权功能
- 新增微信订阅消息配置管理控制器,支持模板、场景、事件映射配置
- 实现用户通知授权服务的幂等控制,避免前端重试导致授权次数虚增
- 添加微信订阅消息发送日志记录,用于幂等与排障
- 新增视频生成完成时的订阅消息触发功能
- 实现场景模板查询接口,返回用户授权余额信息
- 添加模板V2相关数据表映射器和实体类
- 集成微信订阅消息触发服务到任务完成流程中
2026-01-01 17:53:59 +08:00
81dc2f1b86 feat(printer): 添加景区ID参数并优化用户照片打印去重逻辑
- 在价格计算请求中添加景区ID参数
- 实现用户照片按sourceId去重机制,避免重复添加相同照片
- 查询用户在景区的已有打印记录用于去重判断
- 优化普通照片打印商品项,添加设备ID属性信息
- 过滤无效数据并去重后生成设备ID属性列表
2025-12-31 23:37:00 +08:00
41e90bab9c fix(task): 修复任务重复处理中的日志和更新逻辑
- 移除了创建任务日志中的敏感参数信息
- 更新重复任务日志以包含任务ID信息
- 移除了workerId重置逻辑,改为显式清除方法
- 修复TaskMapper中status字段的SQL语法问题
- 优化了任务参数更新的处理流程
2025-12-31 20:36:31 +08:00
b4628bd3e8 refactor(task): 优化重复任务处理逻辑
- 修复重复任务时直接使用旧任务ID的问题
- 实现重复任务的更新机制:重置workerId为空,status为0
- 添加taskParams的更新功能
- 集成任务缓存清理机制
- 修正订单购买状态检查的参数传递
2025-12-31 20:03:58 +08:00
cfb4284b7c refactor(video): 优化视频片段获取任务的设备配对处理
- 添加 Caffeine 缓存优化景区设备配对关系查询性能
- 实现设备配对关系缓存机制,避免重复数据库查询
- 重构线程安全的回调调用逻辑,使用 compareAndSet 保证原子性
- 添加调试日志的条件判断,减少不必要的日志输出
- 优化任务执行流程,调整线程池关闭和资源清理逻辑
- 实现设备配对关系加载方法,返回不可变Map提高安全性
2025-12-31 19:50:44 +08:00
5a61432dc9 refactor(orchestrator): 优化人脸匹配拼图模板生成逻辑
- 引入线程同步机制确保打印机场景下拼图模板生成完成
- 修改 asyncGeneratePuzzleTemplate 方法返回 Thread 对象便于控制
- 使用虚拟线程池优化拼图模板并发生成性能
- 简化原子计数器和异步任务相关代码实现
- 添加线程 join 等待确保关键场景执行顺序
- 修复方法返回值类型和资源管理相关问题
2025-12-31 19:50:18 +08:00
91160a1adb fix(task): 修复任务重复创建和空指针问题
- 在原位替换模式下设置taskParams为null,避免按参数匹配
- 添加isReuseOldTask标识判断是否复用旧任务
- 复用旧任务时执行更新操作而非新增操作
- 添加member和item空值检查,防止空指针异常
- 优化日志记录,提供更准确的操作信息
2025-12-30 18:12:29 +08:00
991a8b10e3 fix(printer): 解决图片类型设置逻辑问题
- 添加source为空时的图片类型判断逻辑
- 当source为空时将图片类型设置为PUZZLE
- 保持原有source不为空时的IPC类型设置逻辑
- 确保PHONE类型的设置逻辑不受影响
2025-12-30 17:49:39 +08:00
ab1e8cf7ef fix(printer): 解决图片类型设置逻辑问题
- 添加source为空时的图片类型判断逻辑
- 当source为空时将图片类型设置为PUZZLE
- 保持原有source不为空时的IPC类型设置逻辑
- 确保PHONE类型的设置逻辑不受影响
2025-12-30 17:34:30 +08:00
2a3b4ca19f fix(video): 修复设备视频连续性检查缓存覆盖问题
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 为VideoContinuityReportReq的gaps字段添加空列表默认值
- 在设备不支持连续性检查时检查Redis中是否已存在外部上报的缓存记录
- 避免已有的外部上报缓存被内部检查结果覆盖
- 保持已有缓存记录的完整性,仅在无缓存时进行存储
2025-12-30 10:49:58 +08:00
85599aa84a feat(pc): 添加外部工具上报视频连续性检查结果接口
- 添加 @IgnoreToken 注解支持无需认证的上报功能
- 新增 reportContinuityResult 方法处理外部工具上报请求
- 实现根据设备编号查询设备ID的逻辑
- 添加视频连续性检查结果的缓存存储功能
- 支持间隙信息的转换和存储到Redis
- 设置24小时缓存TTL策略
- 完善日志记录和异常处理机制
2025-12-30 10:45:04 +08:00
fbd4cfa83c refactor(integration): 将降级缓存从Redis迁移到Caffeine内存缓存
- 移除RedisTemplate依赖,改用Caffeine作为缓存实现
- 添加缓存互斥锁机制,避免并发请求打崩下游服务
- 统一缓存策略:有缓存直接返回,无缓存调用远程并缓存结果
- 调整缓存TTL配置,从天单位改为分钟单位
- 更新缓存统计信息结构,TTL字段从天改为分钟
- 优化批量清除缓存逻辑,使用流式过滤处理
- 简化缓存操作API,移除无返回值的执行方法
2025-12-29 17:32:13 +08:00
4596a61ba8 feat(ExtraDevice): 添加外部设备管理功能
- 创建了 ExtraDeviceController 提供分页查询外部设备列表的API接口
- 新增 ExtraDeviceService 和 ExtraDeviceServiceImpl 实现设备查询逻辑
- 添加 ExtraDevicePageQueryReq 和 ExtraDeviceRespVO 请求响应数据模型
- 扩展 ExtraDeviceMapper 支持分页查询外部设备列表
- 实现景区名称填充和设备在线状态判断功能
- 集成 Redis 获取设备心跳时间判断在线状态
- 添加了完整的参数校验和异常处理机制
2025-12-29 16:06:32 +08:00
d6780ccb7a feat(face): 添加打印机大屏人脸识别试点功能
- 在PrinterTvController中添加tv场景参数,用于触发打印机大屏识别试点逻辑
- 在FaceMatchingScene枚举中新增PRINTER_TV_RECOGNIZE场景,支持仅执行识别补救落库建关系
- 在FaceMatchingPipelineFactory中创建打印机大屏识别试点Pipeline,包含识别补救落库建关系等阶段
- 在FaceServiceImpl中添加打印机大屏人脸识别的专门处理方法matchFaceIdForPrinterTv
- 通过scene参数区分普通人脸识别和打印机大屏识别试点流程
2025-12-29 11:34:10 +08:00
58e8189b13 perf(face): 提高人脸匹配严格度阈值
- 将人脸匹配的严格度分数从0.6调整为0.75
- 增强人脸识别的准确性要求
2025-12-28 17:07:07 +08:00
84cb5ad8f9 refactor(face): 优化人脸识别服务中的购买验证逻辑
- 移除多余的空格格式
- 删除重复的购买验证逻辑
- 移除临时解决方案代码
- 简化条件判断流程
2025-12-28 13:58:04 +08:00
71bfa00c25 refactor(member): 移除会员响应对象中的冗余字段
- 移除了推客优惠码、推客id和用户协议同意状态字段
- 移除了创建时间、更新时间和订单数量等不必要字段
- 移除了服务通知开关设置
- 清理了会员服务实现中相关的字段赋值逻辑
2025-12-26 20:03:50 +08:00
1916dd96a2 feat(video): 添加移动端HLS视频流播放列表生成功能
- 实现AppVideoStreamController提供HLS播放列表生成接口
- 添加HlsStreamRequest和HlsStreamResponse数据传输对象
- 实现HlsStreamService服务类处理视频流逻辑
- 支持生成JSON格式和m3u8文件格式的播放列表
- 提供视频片段查询和设备视频HLS播放列表生成功能
- 支持EVENT和VOD两种播放列表类型
- 集成设备存储操作器获取视频文件列表
- 实现播放列表内容构建和视频片段时长计算功能
2025-12-26 15:37:22 +08:00