Commit Graph

397 Commits

Author SHA1 Message Date
c3fcfdd633 ```
style(app): 调整日期格式显示

- 将日期时间格式从 yyyy-MM-dd HH:mm 修改为 yyyy-MM-dd
```
2026-01-20 18:51:52 +08:00
9a31e71e42 refactor(coupon): 移除优惠券相关模块代码
- 删除优惠券控制器相关类,包括 AppCouponController 和 CouponController
- 移除优惠券记录控制器 CouponRecordController
- 删除优惠券数据访问层接口及实现类
- 移除优惠券相关的实体类、请求响应对象
- 清理业务逻辑层中与优惠券相关的服务接口及实现
- 从 PriceBiz 中移除优惠券相关导入依赖
- 从任务类 DownloadNotificationTasker 中移除优惠券相关导入
- 删除优惠券相关的 MyBatis 映射文件
2026-01-20 16:30:47 +08:00
42bf3d3d0a refactor(puzzle): 优化拼图记录查询逻辑
- 移除 BigDecimal 导入并修改拼图数量统计方式
- 使用关联表查询替换直接的数量统计方法
- 更新拼图记录查询逻辑,通过关联表获取数据
- 添加对空值的过滤处理确保数据完整性
- 修改内容页面转换方法,支持免费状态判断
- 删除价格计算相关依赖和服务调用
- 添加 MemberPuzzleEntity 和 FreeStatus 常量支持
- 从关联记录读取免费状态替代价格计算逻辑
2026-01-20 11:24:57 +08:00
c42474256e fix(LyCompatibleController): 修复视频列表获取逻辑
- 修改了ContentPageVO的获取方式,使用filter过滤掉contentId为null的记录
- 使用findFirst替换getFirst避免空指针异常
- 确保只有有效的contentId才会被用于后续的视频查询操作
2026-01-19 19:32:09 +08:00
63180159d2 feat(puzzle): 实现免费拼图下载时自动添加水印功能
- 在AppPuzzleController中新增水印相关依赖注入
- 添加免费拼图判断逻辑,区分付费与免费拼图下载流程
- 实现addWatermarkForFreePuzzle方法处理水印添加
- 集成景区信息、人脸信息、二维码等水印模板数据
- 添加水印任务创建与等待机制,支持30秒超时处理
- 增加水印操作的日志记录与异常处理机制
- 优化免费拼图下载的安全性保护措施
2026-01-19 18:58:08 +08:00
1f7e6d69f4 fix(app): 修复拼图记录ID传递问题
- 将硬编码的0L替换为实际的recordId参数
- 确保拼图记录能够正确关联到puzzle_record表
- 移除打印特有标识注释,统一使用拼图记录ID逻辑
2026-01-17 03:05:07 +08:00
830dd17071 feat(printer): 添加自定义打印图片URL功能
- 在CreateVirtualOrderRequest中新增printImgUrl字段
- 修改createVirtualOrder方法支持自定义打印图片URL参数
- 实现当提供printImgUrl时优先使用该URL进行打印
- 更新服务接口和实现类以支持新的参数传递
- 添加相应的文档注释说明新功能特性
2026-01-16 18:30:39 +08:00
83e47ed843 refactor(goods): 移除预览功能并优化水印处理逻辑
- 移除了 sourceGoodsListPreview 接口及相关实现
- 新增 WatermarkEdgeService 和 FaceService 依赖注入
- 实现边缘端水印处理支持,包含降级机制
- 优化二维码和头像文件处理流程
- 统一水印处理的异常处理和资源清理逻辑
2026-01-16 17:19:31 +08:00
8c76a4fb03 refactor(printer): 简化人脸二维码生成逻辑
- 移除原有的复杂二维码生成和文件操作代码
- 使用 pcFaceService.bindWxaCode 方法替代
- 直接重定向到生成的二维码 URL
- 消除临时文件创建和删除操作
- 简化 HTTP 响应处理流程
2026-01-16 16:26:47 +08:00
d15d070cb4 refactor(puzzle): 重构拼图功能实现会员拼图关联管理
- 移除原有的图片裁切功能和userArea字段
- 删除originalImageUrl字段,统一使用resultImageUrl
- 添加MemberPuzzleEntity实体类管理会员拼图关联关系
- 创建MemberPuzzleMapper接口及XML映射文件
- 实现PuzzleRelationProcessor处理器负责关联记录创建
- 在拼图生成完成后自动创建会员拼图关联记录
- 添加景区配置中的免费拼图数量设置
- 实现免费拼图逻辑控制
- 更新拼图模板和生成记录的数据结构
- 修改AppPuzzleController中图片URL的获取方式
- 优化PuzzleEdgeRenderTaskService中的图片处理流程
2026-01-16 11:23:21 +08:00
fb4568721a feat(template): 添加景区模板封面接口的token忽略注解
- 在AppTemplateController中导入IgnoreToken注解
- 为getScenicTemplateCoverUrls方法添加@IgnoreToken注解以允许匿名访问
- 确保景区模板封面获取接口无需身份验证即可访问
2026-01-15 18:25:28 +08:00
63d31d69a9 feat(puzzle): 实现拼图模板缓存功能
- 集成 PuzzleRepository 缓存层替代直接数据库查询
- 在 PriceBiz 中使用缓存查询拼图模板数据
- 在 AppTemplateController 中添加景区模板封面URL批量获取接口
- 在 PuzzleTemplateServiceImpl 中实现模板增改时的缓存清理逻辑
- 在 FaceServiceImpl 中使用缓存查询拼图模板
- 优化模板查询性能并减少数据库压力
2026-01-15 17:01:17 +08:00
fed92c5445 feat(face): 添加人脸绑定功能
- 实现了 faceId 绑定接口
- 集成了人脸识别服务匹配功能
- 添加了绑定状态参数支持
2026-01-14 21:59:56 +08:00
c4b78f1b09 fix(puzzle): 修复拼图记录图片URL获取错误
- 将resultImageUrl替换为originalImageUrl以正确获取原始图片URL
- 修正了拼图记录中图片URL为空时的错误提示逻辑
- 确保拼图功能能够正确处理原始图片URL而非结果图片URL
2026-01-10 20:29:10 +08:00
c9cc90c842 feat(notify): 添加批量查询用户授权余额功能
- 新增批量查询用户授权余额接口 /api/mobile/notify/auth/batch-remaining
- 实现批量检查用户对多个模板的授权记录功能
- 添加景区所有场景及模板列表查询接口并支持缓存
- 优化授权记录查询性能,使用批量查询替代逐个查询
- 新增批量查询请求对象 BatchRemainingCountReq 和响应对象 WechatSubscribeAllScenesResp
- 在数据层添加批量查询用户授权记录的 SQL 映射
- 实现缓存管理机制,支持所有场景模板配置的缓存读写与清理
2026-01-10 17:30:48 +08:00
02f1392355 feat(printer): 添加人脸图片URL重定向功能
- 实现通过人脸样本ID重定向到人脸图片URL的功能
- 实现通过人脸ID重定向到人脸图片URL的功能
- 添加404状态码处理当人脸数据不存在或URL为空的情况
- 使用response.sendRedirect实现URL重定向逻辑
2026-01-10 14:59:58 +08:00
d02aca9bf1 chore(AppFaceController): 移除人脸绑定功能的实现代码
- 注释掉 JWT 用户信息获取逻辑
- 移除人脸服务绑定调用
- 添加临时占位注释替代原有业务逻辑
2026-01-10 14:47:58 +08:00
74c146c104 feat(printer): 添加图像增强功能支持
- 在CreateVirtualOrderRequest中新增needEnhance字段
- 修改createVirtualOrder方法支持图像增强参数传递
- 更新setUserIsBuyItem方法以支持图像增强选项
- 在processPhotoWithPipeline调用中传入图像增强参数
- 为虚拟订单创建流程添加图像增强功能支持
2026-01-10 14:12:25 +08:00
e896f58d82 perf(notify): 优化微信订阅消息配置查询性能
- 为微信订阅消息配置接口添加 Redis 缓存支持
- 在 WechatSubscribeNotifyConfigRepository 中实现缓存读写和清除机制
- 修改 Controller 层接口添加 @IgnoreToken 注解支持匿名访问
- 优化查询逻辑,添加 memberId 为空时的提前返回处理
- 在管理服务中添加缓存清除逻辑,确保配置变更时缓存同步更新
- 实现批量缓存清除功能,支持按景区和全局范围清除缓存
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
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
da2286bc80 Merge branch 'notify_v2' 2026-01-06 11:30:52 +08:00
32297dc29c refactor(printer): 优化人脸素材查询逻辑
- 移除不必要的MemberSourceEntity和相关Repository依赖
- 将数据查询逻辑从Repository层迁移到Mapper层
- 添加type参数支持素材类型过滤
- 修复方法注释中的人脸ID描述错误
- 直接返回SourceEntity列表避免额外的转换操作
2026-01-03 23:46:58 +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
85599aa84a feat(pc): 添加外部工具上报视频连续性检查结果接口
- 添加 @IgnoreToken 注解支持无需认证的上报功能
- 新增 reportContinuityResult 方法处理外部工具上报请求
- 实现根据设备编号查询设备ID的逻辑
- 添加视频连续性检查结果的缓存存储功能
- 支持间隙信息的转换和存储到Redis
- 设置24小时缓存TTL策略
- 完善日志记录和异常处理机制
2025-12-30 10:45:04 +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
1916dd96a2 feat(video): 添加移动端HLS视频流播放列表生成功能
- 实现AppVideoStreamController提供HLS播放列表生成接口
- 添加HlsStreamRequest和HlsStreamResponse数据传输对象
- 实现HlsStreamService服务类处理视频流逻辑
- 支持生成JSON格式和m3u8文件格式的播放列表
- 提供视频片段查询和设备视频HLS播放列表生成功能
- 支持EVENT和VOD两种播放列表类型
- 集成设备存储操作器获取视频文件列表
- 实现播放列表内容构建和视频片段时长计算功能
2025-12-26 15:37:22 +08:00
c583d4b007 feat(video): 添加通过faceId查询最新视频记录功能
- 在AppVideoController中新增getLatestByFaceId接口
- 添加VideoRespVO响应对象导入
- 实现通过faceId和可选templateId查询最新视频记录的功能
- 在VideoMapper中定义queryLatestByFaceIdAndTemplateId方法
- 在VideoRepository中实现查询逻辑
- 在VideoMapper.xml中添加对应的SQL查询语句
- 支持根据faceId和templateId条件查询最新视频记录
- 添加相应的日志记录和异常处理机制
2025-12-26 15:35:27 +08:00
50ee14cf8f feat(mobile): 添加移动端模板接口
- 实现了 AppTemplateController 控制器
- 添加了根据模板ID获取封面URL的接口
- 集成了 TemplateRepository 数据访问层
- 实现了模板ID参数校验逻辑
- 添加了模板不存在的错误处理
- 实现了封面URL为空的验证机制
2025-12-24 10:31:13 +08:00
3c8b3b0ace refactor(printer): 重构人脸素材查询接口
- 移除对SourceMapper的依赖
- 新增MemberRelationRepository和SourceRepository依赖
- 修改getSourceByFaceSampleId方法参数faceSampleId为faceId
- 方法返回类型由SourceEntity改为List<SourceEntity>
- 使用memberRelationRepository查询关联素材
- 当查询结果为空时返回空集合而非失败响应
- 通过sourceRepository获取具体资源信息并转换返回
2025-12-18 19:40:24 +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
9e6b623b0e feat(printer): 优化打印机大屏人脸识别接口
- 移除多余依赖和字段声明
- 简化人脸识别逻辑,复用 faceUpload 方法
- 保留人脸去重检测和自动添加打印逻辑
- 修改返回结构为 FaceRecognizeResp
- 删除旧有的照片上传与素材查询流程
2025-12-17 23:12:49 +08:00
6c404e210e feat(source): 新增虚拟订单创建接口
- 添加 createVirtualOrder 接口用于后台创建0元订单
- 引入 PrinterService 和相关请求实体类
- 支持通过 sourceId、scenicId 和 printerId 创建订单
- 实现异常捕获并返回失败响应
- 扩展 SourceController 功能模块
2025-12-17 22:09:27 +08:00
25681806c3 feat(printer): 支持查询不同类型的图像素材
- 为getSourceByFaceSampleId接口添加type参数,默认值为2
- 修改sourceMapper调用,传入动态type参数
- 移除未使用的scenicService和faceService依赖
- 引入Map类但尚未使用,可能为后续功能预留
2025-12-17 22:08:58 +08:00
c8560e3aca fix(video): 修复任务状态查询逻辑并优化Redis过期策略
- 修改人脸模板渲染状态存储逻辑,增加默认过期时间
- 移除AppTaskController中冗余的JwtInfo获取代码
- 优化GoodsServiceImpl中任务状态判断逻辑,增强空值检查
- 修复视频任务状态返回不准确的问题,完善边界条件处理
2025-12-17 16:42:09 +08:00
00890c764e feat(basic): 添加模板片段更新状态缓存支持
- 在FaceStatusManager中新增按模板ID区分的人脸片段更新状态缓存键
- 更新TaskTaskServiceImpl以设置模板渲染状态
- 在任务回调逻辑中增加对模板渲染状态的更新操作
- 修改任务删除逻辑为更新状态加10的临时解决方案
- 移除旧有的切割任务状态更新逻辑,统一使用模板渲染状态管理
2025-12-17 15:49:24 +08:00
c1f35e1f3a Merge branch 'profitshare' 2025-12-16 10:45:30 +08:00
c0f07ee9f4 refactor(task): 重构任务拍摄时间获取逻辑
- 将 getTaskShotDate 方法从 TaskTaskServiceImpl 移至 VideoTaskRepository
- 删除对 TaskService 和 TaskTaskServiceImpl 的依赖注入
- 更新 LyCompatibleController 和 GoodsServiceImpl 中的调用方式
- 简化日期解析逻辑,提高代码可读性
- 移除冗余的 VideoMapper 和 TaskService 接口方法声明
- 统一使用 VideoTaskRepository 处理任务相关数据查询
2025-12-15 17:33:40 +08:00
832f6a2339 refactor(order): 简化faceId获取逻辑
- 移除通过task获取faceId的中间步骤
- 直接从video实体获取faceId
- 更新相关服务和控制器中的调用逻辑
- 优化日志记录中的faceId来源
- 提高代码可读性和执行效率
2025-12-15 17:29:53 +08:00
0665eef37d feat(videoreview): 添加视频购买状态检查功能
- 在VideoReviewController中新增/check-purchase接口用于检查视频是否被购买
- 扩展OrderMapper接口,增加根据视频ID和模板ID查询订单ID的方法
- 在VideoReviewServiceImpl中实现checkVideoPurchase方法,支持两种购买方式判断
- 完善相关DTO类引入及Mapper XML配置文件的SQL查询逻辑
- 实现直接购买视频和通过模板购买的双重购买状态检测机制
- 添加详细的日志记录便于后续追踪与调试
2025-12-15 16:49:20 +08:00
398a3750f8 todo: 逻辑弄反了 2025-12-14 12:20:48 +08:00
07987835ec fix(face): 修复人脸购买逻辑判断问题
- 修改AppPuzzleController中的人脸购买判断逻辑
- 增加对景区是否购买的前置判断
- 优化FaceServiceImpl中的人脸购买状态设置逻辑
- 确保模板购买状态的准确判断
- 避免重复查询价格计算服务
2025-12-13 23:47:29 +08:00
af131131ed fix(task): 修改任务创建接口中的自动标志参数类型
- 将 createTaskByFaceIdAndTemplateId 方法的 automatic 参数从 int 改为 boolean
- 更新方法实现以适配新的布尔值参数
- 移除无用的导入类和未使用的代码
- 调整任务实体中 automatic 字段的赋值逻辑以匹配新类型
- 删除已弃用的旧版重载方法
- 确保所有调用点传递正确的布尔值而非整数
- 优化代码结构并提高可读性
2025-12-13 19:19:21 +08:00
3b11ddef6a feat(chat): 实现人脸智能聊天核心功能
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 新增小程序人脸聊天控制器 AppChatController,支持会话创建、消息收发、历史查询及会话关闭
- 集成智谱 GLM 模型客户端 GlmClient,支持流式文本生成与回调
- 新增聊天会话与消息实体类及 MyBatis 映射,实现数据持久化
- 提供 FaceChatService 接口及实现,封装聊天业务逻辑包括同步/流式消息发送
- 引入 zai-sdk 依赖以支持调用智谱 AI 大模型能力
- 支持基于人脸 ID 的唯一会话管理与用户权限校验
- 消息记录包含角色、内容、追踪 ID 及延迟信息,便于调试与分析
2025-12-11 17:45:49 +08:00
6e7b4729a8 feat(ai-cam): 新增使用人脸样本创建或获取Face记录功能
- 在AppAiCamController中新增/useSample/{faceSampleId}接口
- 实现通过人脸样本ID查找或创建Face记录的业务逻辑
- 自动关联AI相机照片到用户人脸记录
- 支持AI_CAM设备类型的二维码路径配置
- 完善人脸匹配及日志记录功能
- 添加相关实体类和工具类导入依赖
2025-12-09 16:20:50 +08:00
1834fe3ddd feat(order): 添加订单可下载状态查询接口
- 在AppOrderV2Controller中引入RedisTemplate依赖
- 新增/downloadable/{orderId} GET接口
- 通过检查Redis键值判断订单是否可下载
- 返回ApiResponse包装的布尔值表示下载状态
2025-12-06 21:23:58 +08:00