|
|
83e47ed843
|
refactor(goods): 移除预览功能并优化水印处理逻辑
- 移除了 sourceGoodsListPreview 接口及相关实现
- 新增 WatermarkEdgeService 和 FaceService 依赖注入
- 实现边缘端水印处理支持,包含降级机制
- 优化二维码和头像文件处理流程
- 统一水印处理的异常处理和资源清理逻辑
|
2026-01-16 17:19:31 +08:00 |
|
|
|
8198b0c537
|
feat(watermark): 添加拼图水印模板构建器
- 实现拼图默认水印模板构建器,支持原图区域和底部信息区域布局
- 实现拼图打印水印模板构建器,增加四周白边设计
- 配置二维码、头像、景区名和日期时间的文字布局
- 支持动态数据绑定和图片元素的COVER模式显示
- 提供可选的头像圆形裁剪功能和右对齐文字显示
|
2026-01-16 16:16:59 +08:00 |
|
|
|
27a18096b5
|
feat(face): 添加小程序码异步预生成功能
- 在人脸创建后异步预生成小程序码,提升后续获取速度
- 实现小程序码文件按日期目录存储优化文件管理
- 添加阿里云OSS内网域名替换为公网域名的逻辑
- 增加小程序码文件存在性检查避免重复生成
- 添加异步任务异常处理和日志记录机制
- 优化文件路径命名规则提高系统可维护性
|
2026-01-16 11:59:01 +08:00 |
|
|
|
d15d070cb4
|
refactor(puzzle): 重构拼图功能实现会员拼图关联管理
- 移除原有的图片裁切功能和userArea字段
- 删除originalImageUrl字段,统一使用resultImageUrl
- 添加MemberPuzzleEntity实体类管理会员拼图关联关系
- 创建MemberPuzzleMapper接口及XML映射文件
- 实现PuzzleRelationProcessor处理器负责关联记录创建
- 在拼图生成完成后自动创建会员拼图关联记录
- 添加景区配置中的免费拼图数量设置
- 实现免费拼图逻辑控制
- 更新拼图模板和生成记录的数据结构
- 修改AppPuzzleController中图片URL的获取方式
- 优化PuzzleEdgeRenderTaskService中的图片处理流程
|
2026-01-16 11:23:21 +08:00 |
|
|
|
63d31d69a9
|
feat(puzzle): 实现拼图模板缓存功能
- 集成 PuzzleRepository 缓存层替代直接数据库查询
- 在 PriceBiz 中使用缓存查询拼图模板数据
- 在 AppTemplateController 中添加景区模板封面URL批量获取接口
- 在 PuzzleTemplateServiceImpl 中实现模板增改时的缓存清理逻辑
- 在 FaceServiceImpl 中使用缓存查询拼图模板
- 优化模板查询性能并减少数据库压力
|
2026-01-15 17:01:17 +08:00 |
|
|
|
93e28828ad
|
fix(statistics): 修复统计数据合并中的类型转换问题
- 将订单数据转为 Map 时使用 String.valueOf 处理 Object 类型数值
- 在合并数据时对时间键和金额字段进行字符串类型转换
- 防止因数值类型不匹配导致的数据丢失问题
|
2026-01-12 22:36:00 +08:00 |
|
|
|
f8c6604a8a
|
refactor(statistics): 切换数据查询服务并优化扫码统计功能
- 将 BrokerBiz 和 OrderBiz 中的数据查询从 StatisticsMapper 切换到 StatsQueryService
- 更新 StatisticsServiceImpl 使用 StatsQueryService 进行数据查询
- 添加订单数据合并功能到扫码统计图表中
- 重构扫码统计查询逻辑以支持统计数据和订单数据的合并显示
- 新增按小时和按日期统计订单数据的查询方法
- 优化 SQL 查询以分离统计数据和订单数据的查询逻辑
|
2026-01-12 18:30:27 +08:00 |
|
|
|
6ca7dceb0e
|
feat(wechat): 支持微信订阅消息模板渲染嵌套数据结构
- 实现renderValue方法支持递归渲染Map类型的值
- 添加对非字符串类型值的直接返回处理
- 在任务服务中根据分组配置动态设置视频结果页面变量
- 为分组启用场景添加travelVideoCenter页面配置
- 为非分组场景保留videoSynthesis页面配置
|
2026-01-12 12:54:26 +08:00 |
|
|
|
e56c2e6642
|
refactor(printer): 移除 WebSocket 任务推送功能
- 删除 PrinterTaskPushService 接口及其实现类
- 移除 WebSocketConfig 配置类及 PrinterWebSocketHandler 处理器
- 删除 WebSocket 相关模型类包括 WsMessage、WsMessageType、ErrorData、TaskAckData
- 移除 PrinterConnectionManager 连接管理器
- 从 PrinterServiceImpl 中删除 taskPushService 的依赖注入
- 移除创建打印任务时的 WebSocket 推送逻辑
- 移除审核通过任务的 WebSocket 推送逻辑
- 移除重新打印任务的 WebSocket 推送逻辑
|
2026-01-11 22:24:14 +08:00 |
|
|
|
31b9220a32
|
feat(notification): 添加视频任务统计信息到微信订阅通知
- 在任务服务中添加视频设备数量、镜头数量和拍摄时间变量
- 注入VideoTaskRepository依赖以获取任务统计数据
- 更新下载通知任务器中的变量映射逻辑
- 格式化日期时间为yyyy-MM-dd HH:mm格式
- 移除未使用的导入和重复的依赖注入
|
2026-01-10 20:30:15 +08:00 |
|
|
|
c9cc90c842
|
feat(notify): 添加批量查询用户授权余额功能
- 新增批量查询用户授权余额接口 /api/mobile/notify/auth/batch-remaining
- 实现批量检查用户对多个模板的授权记录功能
- 添加景区所有场景及模板列表查询接口并支持缓存
- 优化授权记录查询性能,使用批量查询替代逐个查询
- 新增批量查询请求对象 BatchRemainingCountReq 和响应对象 WechatSubscribeAllScenesResp
- 在数据层添加批量查询用户授权记录的 SQL 映射
- 实现缓存管理机制,支持所有场景模板配置的缓存读写与清理
|
2026-01-10 17:30:48 +08:00 |
|
|
|
05e269a305
|
fix(printer): 修复虚拟订单二维码生成问题
- 添加会员信息查询逻辑
- 实现虚拟订单使用无限二维码生成功能
- 非虚拟订单保持原有二维码生成方式
- 解决faceId绑定页面路径参数传递问题
|
2026-01-10 14:46:39 +08:00 |
|
|
|
74c146c104
|
feat(printer): 添加图像增强功能支持
- 在CreateVirtualOrderRequest中新增needEnhance字段
- 修改createVirtualOrder方法支持图像增强参数传递
- 更新setUserIsBuyItem方法以支持图像增强选项
- 在processPhotoWithPipeline调用中传入图像增强参数
- 为虚拟订单创建流程添加图像增强功能支持
|
2026-01-10 14:12:25 +08:00 |
|
|
|
42000df311
|
feat(order): 添加照片日记产品类型的价格计算支持
- 新增 case 5 分支处理照片日记产品类型
- 创建 PhotoLog 产品的价格计算请求对象
- 设置产品类型为 PHOTO_LOG 并配置相关参数
- 调用价格计算服务获取最终价格和原价
- 设置价格对象的 faceId 和 scenicId 字段
- 实现仅查询价格不使用优惠的预览模式
|
2026-01-09 22:58:29 +08:00 |
|
|
|
8b7f3d8eae
|
fix(face-matching): 修复无人脸匹配结果时切片状态未更新问题
- 无匹配结果时将切片状态设置为已完成,避免前端一直显示"合成中"
- 确保人脸状态管理器正确更新切片状态为COMPLETED
|
2026-01-09 22:18:44 +08:00 |
|
|
|
3ff76a0bea
|
fix(goods): 修复商品服务中视频任务状态返回逻辑
- 检查是否有完成的模板,如果没有则返回待处理状态
- 在计数为0时提前返回响应,避免后续处理逻辑执行
|
2026-01-08 14:37:31 +08:00 |
|
|
|
5952390093
|
fix(service): 修复视频任务状态和内容ID设置问题
- 修复当完成数量小于等于0时视频任务状态设置为待处理
- 调整内容页面VO中内容ID的设置顺序以确保正确赋值
|
2026-01-08 11:11:47 +08:00 |
|
|
|
e896f58d82
|
perf(notify): 优化微信订阅消息配置查询性能
- 为微信订阅消息配置接口添加 Redis 缓存支持
- 在 WechatSubscribeNotifyConfigRepository 中实现缓存读写和清除机制
- 修改 Controller 层接口添加 @IgnoreToken 注解支持匿名访问
- 优化查询逻辑,添加 memberId 为空时的提前返回处理
- 在管理服务中添加缓存清除逻辑,确保配置变更时缓存同步更新
- 实现批量缓存清除功能,支持按景区和全局范围清除缓存
|
2026-01-07 17:40:58 +08:00 |
|
|
|
3291371dd7
|
feat(puzzle): 添加景区模板列表缓存功能
- 新增景区模板列表缓存KEY常量PUZZLE_TEMPLATES_BY_SCENIC_KEY
- 在清除模板缓存时同步清除对应景区的模板列表缓存
- 实现listTemplateByScenic方法根据景区ID获取启用模板列表并缓存
- 实现clearTemplateByScenicCache方法清除景区模板列表缓存
- 重构人脸匹配编排器使用新的缓存方法替代原有数据库查询
- 移除过期的redisTemplate依赖
|
2026-01-07 17:40:58 +08:00 |
|
|
|
917668da0c
|
refactor(puzzle): 优化拼图模板生成逻辑
- 移除 Redis 缓存检查机制
- 改用 PuzzleRepository 直接查询拼图模板数据
- 更新日志记录格式,使用 e.getMessage() 替代完整异常对象
- 调整依赖注入顺序,添加 PuzzleRepository 注入
- 简化模板列表查询逻辑,提升代码可读性
|
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 |
|
|
|
123a081eab
|
refactor(notifications): 重构通知系统使用统一的微信订阅通知触发服务
- 移除 UserNotificationAuthController 中的 getScenicTemplatesWithAuth 方法
- 从 ScenicRepository 中删除微信模板ID相关方法和配置
- 重命名 WechatSubscribeNotifyTriggerService 为 notifyTriggerService
- 更新 TaskTaskServiceImpl 中的视频生成通知逻辑
- 重构 DownloadNotificationTasker 中的通知发送方式
- 统一使用 WechatSubscribeNotifyTriggerRequest 和 WechatSubscribeNotifyTriggerResult
- 移除 ZT 消息服务相关代码
- 简化变量传递和通知模板逻辑
|
2026-01-06 15:35:09 +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 |
|
|
|
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 |
|
|
|
8d3dae32f3
|
feat(task): 添加版本校验和任务重分配功能
- 实现版本号比较方法,支持版本号大小判断
- 添加客户端版本校验逻辑,防止低版本上报覆盖高版本缓存
- 增加任务重分配功能,在更新旧任务时解除任务分配
- 修复worker状态处理中的版本冲突问题
|
2026-01-05 11:54:07 +08:00 |
|
|
|
aec5e57df7
|
feat(database): 迁移统计数据查询到ClickHouse
- 添加ClickHouse数据源配置和相关依赖
- 实现ClickHouse统计查询服务和MySQL兜底方案
- 新增扫码统计、订单统计等数据查询接口
- 重构分销员数据统计逻辑,整合MySQL和ClickHouse数据源
- 更新应用配置文件以支持ClickHouse启用开关
- 修改分布式任务统计以支持跨库查询场景
|
2026-01-04 10:34:17 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|