Commit Graph

907 Commits

Author SHA1 Message Date
5e2fe0329d refactor(task):优化设备照片限制筛选逻辑
- 使用LinkedHashMap和LinkedHashSet保持插入顺序
-重构筛选逻辑,提高代码可读性
- 优化设备样本分组处理流程
- 添加筛选原因追踪功能-保持原有筛选规则和日志记录- 提升代码执行效率和内存使用
2025-10-28 16:21:30 +08:00
6f8b3c8cdf chore(template): 删除空的模板工厂类
- 移除了无用的 TemplateFactory 类定义
- 清理了包声明和空的类结构
- 减少了代码库中的冗余文件
2025-10-28 15:52:08 +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
215a7e87ae feat(face): 添加景区配置控制人脸任务自动创建
- 新增对景区配置中 face_select_first 参数的检查
- 当 face_select_first为 true 时跳过自动创建任务
- 添加相关日志记录以方便调试和追踪
-保留原有自动创建任务逻辑作为默认行为
2025-10-28 15:41:55 +08:00
636ab96e96 feat(scenic): 添加景区配置人脸优先选择功能
- 在AppScenicController中新增faceSelectFirst字段返回
- 在ScenicConfigResp中增加faceSelectFirst属性默认值为false- 支持景区配置中设置人脸识别优先级开关
2025-10-28 15:41:46 +08:00
cc68a8dbbd Merge branch 'refs/heads/result_edit_2'
# Conflicts:
#	src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java
#	src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java
2025-10-28 15:36:32 +08:00
e887fd47f2 feat(scenic): 添加景区配置分享购买前开关
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 在AppScenicController中新增shareBeforeBuy配置返回字段
- 在ScenicConfigResp中增加shareBeforeBuy布尔类型属性
- 默认值设置为true以保持功能开启状态
2025-10-27 19:00:10 +08:00
f07d808f3d feat(printer): 支持上传裁剪参数并更新照片裁剪信息
- 在 AppPrinterController 中新增 crop 参数用于接收裁剪数据
- 修改 PrinterMapper 和 PrinterService 接口及实现,支持保存 crop 字段
- 更新 MemberPrintResp 模型以包含 crop 属性
-优化 Mapper XML 查询语句,统一使用 SELECT p.* 提高可读性
- 数据库更新语句中添加 crop 字段的赋值操作
2025-10-27 16:59:31 +08:00
2a662ae86d feat(printer): 添加打印任务分页查询和重新打印功能- 引入 PageHelper 和 PageInfo 实现分页查询
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 新增 PrintTaskMapper 接口方法 queryByCondition 和 updateStatus
- 扩展 PrintTaskEntity 实体类,新增 mpId 和 paper 字段- 在 PrinterController 中新增 /task/page 和 /task/reprint/{id} 接口- 更新 PrintTaskMapper.xml,添加查询和更新状态的 SQL语句- 优化打印任务插入逻辑,补充 mpId 和 paper 字段赋值
2025-10-27 13:58:59 +08:00
e805fdac9a feat(template): 添加人脸样本和视频源为空时的日志提示
- 在视频源查询为空时添加日志记录- 在人脸样本查询为空时添加日志记录
- 提高代码调试和问题排查的便利性
2025-10-27 13:58:32 +08:00
0db411c2e4 feat(order): 添加打印纸张信息到订单项
- 在 OrderItemVO 中新增 printerPaper 字段
- 根据商品类型查询并设置打印任务的纸张信息
- 优化订单详情接口返回数据结构
2025-10-27 11:22:47 +08:00
27930b1dca feat(printer): 增加打印任务查询功能并完善商品详情展示
- 在 PrinterMapper 中新增 queryTaskByMpId 方法用于查询打印任务
- 扩展 GoodsDetailVO 类,增加打印机名称和纸张类型字段
- 修改 OrderServiceImpl,在商品列表中设置打印机相关信息
- 更新 PrintTaskResp 类,添加纸张类型属性
- 在 PrinterMapper.xml 中实现 queryTaskByMpId 的 SQL 查询逻辑
2025-10-27 10:24:59 +08:00
b3e2601758 添加字段 2025-10-27 09:25:17 +08:00
d9049b8a29 feat(printer): 修改用户照片上传接口返回照片ID
- 将 addUserPhoto 接口的返回值从布尔值改为照片ID
- 更新 AppPrinterController 中上传接口的返回值为照片ID
- 调整 PrinterServiceImpl 实现类中 addUserPhoto 方法返回实体ID- 修改 PrinterService 接口定义,统一返回类型为 Integer
2025-10-27 09:24:59 +08:00
0f0601e5eb feat(order): 根据订单类型设置商品名称
- 为类型3的订单设置商品名为"打印照片"
-为类型4的订单设置商品名为"一体机打印"
- 更新商品列表中的第一个商品名称以匹配订单商品名
2025-10-26 18:46:54 +08:00
0a57eeaeef feat(face): 支持多种人脸搜索结果合并模式
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 新增face_select_post_mode配置,支持三种合并模式
    - 模式0:并集合并(默认),收集所有搜索结果样本ID
    - 模式1:交集合并,只保留所有结果中共有的样本ID
    - 模式2:直接使用用户选择的样本,跳过搜索过程
- 重构mergeSearchResults方法,增加mergeMode参数- 添加computeIntersection方法计算交集逻辑
- 添加createDirectResult方法处理模式2的直接结果
- 更新日志记录,便于追踪不同模式的执行情况
-保持向后兼容,旧调用方式默认使用并集模式
2025-10-24 18:21:17 +08:00
fb637bc7db feat(repository): 处理重复templatePlaceholder时倒序sourceMap列表
- 新增逻辑用于识别重复的templatePlaceholder
- 对于重复的占位符,将其对应的sourceMap列表进行倒序排列
- 保持原有去重逻辑不变
- 添加了对占位符前缀"P"的检查逻辑
2025-10-24 17:12:07 +08:00
ca2b812574 feat(task):优化设备照片数量限制逻辑
- 新增根据样本数量与限制关系的多种处理策略
- 实现去首尾和去尾部的样本筛选逻辑
- 添加按创建时间排序和恢复原始排序的功能
-重构代码结构,提取处理逻辑到独立方法
- 更新日志记录以反映新的处理流程
- 使用 toList() 替代 collect(Collectors.toList()) 提升可读性
2025-10-24 17:05:53 +08:00
841c89af04 refactor(task): 移除视频生成通知的Redis缓存逻辑
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 删除了检查Redis中memberId是否在3分钟内已发送过通知的代码
- 移除了发送成功后设置Redis缓存的逻辑
- 简化了通知发送流程,直接发送消息而不进行缓存控制- 更新了日志记录,移除了缓存相关的调试信息- 保留了核心的通知发送功能和必要的业务逻辑
2025-10-24 16:22:20 +08:00
bed3a4e3c9 feat(printer): 实现任务状态的原子性更新与同步锁机制
- 添加 compareAndSetTaskStatus 方法以支持基于期望状态的任务更新
- 引入 ReentrantLock 实现任务同步处理,防止并发冲突
- 在 XML 映射文件中定义 compareAndSetTaskStatus 的 SQL 更新语句
- 定义任务状态常量:TASK_STATUS_PENDING 和 TASK_STATUS_PROCESSING
- 优化任务获取逻辑,确保任务状态在处理前正确更新为 PROCESSING
2025-10-23 21:24:58 +08:00
3f8b911e6f feat(face): 增加自定义人脸匹配次数限制与记录功能
- 新增常量 FACE_CUSTOM_MATCH_COUNT_PFX 用于记录自定义匹配次数
- 在人脸识别逻辑中增加对自定义匹配次数的读取与限制判断
- 实现 recordCustomMatchCount 方法用于记录自定义匹配调用次数
- 优化原有识别次数获取逻辑,避免重复代码
- 增加 Redis 过期时间设置,确保计数数据自动清理
2025-10-23 18:17:07 +08:00
ea4adcdeb7 feat(kafka): 移除Kafka集成服务
- 删除了KafkaIntegrationService类及其相关逻辑
- 移除了Kafka消息发送和连接测试功能
- 清理了未实现的预留接口方法
- 移除了相关的配置属性获取方法
2025-10-23 16:11:57 +08:00
6242a346ce feat(device): 更新设备响应字段
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 将 deviceNo 和 channelNo 字段替换为 previewUrl 和 previewCoverUrl
- 修改 DeviceRespVO 类中的字段定义- 在 AppScenicServiceImpl 中更新设备配置信息的设置逻辑
2025-10-22 12:19:22 +08:00
2d2ed6fc1b Revert "feat(notification):临时绕过授权检查逻辑"
This reverts commit 927c4955f8.
2025-10-21 22:35:08 +08:00
1b312313b2 feat(face): 增加人脸识别详情与人工调整功能
- 新增人脸识别详情接口,返回系统采纳与被过滤的样本信息
- 新增人工调整识别结果接口,支持用户手动选择或排除样本
- 引入样本过滤原因枚举,用于记录和展示过滤原因
- 重构样本过滤逻辑,增加过滤轨迹追踪功能
- 优化时间范围与设备照片数量限制的过滤实现
- 在搜索结果中增加过滤轨迹信息,便于前端展示
- 添加人脸识别详情VO和样本VO,丰富返回数据结构
- 完善人脸识别相关的请求与响应模型定义
2025-10-21 21:35:06 +08:00
37033f1b16 fix(notify):优化视频通知描述文案
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 简化视频生成完成通知的描述内容
- 调整未购买视频通知的表述方式
- 更新视频即将过期通知的提示语- 统一各类通知的描述风格
2025-10-20 17:11:53 +08:00
7ea78e4a17 refactor(logging): 将视频任务更新检查日志级别从 info 调整为 debug
- 修改 VideoTaskRepository 中的日志记录级别
- 将任务更新检查完成的日志从 info 级别改为 debug 级别
- 保持日志内容和参数不变,仅调整日志级别以减少生产环境日志量
2025-10-20 15:05:28 +08:00
9fcb472717 feat(notify): 增加景区通知模板标题和描述字段
- 在记录用户通知授权接口中将日志级别从 info 调整为 debug
- 在获取景区通知模板及用户授权余额接口中将日志级别从 info 调整为 debug
- 根据不同模板 ID 设置对应的标题和描述信息:
  - 视频生成通知  - 视频下载通知- 视频即将过期通知
  -未知模板类型兜底处理
- 在 ScenicTemplateAuthResp 类中新增 title 和 description 字段用于返回模板信息
2025-10-20 14:58:49 +08:00
70ef4eb09c fix(mapper): 更新用户通知授权检查逻辑
- 将XML中的小于等于符号从<=更正为&lt;=
- 确保SQL语句在XML文件中正确转义
- 避免因特殊字符导致的解析错误
2025-10-20 13:18:45 +08:00
58224a03c5 refactor(logging): 调整日志级别并移除冗余日志
- 将人脸识别成功日志从 info 级别调整为 debug 级别- 将 ZT-Source 消息处理成功日志从 info 级别调整为 debug 级别
- 移除 ZT-Source 照片素材保存成功的冗余 info 日志输出
2025-10-20 13:15:03 +08:00
927c4955f8 feat(notification):临时绕过授权检查逻辑
- 注释掉原有的授权次数检查和消费逻辑
- 直接返回 true 用于测试目的
- 保留原逻辑代码以备后续恢复
2025-10-20 13:15:03 +08:00
27f356519e feat(notification): 引入通知授权检查机制
- 在任务服务中集成通知授权工具类
- 实现视频生成通知前的权限校验逻辑- 在下载通知任务中增加授权消费检查- 添加过期提醒及额外下载通知的权限控制
- 完善无授权时的日志记录与处理流程
2025-10-20 13:15:03 +08:00
c80086ba69 feat(notify): 支持批量授权记录及景区模板查询
- 新增批量授权记录接口,支持一次请求处理多个模板ID
- 新增查询景区通知模板及用户授权余额接口
- 修改授权记录请求体,将单个templateId改为templateIds列表
- 增加授权记录响应结构,区分成功与失败记录
- 新增通知授权工具类,封装常用授权检查与消费方法
- 使用JwtTokenUtil获取当前用户ID替代BaseContextHandler
- 移除过时的BaseContextHandler导入及相关代码依赖
2025-10-20 13:15:02 +08:00
86d5f8ceb1 refactor(notify): 重构用户通知授权控制器以适应新的上下文处理器
- 将 JwtInfo 替换为 BaseContextHandler 来获取用户ID
- 更新 ResponseData 类型为 ApiResponse
- 修改 member ID 的获取方式为从 BaseContextHandler 中解析
- 使用 Jakarta Validation 注解替换旧的校验注解
- 调整 import 包路径以匹配新架构
2025-10-20 13:15:02 +08:00
ff708a3fc3 refactor(notify):重构通知授权模块,移除外部接口
- 移除用户通知授权检查、消费和记录查询的外部接口
- 废弃相关请求和响应 DTO 类文件
- 将授权检查和统计功能迁移至内部服务调用
- 新增批量检查授权方法 batchCheckAuthorization- 新增获取用户授权统计信息方法 getAuthorizationStats
- 更新 UserNotificationAuthorizationService 接口定义- 优化 ServiceImpl 中的数据处理逻辑和引入 Collectors 工具类
2025-10-20 13:15:02 +08:00
44b20890d5 feat(notify): 新增用户通知授权管理功能
- 添加用户通知授权记录的完整CRUD操作
- 实现授权次数的记录与消费逻辑
- 提供授权状态检查与剩余次数查询接口
- 支持按用户、模板或景区维度查询授权记录
- 新增授权统计信息接口,包括总授权数、消费数等
- 完成移动端相关请求/响应DTO定义
- 集成MyBatis Mapper实现数据持久化操作
- 添加服务层事务控制确保操作一致性
2025-10-20 13:15:02 +08:00
19ca91778f fix(pricing): 调整一口价优惠默认支持逻辑
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 修改默认情况下不支持一口价优惠
- 更新异常处理逻辑,异常时默认返回不支持
-修复日志描述与实际逻辑不符的问题
2025-10-20 11:18:18 +08:00
e5a58ae757 feat(source): 添加缩略图URL字段支持
- 在SourceController中移除了@Deprecated注解
- 在SourceMapper.xml的多个查询SQL中增加了thumb_url字段
- 更新了list、userGetById、getById、listUserOne和queryByRelation等方法的SELECT语句- 确保所有相关接口能够返回thumb_url数据
- 改动涉及视频源分页查询及相关详情获取逻辑
2025-10-20 10:40:08 +08:00
602eb84f9c feat(video): 添加缩略图URL设置功能
- 在视频片段获取器中新增缩略图URL字段
- 完善图片源信息的处理逻辑- 提高视频资源信息的完整性
2025-10-20 10:29:44 +08:00
8d24e7f9e5 feat(source): 添加缩略图URL字段并优化商品详情展示逻辑
- 在 SourceRespVO 中新增 thumbUrl 字段用于存储缩略图地址- 修改 GoodsServiceImpl 中的商品详情封面图设置逻辑,优先使用缩略图
- 更新 SourceMapper.xml 查询语句,增加 thumb_url 字段的查询支持
2025-10-20 10:20:12 +08:00
8eed685373 feat(source): 添加缩略图字段支持
- 在SourceEntity中新增thumbUrl字段用于存储缩略图地址- 在ZTSourceDataService中设置缩略图URL并优化裁剪配置逻辑
- 更新SourceMapper.xml中的SQL语句以支持缩略图字段的插入和更新
- 移除不必要的URL查询条件以提高查询灵活性
2025-10-20 10:05:22 +08:00
2b79302874 feat(printer): 引入唯一处理标识符避免文件冲突
- 添加 UUID 依赖以生成唯一标识符
-为打印任务生成唯一处理 ID,防止多线程文件名冲突
- 更新原图、水印图及旋转图片的文件命名逻辑
- 确保每个打印任务使用独立的临时文件名
2025-10-16 15:37:51 +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
658e741611 feat(printer): 添加图片方向检测与自动旋转功能
- 引入 ImageUtils 工具类处理图片旋转逻辑
- 实现打印前对竖图自动旋转为横图处理
- 完成水印处理后将图片旋转回原始方向-优化临时文件清理逻辑,确保所有中间文件被删除
- 添加图片方向判断方法 isLandscape- 新增图片旋转90度和270度的工具方法
2025-10-15 18:53:28 +08:00
d5cd1924f5 feat(task): 添加视频生成通知防重机制- 新增Redis缓存键VIDEO_NOTIFICATION_CACHE_KEY用于记录通知发送状态
- 设置通知发送间隔为2分钟,防止重复发送
- 在发送通知前检查缓存,若3分钟内已发送则跳过- 发送成功后更新Redis缓存并设置过期时间
- 添加相关日志记录以方便追踪通知发送情况
2025-10-15 18:43:54 +08:00
645afbaf0c feat(printer): 添加打印照片水印处理功能
- 引入图片水印处理相关依赖和工具类
- 实现根据景区配置动态添加水印逻辑
- 支持从配置中读取存储类型和水印类型
- 下载原始图片并应用水印处理
- 将处理后的水印图片上传至指定存储服务
- 打印任务使用水印图片URL替代原始URL
- 增加异常失败时回处理确保水印退到原始图片- 清理处理过程中产生的临时文件
2025-10-15 17:37:26 +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
29f4bbf2d8 feat(message): 添加ZT消息生产者空实现服务
- 创建 ZtMessageProducerNoOpService 类作为 Kafka 禁用时的替代实现- 实现 ConditionalOnProperty 注解,当 kafka.enabled=false 时激活该服务- 覆写 send 方法,仅记录日志而不实际发送消息
- 添加构造函数以满足父类依赖要求
- 提供详细注释说明服务用途和实现逻辑
2025-10-14 20:28:00 +08:00