Commit Graph

151 Commits

Author SHA1 Message Date
95c82cfcf2 refactor(storage): 简化存储适配器配置逻辑并移除降级机制
- 移除默认存储配置常量 DEFAULT_STORAGE
- 简化 UploadStage 中的存储适配器获取逻辑,直接使用 StorageFactory.use()
- 移除降级到默认存储的处理机制
- 在 PuzzleGenerateServiceImpl 中复用存储适配器实例
- 移除 SourceRepository 中的 StorageUnsupportedException 导入
- 移除 GoodsServiceImpl 中的 StorageType 枚举导入
- 移除 SourceServiceImpl 中的 ScenicService 依赖注入
- 移除 PrinterServiceImpl 中的复杂存储适配器配置逻辑
- 在 TaskTaskServiceImpl 中统一使用景点存储适配器
- 在 FaceCleaner 中添加新的存储清理逻辑,使用独立的图片存储适配器
- 添加 sourceImageUrlMap 和 sourceScenicIdMap 来优化文件清理逻辑
2026-02-05 14:16:16 +08:00
a85d6b0ead feat(statistics): 添加当日数据Redis缓存并调整定时任务时间
- 在AppStatisticsServiceImpl中实现当日数据的Redis缓存机制
- 仅对实时查询且查询日期为当天的数据进行缓存
- 设置缓存时间为60秒以减少实时查询压力
- 将历史数据查询与实时数据查询分离
- 调整ScenicStatsTask定时任务执行时间
- 添加每日凌晨3点执行的任务配置
- 新增每天0点1分执行的统计任务调度
2026-02-05 01:05:56 +08:00
6c330764ea refactor(statistics): 重构应用统计漏斗服务的Redis缓存逻辑
- 移除固定的Redis缓存key,改为包含日期维度的动态key
- 修复日期范围检查逻辑中的时间顺序问题
- 统一多处相同的日期范围条件判断代码
- 移除实时模式下的数据持久化操作以避免缓存污染
2026-02-05 01:02:13 +08:00
80f8a6b56b feat(task): 添加景区ID到微信订阅通知触发请求
- 在CouponExpireNotificationTask任务中为微信订阅通知请求添加scenicId字段
- 确保通知请求包含正确的景区标识信息
2026-01-21 19:04:30 +08:00
00bf4b5a8b chore(task): 2026-01-20 20:33:10 +08:00
6c305f4cd1 fix(task): 优化下载通知任务的执行频率和时间范围
- 移除未使用的ZtMessageProducerService和NotificationAuthUtils依赖注入
- 将定时任务执行时间从每天21点调整为每天9点和21点
- 将查询时间范围从24小时缩短为12小时,提高查询效率
- 保持用户去重逻辑以避免重复发送通知
2026-01-20 20:26:51 +08:00
a8156976be feat(puzzle): 添加免费拼图通知任务功能
- 在MemberPuzzleMapper中新增listFreeUnpurchased方法用于查询指定时间范围内生成且未购买的免费拼图记录
- 新增FreePuzzleNotificationTask定时任务类,每天晚7点执行免费拼图通知
- 添加SQL映射配置实现免费拼图记录的查询逻辑
- 实现微信订阅通知触发机制,向符合条件的用户发送免费拼图领取通知
- 集成景区信息查询和会员信息获取功能用于通知内容构造
2026-01-20 18:35:57 +08:00
ce48bd00c9 feat(task): 添加优惠券领取和过半提醒定时任务
- 新增优惠券领取通知定时任务,每小时执行一次查询最近2小时内领取的优惠券
- 新增优惠券有效期过半提醒定时任务,每天18点执行
- 引入ScenicRepository和ScenicV2DTO用于获取景区基础信息
- 修改processNotification方法提取公共逻辑到processRecords方法
- 在微信订阅消息变量中增加景区ID和景区名称字段
- 优化优惠券相关查询逻辑和数据处理流程
2026-01-20 17:11:20 +08:00
c5df277e6c feat(task): 添加优惠券过期提醒定时任务
- 实现优惠券过期提醒功能,每天20点执行
- 实现优惠券临期提醒功能,每天8点执行
- 集成微信订阅消息通知服务
- 查询指定时间范围内已领取的优惠券记录
- 构建优惠券信息变量并触发通知
- 添加异常处理和日志记录机制
2026-01-20 16:58:36 +08:00
9a31e71e42 refactor(coupon): 移除优惠券相关模块代码
- 删除优惠券控制器相关类,包括 AppCouponController 和 CouponController
- 移除优惠券记录控制器 CouponRecordController
- 删除优惠券数据访问层接口及实现类
- 移除优惠券相关的实体类、请求响应对象
- 清理业务逻辑层中与优惠券相关的服务接口及实现
- 从 PriceBiz 中移除优惠券相关导入依赖
- 从任务类 DownloadNotificationTasker 中移除优惠券相关导入
- 删除优惠券相关的 MyBatis 映射文件
2026-01-20 16:30:47 +08:00
f876dc59fa feat(task): 添加资源通知定时任务功能
- 实现了每日19点执行的资源通知定时任务
- 查询当日新增人脸数据并获取相关会员信息
- 整合景区、视频和照片资源统计数据
- 集成微信订阅消息推送服务
- 构建资源通知模板变量并触发消息发送
- 添加异常处理和日志记录机制
2026-01-20 15:34:46 +08:00
57b71c309e feat(task): 添加视频ID到下载通知任务
- 在DownloadNotificationTasker中添加videoId变量到模板参数
- 将item.getVideoId()方法调用结果存入variables映射中
- 确保视频ID信息能够在通知模板中正确渲染使用
2026-01-13 11:17:34 +08:00
482789b523 feat(task): 根据景区配置动态设置视频结果页面
- 获取景区配置管理器并检查分组功能是否启用
- 当分组功能启用时将视频结果页面设置
2026-01-11 00:04:04 +08:00
31b9220a32 feat(notification): 添加视频任务统计信息到微信订阅通知
- 在任务服务中添加视频设备数量、镜头数量和拍摄时间变量
- 注入VideoTaskRepository依赖以获取任务统计数据
- 更新下载通知任务器中的变量映射逻辑
- 格式化日期时间为yyyy-MM-dd HH:mm格式
- 移除未使用的导入和重复的依赖注入
2026-01-10 20:30:15 +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
99f75b6805 style(log): 移除日志输出语句
- 移除了 BceFaceBodyAdapter 中无法访问URL图片的警告日志
- 移除了 VideoPieceGetter 中计数器更新和进度检查的调试日志
- 清理了设备关联计数器相关的日志输出
- 移除了 placeholder 完成状态的日志记录
- 删除了进度检查相关的统计日志输出
2026-01-05 14:59:33 +08:00
cfb4284b7c refactor(video): 优化视频片段获取任务的设备配对处理
- 添加 Caffeine 缓存优化景区设备配对关系查询性能
- 实现设备配对关系缓存机制,避免重复数据库查询
- 重构线程安全的回调调用逻辑,使用 compareAndSet 保证原子性
- 添加调试日志的条件判断,减少不必要的日志输出
- 优化任务执行流程,调整线程池关闭和资源清理逻辑
- 实现设备配对关系加载方法,返回不可变Map提高安全性
2025-12-31 19:50:44 +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
3f4d3cb7ac refactor(scenic): 替换ScenicConfigEntity为ScenicConfigManager
- 将所有使用ScenicConfigEntity的地方替换为ScenicConfigManager
- 更新获取景区配置的方法调用
- 修改属性访问方式为通过manager的getter方法
- 移除已废弃的ScenicConfigEntity类及相关方法
- 统一配置读取接口,提高代码一致性与可维护性
2025-12-19 19:02:37 +08:00
f2ba5ed65b refactor(task): 移除视频重新上传功能及相关依赖
- 删除 VideoReUploader 类及其相关注入依赖
- 移除 VideoReUploader 的调用逻辑
- 清理无用的导入语句及测试类文件
- 简化视频处理流程,去除冗余操作步骤
2025-12-19 17:21:41 +08:00
00dd6a16a3 refactor(face): 调整人脸识别匹配逻辑以支持场景参数
- 修改 PrinterTvController 中 faceUpload 方法的 scene 参数值从 print 改为 tv
- 在 FaceServiceImpl 中为人脸匹配方法增加 scene 参数支持
- 更新 FaceMatchingOrchestrator 的 orchestrateMatching 方法签名以接收 scene 参数
- 在 FaceService 接口中新增带 scene 参数的 matchFaceId 方法定义
- 更新 VideoTaskGenerator 中调用 matchFaceId 方法时传入 scene 参数
2025-12-17 23:16:48 +08:00
00890c764e feat(basic): 添加模板片段更新状态缓存支持
- 在FaceStatusManager中新增按模板ID区分的人脸片段更新状态缓存键
- 更新TaskTaskServiceImpl以设置模板渲染状态
- 在任务回调逻辑中增加对模板渲染状态的更新操作
- 修改任务删除逻辑为更新状态加10的临时解决方案
- 移除旧有的切割任务状态更新逻辑,统一使用模板渲染状态管理
2025-12-17 15:49:24 +08:00
adabe88648 fix(video): 调整视频处理任务参数以优化性能
- 将探测大小从 32M 减小到 16M 以减少内存占用
- 修改线程池关闭前的等待时间从 5 分钟缩短至 3 分钟
- 添加注释说明批量定时停止的目的
2025-12-15 13:56:54 +08:00
3c838ec36e refactor(video): 优化视频切割逻辑,使用concat demuxer提升性能
- 引入concat demuxer方式替代原有转码流程,提高处理效率
- 新增PROBE_SIZE常量用于控制探测大小,优化文件解析
- 重构runFfmpegForMultipleFile1方法,简化多文件处理逻辑
- 添加quickVideoCutWithConcatDemuxer方法实现无转码快速切割
- 调整ffmpeg命令参数顺序及新增选项,如-probesize、-analyzeduration等
- 在多个ffmpeg调用中统一增加-genpts标志和避免负时间戳处理
- 完善临时文件清理机制,确保执行过程中的资源回收
- 更新相关ffmpeg命令构建逻辑以适配新的处理流程
2025-12-15 10:53:12 +08:00
36f85dbb63 feat(device): 支持按多个景区ID查询设备列表
- 在 DeviceV2Client 中新增 scenicIds 查询参数
- 修改 DeviceIntegrationService.listDevices 方法以支持 scenicIds 参数
- 优化参数优先级逻辑:scenicId 优先于 scenicIds
- 更新所有调用点以传递新的 scenicIds 参数
- 保持向后兼容性,确保原有接口行为不变
- 增加日志记录以便调试和监控参数使用情况
2025-12-02 09:39:04 +08:00
90efc908c5 feat(image): 支持多角度图片旋转及方向判断
- 在 PhotoProcessContext 中新增 imageRotation 字段用于存储旋转角度
- 修改 ConditionalRotateStage 支持 90、180、270 度旋转
- 优化 ImageOrientationStage 综合判断图片方向逻辑
- 新增 NoOpStage 作为空操作阶段占位符
- 解除 DeviceVideoContinuityCheckTask 的生产环境限制
- 添加完整的单元测试覆盖各种旋转场景和边界情况
2025-11-26 14:34:17 +08:00
4360ef1313 feat(device): 实现设备视频连续性检查功能
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 新增设备视频连续性检查控制器 DeviceVideoContinuityController
- 提供查询、手动触发和删除检查结果的 REST 接口
- 实现视频连续性检查核心逻辑,支持检测视频间隙
- 添加定时任务 DeviceVideoContinuityCheckTask 自动检查设备视频连续性
- 仅在生产环境(prod)启用,每天9点到18点间每5分钟执行一次
- 支持阿里云OSS和本地存储的视频连续性检查
- 检查结果缓存至 Redis,默认保留24小时
- 新增相关实体类: DeviceVideoContinuityCache、VideoContinuityGap、VideoContinuityResult
- 在存储操作接口中增加 checkVideoContinuity 和 checkRecentVideoContinuity 方法
- 为不支持的存储类型提供默认不支持连续性检查的实现
2025-11-24 14:02:53 +08:00
97e3ab19a0 refactor(order): 重构订单购买逻辑并优化接口参数
- 调整 isBuy 方法参数顺序,增加 faceId 参数支持
- 删除冗余的购买检查方法和旧版 isBuy 重载方法
- 简化购买状态判断逻辑,移除重复代码
- 更新视频查看权限服务中的购买检查调用
- 修改人脸服务中景区 ID 类型为 Long
- 调整打印机服务中人脸查询方法参数类型
- 统一订单业务类中方法签名和调用方式
- 移除订单请求模型中无用字段注释
- 增加人脸 ID 列表字段支持批量查询
- 优化任务服务中购买状态检查逻辑
2025-11-21 21:45:26 +08:00
631d5c175f feat(payment): 支付与退款后清除景区统计缓存
- 在支付成功、取消、退款回调后增加缓存删除逻辑
- 新增 `invalidateStatisticsCache` 方法用于删除 Redis 缓存
- 定时任务中统计景区数据后也调用缓存清除方法
- 调整景区统计任务时间并扩展统计周期为近7天
- 增强定时任务日志记录和异常处理机制
2025-10-31 13:46:17 +08:00
2ee7e93201 refactor(order):优化订单业务逻辑中的景区信息获取方式
- 移除了对 ScenicEntity 的直接依赖
- 使用 scenicId 替代 scenic 对象以减少数据库查询
- 更新了 VLOG 和普通商品的价格计算逻辑
- 在下载通知任务中使用 ScenicV2DTO 替代 ScenicEntity
- 统一通过 scenicRepository 获取景区基本信息的方法调用
2025-10-31 11:29:48 +08:00
07ebccad3c fix(video): 减少视频任务生成器的等待时间
- 将线程睡眠时间从5000毫秒减少到2000毫秒
- 提高视频任务处理效率
- 减少系统资源占用
2025-10-28 18:04:35 +08:00
1efe4a1439 refactor(task): 移除过时的人脸清理功能
- 删除了 `cleanFaceSampleOss` 方法及相关调用
- 注释说明 VIID 相关功能已移除
-保留并继续使用 `cleanSourceOss` 和 `cleanVideoOss` 方法
2025-10-28 15:51:53 +08:00
e27f092f85 refactor(logging): 将部分info级别日志调整为debug级别- 将Placeholder初始化相关日志从info 2025-10-28 15:51:32 +08:00
27f356519e feat(notification): 引入通知授权检查机制
- 在任务服务中集成通知授权工具类
- 实现视频生成通知前的权限校验逻辑- 在下载通知任务中增加授权消费检查- 添加过期提醒及额外下载通知的权限控制
- 完善无授权时的日志记录与处理流程
2025-10-20 13:15:03 +08:00
602eb84f9c feat(video): 添加缩略图URL设置功能
- 在视频片段获取器中新增缩略图URL字段
- 完善图片源信息的处理逻辑- 提高视频资源信息的完整性
2025-10-20 10:29:44 +08:00
56e1081304 refactor(storage): 移除不再使用的人脸存储路径常量
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 删除 StorageConstant 中的 VIID_FACE 常量定义
- 移除 FaceCleaner 中对 VIID_FACE 的引用和相关文件清理逻辑
- 清理相关的导入语句和静态引用
2025-10-15 19:13:48 +08:00
a7ede3303d refactor(task): 移除重复的景区配置查询逻辑
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 删除了 DownloadNotificationTasker 中多次调用的 getScenicMpConfig 方法
- 简化了视频下载通知任务的执行流程- 提高代码可读性和维护性
- 避免不必要的数据库查询操作
2025-10-14 20:32:36 +08:00
aa7330000f fix(task): 避免重复发送下载和过期通知
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 在发送下载通知前检查用户是否已接收通知
- 在发送过期通知前检查用户是否已接收通知- 在发送额外下载通知前检查用户是否已接收通知
- 使用ConcurrentHashMap.newKeySet()确保线程安全- 添加调试日志以追踪重复通知的跳过情况- 优化通知逻辑以提升定时任务执行效率
2025-10-14 20:31:45 +08:00
ad42254ea0 refactor(task): 移除通知模块依赖
- 删除了对通知模块的包引用
- 移除了通知模块相关的类导入- 清理了与通知功能相关的代码依赖
-优化了任务服务实现类的依赖结构
- 简化了下载通知任务器的代码引用
- 解除了通知工厂类的直接依赖关系
2025-10-14 19:38:47 +08:00
311008cbf2 feat(message): 集成ZT消息服务发送通知
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 在TaskTaskServiceImpl中引入ZtMessageProducerService依赖
- 替换原有微信通知逻辑,使用ZT消息服务发送视频生成通知- 在DownloadNotificationTasker中引入ZtMessageProducerService依赖
- 修改视频下载通知发送逻辑,使用ZT消息服务
- 修改视频过期提醒通知逻辑,使用ZT消息服务
- 调整额外通知时间配置获取方式,从scenicConfigManager获取
- 统一构建通知消息参数格式,包含data和page信息
- 添加详细的日志记录,便于追踪消息发送过程
2025-10-14 19:06:30 +08:00
db86c82bc8 refactor(task):优化视频片段获取逻辑并增强日志记录
- 移除任务执行前的空列表检查,统一通过VideoPieceGetter.addTask处理
- 增强Placeholder初始化阶段的日志输出,区分有无templateId情况- 细化计数器递减过程中的日志信息,记录设备关联及剩余数量
- 完善进度检查时的日志内容,增加已完成与未完成的统计显示- 补充Callback调用条件判断,避免重复触发并记录调用状态
- 添加兜底逻辑中对Callback是否已触发的判断和相应日志提示
2025-10-01 22:01:34 +08:00
f33ce8e7a7 feat(video):优化视频切片任务处理逻辑
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 添加对配对设备的处理,确保主设备也能正确执行切片任务
- 调整计数器逻辑,使主设备和配对设备的未完成占位符计数一致
- 增强日志记录,明确标识设备占位符满足情况
- 改进进度计算方式,更准确地反映任务完成状态- 在所有占位符满足时提前调用回调函数,提升任务执行效率
2025-10-01 21:22:19 +08:00
da89067c48 refactor(task):优化视频片段获取任务的设备计数逻辑
- 将 currentUnFinPlaceholder从 List 类型改为 Map<String, AtomicInteger>- 使用 AtomicInteger 跟踪每个设备的未完成任务数量
- 在设备任务完成时正确减少计数并清理已完成的设备
- 更新进度日志以反映去重后的设备总数
2025-09-27 01:07:52 +08:00
1b2793215f fix(video): 解决并发环境下视频片段处理的文件名冲突问题
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 为输出文件名添加时间戳和线程ID后缀,确保唯一性
-为临时文件名添加时间戳和线程ID后缀,防止并发冲突
- 避免因文件名重复导致的视频处理错误
2025-09-26 14:26:09 +08:00
4f1443a3ca fix(video): 处理空imgSource情况- 添加空值检查以避免保存空source记录
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 记录警告日志当imgSource为空时- 返回false以跳过无效处理流程
2025-09-26 12:39:22 +08:00
019b9ffca6 refactor(video):优化视频关联关系处理逻辑
- 调整source记录插入时机,确保关联关系处理前数据已存在
- 移除冗余的source存在性检查逻辑- 统一关联关系处理流程,避免重复代码
- 添加日志记录以便追踪处理过程- 优化代码结构,提高可读性和维护性
2025-09-24 18:04:47 +08:00
94d6b2f443 feat(source): 增强source关联关系的数据一致性校验
- 在SourceMapper中新增sourceExists方法,用于校验source是否存在
- 新增filterValidSourceRelations方法,过滤无效的source引用
- 在FaceServiceImpl中增强关联关系创建逻辑,防止重复和无效数据
- 在VideoPieceGetter任务中增加source存在性校验,避免创建孤立关联- 添加详细的日志记录,便于追踪关联关系创建过程
-优化XML映射文件,支持新的校验和过滤查询逻辑
2025-09-24 17:39:05 +08:00
b34f994298 feat(source): 添加过滤已存在关联关系功能
- 在SourceMapper中新增filterExistingRelations方法
- 修改FaceServiceImpl中的关联关系保存逻辑
- 修改TaskFaceServiceImpl中的关联关系保存逻辑
- 修改VideoPieceGetter中的关联关系检查逻辑
- 在SourceMapper.xml中添加filterExistingRelations的SQL实现
2025-09-24 17:16:12 +08:00
59b481989c 避免文件过小损坏
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
2025-09-22 09:44:26 +08:00