|
|
2fd852c5c6
|
feat(puzzle): 增强拼图填充引擎功能
- 新增 requireRuleMatch 参数控制是否必须匹配规则
- 重构 DeviceCountConditionStrategy 支持两种匹配模式
- 移除已废弃的 DeviceCountRangeConditionStrategy
- 引入 FillResult 类封装填充结果信息
- 优化条件上下文和数据源上下文的 extra 字段类型
- 更新相关测试用例和文档说明
|
2025-11-20 15:11:13 +08:00 |
|
|
|
aaa8d8310a
|
feat(source): 新增根据人脸和设备ID获取素材的功能
- 在SourceMapper接口中新增getSourceByFaceAndDeviceId方法
- 支持通过faceId、deviceId、type和排序策略查询特定素材
- 在XML映射文件中实现对应的SQL查询逻辑
- 支持多种排序策略:最新、最早、评分降序、评分升序、随机和已购买优先
- 查询结果限制为一条记录
|
2025-11-20 14:55:28 +08:00 |
|
|
|
8d2d0901fd
|
feat(face): 添加景区名称和日期到动态数据
- 引入日期工具类以支持日期格式化
- 在基础动态数据中增加景区名称字段
- 添加当前日期字符串到基础动态数据
- 为后续模板生成提供更丰富的上下文信息
|
2025-11-20 13:51:04 +08:00 |
|
|
|
d1381c93b0
|
feat(puzzle): 更新拼图元素填充引擎执行方法参数
- 在engine.execute方法调用中增加scenicId参数
- 修改测试用例以适应新的方法签名
- 确保所有相关测试验证逻辑正确性
- 更新PuzzleGenerateServiceImplTest中的fillEngine调用参数
- 调整verify语句匹配新参数列表
- 保持原有功能逻辑不变仅扩展参数传递
|
2025-11-20 11:41:22 +08:00 |
|
|
|
536f2866f6
|
feat(puzzle): 添加统计人脸ID生成记录数量功能
- 在PuzzleGenerationRecordMapper接口中新增countByFaceId方法
- 在PuzzleGenerationRecordMapper.xml中实现对应的SQL查询
- 支持根据faceId统计生成记录的数量
|
2025-11-20 11:41:09 +08:00 |
|
|
|
4cbd0dc255
|
feat(puzzle): 新增微信小程序二维码生成功能
- 在DataSourceContext中新增scenicId字段用于景区关联
- 实现WechatQrcodeDataSourceStrategy策略类,支持生成并上传微信小程序码
- 扩展DataSourceType枚举,增加WECHAT_QRCODE类型
- 修改PuzzleElementFillEngine执行方法,支持传入scenicId参数
- 在PuzzleGenerateServiceImpl中集成二维码自动生成逻辑
- 新增generateWechatQrcode方法用于生成并上传小程序码到OSS
- 完善日志记录和异常处理机制
- 添加必要的工具类和存储服务依赖注入
|
2025-11-20 11:00:53 +08:00 |
|
|
|
90cf0d44c9
|
feat(video-review): 优化视频评价导出功能,支持机位名称动态表头
- 引入DeviceRepository用于批量查询机位名称
- 在导出逻辑中收集并排序机位ID,确保表头顺序一致
- 动态生成Excel表头,使用实际机位名称替代原始JSON字段
- 调整单元格样式以支持自动换行,提升可读性
- 更新mapper配置,关联template表获取模板名称
- 优化列宽自适应逻辑,为机位列设置最小宽度保障显示效果
- 日志记录中增加导出机位数量统计信息
|
2025-11-20 11:00:29 +08:00 |
|
|
|
d387f11173
|
feat(video): 添加视频模板ID和名称字段
- 在VideoReviewRespDTO中新增templateId字段
- 在VideoReviewRespDTO中新增templateName字段
- 添加相应字段的注释说明
- 支持关联查询video表获取模板信息
|
2025-11-20 10:48:08 +08:00 |
|
|
|
f6d6a63977
|
feat(puzzle): 修改生成记录查询逻辑以支持人脸ID
- 将查询条件从 orderId 更改为 faceId
- 更新 Mapper 接口方法名和参数
- 修改 XML 映射文件中的字段和查询条件
- 调整插入记录时使用的字段名称
- 更新基础列定义以反映新的字段结构
|
2025-11-20 10:48:08 +08:00 |
|
|
|
67aebd5770
|
refactor(puzzle): 移除填充规则中的景区ID依赖
- 删除 PuzzleFillRuleDTO、PuzzleFillRuleSaveRequest 和 PuzzleFillRuleEntity 中的 scenicId 字段
- 从 ConditionContext 和 DataSourceContext 中移除 scenicId 属性
- 更新 PuzzleElementFillEngine 的 execute 方法,不再接收和传递 scenicId 参数
- 修改 PuzzleGenerateServiceImpl 中调用填充引擎的逻辑,去除 scenicId 判断和传参
- 调整 PuzzleFillRuleMapper.xml 配置文件,移除 scenic_id 映射关系
- 更新所有相关单元测试用例,删除对 scenicId 的引用和验证
- 简化规则查询方法,由 listByTemplateAndScenic 改为 listByTemplateId
- 移除因缺少 scenicId 而产生的警告日志和特殊处理分支
|
2025-11-19 23:23:08 +08:00 |
|
|
|
6d18a770b8
|
feat(puzzle): 实现人脸匹配后异步生成拼图模板功能
- 移除查询规则时的景区ID参数,简化规则加载逻辑
- 为人脸匹配编排器添加拼图模板服务依赖
- 新增异步生成拼图模板方法,在人脸识别成功后触发
- 优化Mapper接口,添加@Mapper注解并移除冗余查询方法
- 更新文档说明,同步修改规则查询方式描述
- 清理SourceMapper中重复的deleted条件过滤逻辑
|
2025-11-19 22:48:01 +08:00 |
|
|
|
b6cbb18a7f
|
docs(puzzle): 更新Claude模块文档结构
- 移除了联系方式和维护者信息
- 简化了文档结尾的元数据部分
- 优化了设备ID匹配策略文档的引用格式
|
2025-11-19 18:29:45 +08:00 |
|
|
|
cfb3625ac0
|
feat(puzzle): 实现智能自动填充引擎和安全增强
- 新增拼图元素自动填充引擎 PuzzleElementFillEngine
- 支持基于规则的条件匹配和数据源解析
- 实现机位数量、机位ID等多维度条件策略
- 添加 DEVICE_IMAGE、USER_AVATAR 等数据源类型支持
- 增加景区隔离校验确保模板使用安全性
- 强化图片下载安全校验,防范 SSRF 攻击
- 支持本地文件路径解析和公网 URL 安全检查
- 完善静态值数据源策略支持 localPath 配置
- 优化生成流程中 faceId 和 scenicId 的校验逻辑
- 补充相关单元测试覆盖核心功能点
|
2025-11-19 17:28:41 +08:00 |
|
|
|
cb17ea527b
|
refactor(SourceMapper): 优化查询条件动态拼接逻辑
- 使用<where>标签替换原有静态where条件
- 添加对scenicId、isBuy、type、faceId参数的动态判断
- 确保只有非空参数参与SQL查询条件构建
- 提高SQL语句可读性和维护性
- 避免因缺少条件导致的语法错误风险
|
2025-11-19 15:08:59 +08:00 |
|
|
|
625ad910c9
|
feat(printer): 添加素材打印状态查询功能
- 在PrinterMapper中新增countFacePhoto方法用于统计用户打印素材数量
- 创建GoodsDetailPrintSceneVO类继承GoodsDetailVO并添加inList字段
- 修改GoodsReqQuery类添加scene字段用于标识打印场景
- 在GoodsServiceImpl中注入PrinterMapper并实现打印状态判断逻辑
- 在PrinterMapper.xml中添加对应的SQL查询语句
- 移除BaseContextHandler引入,优化代码依赖关系
|
2025-11-19 15:08:39 +08:00 |
|
|
|
778afaaa83
|
feat(puzzle): 实现拼图自动填充规则引擎及相关功能
- 新增拼图填充规则管理Controller、DTO、Entity等核心类
- 实现条件评估策略模式,支持多种匹配规则
- 实现数据源解析策略模式,支持多种数据来源
- 新增拼图元素自动填充引擎,支持优先级匹配和动态填充
- 在SourceMapper中增加设备统计和查询相关方法
- 在PuzzleGenerateRequest中新增faceId字段用于触发自动填充
- 完善相关枚举类和工具类,提升系统可维护性和扩展性
|
2025-11-19 11:10:23 +08:00 |
|
|
|
de421cf0d5
|
chore(build): 移除跳过测试编译的 Maven 插件配置
- 删除了 maven-compiler-plugin 中跳过测试编译的配置
- 移除了对测试文件排除的设置
- 清理了插件中不必要的 Java 21 预览功能启用参数
|
2025-11-19 10:16:24 +08:00 |
|
|
|
3ddf7bd0e9
|
feat(image): 添加图片180度旋转功能
- 新增rotateImage180方法实现图片180度旋转
- 支持源文件读取和目标文件写入
- 使用AffineTransform实现图像旋转变换
- 保持图片原始尺寸不变
- 添加详细的异常处理和资源释放
- 移除对270度旋转的限制检查
|
2025-11-18 17:32:04 +08:00 |
|
|
|
208202ba41
|
feat(image): 添加水印四边偏移支持
- 在 WatermarkInfo 中新增 offsetTop、offsetBottom、offsetLeft 和 offsetRight 字段
- 在 PrinterDefaultWatermarkOperator 中实现四边偏移逻辑,默认值为 0
- 根据图片方向设置不同的偏移值,横图左偏移 40 像素,竖图下偏移 30 像素
- 调整二维码和文字位置计算方式以应用偏移量
- 优化水印处理流程,确保偏移参数正确传递和使用
|
2025-11-18 16:27:19 +08:00 |
|
|
|
6e84a5fd43
|
fix(printer): 调整二维码边距和图片旋转逻辑
- 修改二维码距离左边缘的图片宽度比例从 0.075 为 0.05
- 修正图片旋转角度判断逻辑,确保横向处理正确
- 移除下载 URL 中的域名替换操作,使用原始地址直接下载
|
2025-11-18 16:06:19 +08:00 |
|
|
|
8e48bd92cc
|
feat(pricing): 添加新的产品类型枚举值
- 新增 PHOTO_LOG 类型,表示 pLog 图
- 新增 PHOTO_VLOG 类型,表示 pLog 视频
|
2025-11-18 15:49:41 +08:00 |
|
|
|
23181e9f08
|
fix(video): 完善视频删除逻辑以排除被评价的视频
- 修改删除条件,增加对视频评价关联表的检查
- 确保已被评价的视频不会被误删
- 防止因外键约束导致的删除失败问题
|
2025-11-18 14:42:20 +08:00 |
|
|
|
42e806df76
|
feat(puzzle): 添加批量替换模板元素功能
- 在 PuzzleTemplateController 中新增 replaceElements 接口
- 在 PuzzleElementMapper 中新增 getByTemplateIdAndKey 查询方法
- 在 PuzzleTemplateServiceImpl 中实现 replaceElements 业务逻辑
- 在 IPuzzleTemplateService 接口中定义 replaceElements 方法
- 在 PuzzleElementMapper.xml 中添加对应 SQL 查询语句
|
2025-11-18 12:47:24 +08:00 |
|
|
|
a49e581915
|
fix(printer): 修复打印照片方向检测逻辑
- 修改图片方向判断方式,从文件检测改为读取crop配置中的rotation值
- 添加异常处理机制,确保旋转角度解析失败时能正确抛出异常
- 保持竖图自动旋转为横图的处理逻辑不变
|
2025-11-18 12:27:18 +08:00 |
|
|
|
af60e95529
|
feat(puzzle): 添加模板分页查询功能并优化DTO序列化
- 在PuzzleTemplateController中新增pageTemplates接口支持分页查询
- 为ElementCreateRequest和PuzzleElementDTO添加@JsonProperty注解优化JSON序列化
- 实现PuzzleTemplateServiceImpl中的pageTemplates分页逻辑
- 使用PageHelper实现分页查询并限制最大页面大小为100
- 在IPuzzleTemplateService接口中定义pageTemplates方法签名及文档说明
- 添加参数校验确保page和pageSize的有效性
- 返回PageResponse对象封装分页结果供前端使用
|
2025-11-18 12:05:21 +08:00 |
|
|
|
bb2367c5a6
|
feat(video-review): 支持机位多维度评价功能
ZhenTu-BE/pipeline/head This commit looks good
- 新增NestedMapTypeHandler处理嵌套Map与JSON互转
- 修改VideoReview相关实体类和DTO以支持嵌套Map结构
- 更新数据库查询逻辑以适配新的评价数据结构
- 优化平均分计算方法以处理多机位多维度评分
- 完善MyBatis配置中的typeHandler引用
- 补充视频查询接口返回任务开始结束时间字段
- 修正SQL关联查询条件确保数据准确性
|
2025-11-18 10:14:42 +08:00 |
|
|
|
3d361200b0
|
refactor(puzzle): 重构元素DTO及新增元素基类
- 将ElementCreateRequest和PuzzleElementDTO中的elementType从Integer改为String
- 删除所有类型特定字段,新增config和configMap支持JSON配置
- 新增BaseElement抽象基类定义元素通用行为
- 添加ElementConfig接口和具体实现类ImageConfig、TextConfig
- 创建ElementFactory工厂类和ElementRegistrar注册器
- 新增ElementType枚举和ElementValidationException异常类
- 实现ImageElement和TextElement具体元素类
- 添加Position位置信息封装类
|
2025-11-18 08:13:38 +08:00 |
|
|
|
5c49a5af9e
|
refactor(video): 重构视频审核服务异常处理
- 将 javax.servlet.http.HttpServletResponse 替换为 jakarta.servlet.http.HttpServletResponse
- 使用 BaseException 替换 BizException 处理业务异常
- 修改视频查询方法 selectById 为 getEntity
- 统一参数校验和用户登录状态检查的异常抛出方式
|
2025-11-18 00:54:11 +08:00 |
|
|
|
a5ffb86790
|
feat(pom): 添加Apache POI依赖以支持Excel文件处理
- 添加poi依赖版本5.4.0
- 添加poi-ooxml依赖版本5.4.0
- 支持Excel文件的读写操作
- 为后续Excel导出功能做准备
- 统一管理POI相关依赖版本
- 更新项目依赖结构
|
2025-11-18 00:53:55 +08:00 |
|
|
|
755ba1153e
|
feat(video): 新增视频评价功能及购买状态查询
- 移除TaskController上的@Deprecated注解
- 在VideoController中新增/checkBuyStatus接口用于查询视频购买状态
- 新增VideoReviewController控制器,提供评价管理功能
- 新增MapTypeHandler用于处理Map类型与JSON字段的转换
- 在VideoMapper中增加countBuyRecordByVideoId方法查询视频购买记录
- 新增视频评价相关实体类、DTO及Mapper接口
- 实现VideoReviewService服务类,支持评价新增、分页查询、统计分析和Excel导出
- 在VideoServiceImpl中实现checkVideoBuyStatus方法
- 修改VideoMapper.xml,关联task表并查询task_params字段
- 新增VideoReviewMapper.xml配置文件,实现评价相关SQL查询
|
2025-11-17 23:37:04 +08:00 |
|
|
|
ebf05ab189
|
fix(pricing): 修复优惠券计算逻辑,防止优惠金额溢出
- 重构优惠券折扣计算方法,确保固定金额优惠券不超过适用商品总价
- 修改百分比优惠券计算逻辑,基于适用商品总价而非购物车总价
- 新增适用商品总价计算方法,支持按商品类型过滤
- 添加防止优惠金额超出适用商品总价的保护逻辑
- 完善无商品类型限制时的全商品适用逻辑
- 增加多种边界情况和多SKU场景的单元测试
- 修复百分比优惠券最大折扣限制的计算顺序问题
|
2025-11-17 17:38:46 +08:00 |
|
|
|
e2b450682b
|
feat(puzzle): 优化拼图生成逻辑并新增完整测试套件
- 在PuzzleGenerateServiceImpl中改进图片上传逻辑,支持contentType指定
- 在PuzzleImageRenderer中优化背景图片缩放算法,使用原生Java方法提升性能
- 修改scaleImage方法实现,完善多种图片适配模式(COVER、CONTAIN、FILL等)
- 新增PuzzleRealScenarioIntegrationTest集成测试类,覆盖真实业务场景
- 添加PuzzleTemplateServiceImplTest单元测试,使用Mockito模拟数据库交互
- 创建MockImageUtil工具类,支持测试过程中生成各类模拟图片
- 构建PuzzleTestDataBuilder测试数据构造器,简化测试模板和元素创建
- 增加RealScenarioTestHelper辅助类,提升测试代码复用性
-
|
2025-11-17 16:50:53 +08:00 |
|
|
|
443f92ff92
|
feat(puzzle): 实现拼图生成功能模块
- 新增拼图生成控制器 PuzzleGenerateController,支持 /api/puzzle/generate 接口
- 新增拼图模板管理控制器 PuzzleTemplateController,提供完整的 CRUD 和元素管理功能
- 定义拼图相关 DTO 类,包括模板、元素、生成请求与响应等数据传输对象
- 创建拼图相关的实体类 PuzzleTemplateEntity、PuzzleElementEntity 和 PuzzleGenerationRecordEntity
- 实现 Mapper 接口用于数据库操作,支持模板和元素的增删改查及生成记录管理
- 开发 PuzzleGenerateServiceImpl 服务,完成从模板渲染到图片上传的完整流程
- 提供 PuzzleTemplateServiceImpl 服务,实现模板及其元素的全生命周期管理
- 引入 PuzzleImageRenderer 工具类负责图像合成渲染逻辑
- 支持将生成结果上传至 OSS 并记录生成过程的日志和元数据
|
2025-11-17 12:54:56 +08:00 |
|
|
|
630d344b5a
|
refactor(order): 移除冗余的用户ID参数
- 删除了 OrderBiz 中 listImageByFaceRelation 方法调用时多余的 memberId 参数
- 更新了 SourceRepository 中 listVideoByFaceRelation 和 listImageByFaceRelation
方法的参数列表,移除了不再需要的 userId 参数
- 简化了 AppScenicServiceImpl 中 ScenicAppVO 对象的属性设置逻辑,去除了部分字段赋值
|
2025-11-17 11:12:08 +08:00 |
|
|
|
9eb3fd3e58
|
refactor(controller): 调整 RenderWorkerWithStatusDTO 包路径
- 将 RenderWorkerWithStatusDTO 从 controller.dto 包移动到 dto 包
- 更新了相关的 import 路径引用
- 保持类的功能和接口不变
|
2025-11-17 11:07:02 +08:00 |
|
|
|
3463dcc9ae
|
Merge branch 'remove_face_member_limit'
|
2025-11-17 10:42:53 +08:00 |
|
|
|
1b9bebf7e4
|
fix(facebody): 优化人脸搜索失败时的重试机制
ZhenTu-BE/pipeline/head This commit looks good
- 提取error_code到局部变量避免重复调用
- 增加对错误码22204的处理逻辑,当URL图片无法访问时尝试下载并转换为base64后重试
- 添加重试成功后的完整响应处理流程
- 记录详细的重试过程日志便于问题排查
- 保留原始错误响应的日志记录
- 确保所有异常路径都返回有效的响应对象
|
2025-11-17 10:31:52 +08:00 |
|
|
|
fa287f36ae
|
Revert "feat(facebody): 实现人脸识别搜索的重试机制"
This reverts commit 7c42c5c462.
|
2025-11-17 10:27:38 +08:00 |
|
|
|
0c3ada97f9
|
feat(facebody): 添加图片下载及base64重试机制
- 当添加人脸因无法访问URL图片失败时,自动下载图片并转换为base64后重试
- 新增downloadImageAsBase64方法用于图片下载与编码
- 替换阿里云OSS域名以支持内网访问
- 增加对png和jpg格式图片的支持
- 使用hutool库进行base64编码
- 添加详细的日志记录以便追踪重试过程
|
2025-11-17 10:21:10 +08:00 |
|
|
|
a7a7e30364
|
Merge branch 'coupon_user_limit'
|
2025-11-17 10:12:52 +08:00 |
|
|
|
17a33ada9f
|
fix(printer): 修复打印机更新逻辑以使用传入的实体数据
- 在更新方法中先获取现有打印机实体
- 检查景区是否启用打印功能
- 使用传入的payload实体进行更新操作
- 保持原有的成功或失败响应结构
|
2025-11-17 10:12:43 +08:00 |
|
|
|
d408c47963
|
feat(mobile): 增强人脸数据访问控制并优化订单查询逻辑
- 在删除人脸数据前增加用户权限校验,确保操作安全
- 移除订单详情接口中的用户身份强制绑定,简化查询流程
- 更新视频与图片资源查询方法,去除冗余的用户ID参数
- 调整Mapper层SQL语句,解耦人脸关联数据对用户的依赖
- 优化服务层代码结构,提升数据获取效率与一致性
|
2025-11-17 10:06:32 +08:00 |
|
|
|
8efd16ba56
|
fix(coupon): 优化事务回滚标记逻辑
- 添加对无事务上下文情况的处理
- 避免在非事务环境下抛出异常
- 提高优惠券领取失败时的系统稳定性
|
2025-11-17 08:52:00 +08:00 |
|
|
|
9d708ae20c
|
fix(voucher): 移除人脸验证中的用户ID检查
- 删除了人脸验证中不必要的用户ID匹配检查
- 简化了自动领取凭证的逻辑流程
- 保留了景区ID的设置以确保业务连续性
|
2025-11-17 01:02:31 +08:00 |
|
|
|
7c906d5529
|
feat(pricing): 优化优惠券领取逻辑与并发控制
- 为 CouponInvalidException 添加错误码支持
- 在 countUserCouponClaims 查询中添加 FOR UPDATE 锁
- 新增 incrementClaimedQuantityIfAvailable 方法用于原子性增加已领取数量
- 移除重复的用户优惠券领取检查逻辑
- 调整领取流程步骤编号并优化事务回滚处理
- 增加对优惠券库存耗尽情况的业务异常处理
- 使用
|
2025-11-17 00:53:48 +08:00 |
|
|
|
88ad6d6b6f
|
fix(pricing): 修复优惠券库存检查逻辑
- 修正totalQuantity为NULL或0时不限制总量的判断逻辑
- 优化claimedQuantity为空时的默认值处理
- 仅在totalQuantity大于0时更新已领取数量
- 完善MD文档中字段语义描述和配置示例
- 更新SQL表字段说明及典型配置组合示例
|
2025-11-17 00:30:58 +08:00 |
|
|
|
7835283f0f
|
feat(pricing): 添加优惠券用户领取数量限制功能
- 新增用户领取数量限制字段 userClaimLimit
- 区分已领取数量 claimedQuantity 和已使用数量 usedQuantity
- 添加用户领取次数统计方法 countUserCouponClaims
- 实现领取上限检查逻辑和错误码 CLAIM_LIMIT_REACHED
- 更新数据库表结构和索引优化建议
- 完善文档说明和版本更新记录
|
2025-11-17 00:26:15 +08:00 |
|
|
|
9ee466bd5e
|
fix(pricing): 移除自动发券中不必要的faceId校验
- 删除了对faceId参数的非空校验逻辑
- 保持其他参数校验不变
- 更新了日志记录中的参数列表
|
2025-11-16 13:17:53 +08:00 |
|
|
|
1a25848102
|
fix(pricing): 调整用户优惠券查询逻辑
- 修改查询条件,移除状态限制,支持查询所有状态的优惠券记录
- 更新注释说明,明确查询目的为检查用户是否领取过指定优惠券
|
2025-11-15 16:29:05 +08:00 |
|
|
|
c319398c58
|
feat(printer): 添加预览模式和订单ID支持
- 在价格计算请求中添加 previewOnly 参数以支持仅查询价格
- 为订单价格计算设置 orderId 参数
- 完善价格计算服务调用逻辑
|
2025-11-15 15:57:29 +08:00 |
|