7c0a3a63bb
fix(order): 兼容旧逻辑并清理Redis缓存
...
- 在订单类型为3时设置Redis标识
- 删除冗余的Redis键值对清理操作
- 统一订单内容不可下载的处理逻辑
2025-12-08 13:51:28 +08:00
b2c55c9feb
refactor(printer): 优化照片处理管线与自动发券逻辑
...
- 调整自动发券判断条件,仅当存在type=3的source记录时触发
- 修改普通照片与拼图处理流程中的图像增强控制逻辑
- 移除冗余的图像缩放阶段,优化处理效率
- 增加processPhotoWithPipeline重载方法支持图像增强选项
- 重构水印配置方法,新增scale参数控制缩放比例
- 异步处理打印任务创建与推送,提升响应速度
- 复用processPhotoWithPipeline方法简化重打印处理逻辑
2025-12-07 21:42:48 +08:00
9f5a61247b
feat(printer): 增加对source.type=3的特殊图片处理流程
...
- 新增ImageResizeStage、ImageSRStage和UpdateMemberPrintStage处理阶段
- 对type=3的图片增加超分辨率和图像增强处理
- 构建新的处理管线,包含下载、方向校正、超分、增强、上传等12个阶段
- 兼容旧版URL处理逻辑,针对type=3替换缩略图为原图URL
- 优化图片来源判断逻辑,增加source实体查询
- 完善处理日志记录和阶段状态控制
2025-12-06 22:42:05 +08:00
a2378053a8
feat(printer): 打印订单成功后自动发放优惠券
...
- 在打印订单成功后调用自动发券服务
- 添加对自动发券异常的捕获与日志记录
- 确保发券失败不影响主业务流程
2025-12-06 17:32:21 +08:00
c42b055d5f
feat(printer): 添加图片裁剪信息字段并实现裁剪功能
...
- 在 MemberPrintEntity 中新增 crop 字段用于存储裁剪信息
- 创建 Crop 类并添加 Lombok 注解以支持构造函数和 getter/setter
- 在 PrinterServiceImpl 中调用 smartCropAndFill 方法进行图片裁剪
- 设置默认旋转角度为 270 并将裁剪信息序列化后保存到数据库
- 更新 PrinterMapper.xml 配置文件以支持新字段的插入和查询
2025-12-06 14:41:06 +08:00
71a8d3b539
refactor(core): 添加 Lazy 注解解决循环依赖问题
...
- 在多个 Service 类中为注入的依赖添加 @Lazy 注解
- 修改了微信支付服务实现类中的依赖注入方式
- 更新了打印机服务实现类中的依赖注入配置
- 调整了统计拦截器和服务类中的依赖注入策略
- 优化了 FaceService 和相关 Repository 的注入方式
- 防止应用启动时因循环依赖导致的初始化失败
2025-12-05 15:22:19 +08:00
eade5f8092
feat(printer): 优化自动添加照片到打印列表逻辑
...
- 修改autoAddPhotosToPreferPrint方法返回值为List<SourceEntity>
- 当自动添加成功时直接返回添加的照片列表
- 添加失败或无照片时返回空列表而非数量
- 控制器根据返回结果判断是否生成二维码URL
- 提升代码可读性和维护性
2025-12-04 21:23:23 +08:00
42540e2dc4
feat(printer): 新增人脸绑定二维码生成功能
...
- 添加获取人脸绑定二维码接口,支持生成小程序二维码
- 实现二维码文件流输出及临时文件清理
- 修改人脸识别流程,保存人脸数据并返回faceId
- 调整自动添加照片到打印列表逻辑,返回添加数量
- 更新响应模型,增加二维码URL字段
- 优化人脸匹配逻辑,使用memberRelationRepository查询关联照片
- 修复BCE适配器图片下载地址问题,去除内网地址替换逻辑
2025-12-04 18:21:18 +08:00
60b4473279
refactor(pipeline): 重构人脸匹配管线为核心管线模块
...
- 移除专用人脸匹配管线实现,统一使用通用管线模块
- 更新所有Stage类继承自通用管线Stage基类
- 调整包路径引用从face.pipeline到pipeline.core
- 修改上下文类实现通用管线上下文接口
- 删除冗余的人脸匹配专用注解和枚举类
- 更新工厂类引用至新的通用管线构建器
- 保持Stage功能逻辑不变仅调整继承结构
2025-12-03 21:47:43 +08:00
590a7c6191
feat(printer): 打印任务更新后推送至打印机
...
- 在任务更新后调用推送服务将任务发送至指定打印机
- 记录任务更新完成的日志信息
2025-12-01 10:09:11 +08:00
d590286b13
feat(printer): 实现打印机任务WebSocket实时推送功能
...
- 新增PrinterTaskPushService接口及实现,负责任务推送逻辑
- 在PrinterServiceImpl中集成WebSocket推送,在任务创建和审核通过时主动推送
- 新增WebSocket配置类和处理器,支持打印机通过WebSocket连接接收任务
- 实现连接管理器,维护打印机在线状态并支持心跳保活
- 添加相关模型类如WsMessage、WsMessageType等,规范通信协议
- 在PrinterMapper中增加查询待处理任务列表的方法
- 完善异常处理和日志记录,确保推送可靠性
2025-12-01 09:59:27 +08:00
d60d7d9ad8
feat(image): 增强图片处理流程并优化水印逻辑
...
- 在PhotoProcessContext中新增Stage管理相关方法,支持启用、禁用及批量设置Stage状态
- 新增ImageEnhanceStage并整合到图片处理流水线中
- 重构重打印流程,复用普通照片处理流水线
- 生成订单二维码并用于水印配置
- 移除冗余的水印配置和增强配置代码
- 优化Stage控制逻辑,支持动态启用或禁用特定处理阶段
2025-11-27 18:17:19 +08:00
a7ef2cb35a
feat(printer): 实现带图像增强选项的重新打印功能
...
- 在 ReprintRequest 中新增 needEnhance 字段以支持图像增强
- 将 reprint 接口的实现从 controller 下移到 printerService
- 实现 handleReprint 方法,支持根据 needEnhance 条件性添加图像增强阶段
- 重构 reprint 流程,引入 Pipeline 处理图像下载、旋转、增强、水印等步骤
- 增强 reprint 异常处理,失败时回退到原始裁剪图
- 移除 ImageEnhanceStage 中对 TODO 占位符的判断逻辑
- 提供 updateTaskStatusAndPrinter 兜底方法用于无 MemberPrint 场景
2025-11-27 16:04:55 +08:00
333c4d3ca7
refactor(image): 重构水印处理逻辑以提高可维护性
...
- 移除 PhotoProcessContext 中的水印相关字段
- 新增 WatermarkConfig 类封装水印配置
- 修改 WatermarkStage 通过构造函数注入配置
- 调整 PrinterServiceImpl 中水印配置的传递方式
- 更新单元测试以适应新的配置注入方式
- 统一从配置对象读取水印参数而非上下文
- 优化日志记录与偏移量计算逻辑
2025-11-26 14:56:37 +08:00
7b18d7c2af
feat(image): 实现源图片超分辨率增强流水线
...
- 引入Pipeline模式重构图片处理流程
- 新增SourcePhotoUpdateStage用于上传并更新源图片URL
- 扩展PhotoProcessContext支持超分场景配置
- 增加SOURCE_PHOTO_SUPER_RESOLUTION枚举值
- 修改各Stage判断逻辑适配新的图片类型系统
- 调整SourceService接口支持File类型参数
- 优化超分处理日志记录和异常处理机制
2025-11-25 19:17:55 +08:00
4a86849372
feat(image): 引入图片来源和处理场景枚举支持
...
- 新增 ImageSource 枚举定义图片来源类型(IPC、相机、手机等)
- 新增 PipelineScene 枚举定义管线处理场景(打印、增强等)
- 在 PhotoProcessContext 中添加 scenicConfigManager、scene 和 source 字段
- 在 PrinterServiceImpl 中根据 sourceId 判断并设置图片来源
- 在 PrinterServiceImpl 中设置默认管线场景为图片打印
- 修改 prepareNormalPhotoContext 和 prepareStorageAdapter 方法签名
- 优化配置获取逻辑,统一从 context 中获取 scenicConfigManager
2025-11-24 23:54:22 +08:00
e418a5ccdb
feat(printer): 引入照片处理管线机制
...
- 新增Crop和PrinterOrderItem模型用于封装裁剪信息和打印订单项
- 实现基于Pipeline模式的照片处理流程,支持普通照片和拼图处理
- 添加多个处理阶段:下载、方向检测、条件旋转、水印、恢复方向、上传和清理
- 创建PipelineBuilder用于动态构建处理管线
- 实现抽象Stage基类和具体Stage实现类
- 添加Stage执行结果管理和异常处理机制
- 优化照片处理逻辑,使用管线替代原有复杂的嵌套处理代码
- 支持通过景区配置管理水印类型、存储适配器等参数
- 提供临时文件管理工具确保处理过程中文件及时清理
- 增强日志记录和错误处理能力,提升系统可维护性
2025-11-24 21:18:35 +08:00
9278d4479f
feat(printer): 优化拼图打印偏移处理逻辑
...
- 添加白边框并向上偏移内容以避免打印机偏移
- 替换原有的单纯向上偏移方法
- 弃用 shiftImageUp 方法,新增 addBorderAndShiftUp 方法
- 更新临时文件命名及清理逻辑
- 修改日志记录内容以反映新的处理方式
2025-11-22 00:07:18 +08:00
18bf51487d
feat(printer): 优化拼图打印逻辑并调整日期格式
...
- 调整AppPuzzleController中recordId参数为固定值0L
- 修改FaceMatchingOrchestrator中的日期格式为"yyyy.MM.dd"
- 完善PrinterServiceImpl水印处理条件判断
- 新增针对sourceId为0时的拼图照片偏移处理逻辑
- 修复重复打印检查逻辑,使用resultImageUrl代替puzzleRecordId比较
- 增强异常处理和日志记录,提升系统稳定性
2025-11-21 23:25:34 +08:00
97e3ab19a0
refactor(order): 重构订单购买逻辑并优化接口参数
...
- 调整 isBuy 方法参数顺序,增加 faceId 参数支持
- 删除冗余的购买检查方法和旧版 isBuy 重载方法
- 简化购买状态判断逻辑,移除重复代码
- 更新视频查看权限服务中的购买检查调用
- 修改人脸服务中景区 ID 类型为 Long
- 调整打印机服务中人脸查询方法参数类型
- 统一订单业务类中方法签名和调用方式
- 移除订单请求模型中无用字段注释
- 增加人脸 ID 列表字段支持批量查询
- 优化任务服务中购买状态检查逻辑
2025-11-21 21:45:26 +08:00
e1a77a1614
feat(printer): 移除拼图照片自动裁剪功能
...
- 删除了从打印机配置获取打印尺寸的逻辑
- 移除了调用ImageUtils.smartCropAndFill进行图片裁剪的代码
- 去掉了裁剪后图片上传和临时文件清理的相关实现
- 简化了打印服务流程,直接使用原始图片URL
- 保留了cropUrl字段但不再进行实际裁剪操作
2025-11-21 11:47:52 +08:00
8791cf5910
fix(printer): 修复上传裁剪图片时的文件扩展名获取逻辑
...
- 将文件扩展名从resultImageUrl改为croppedFile.getName()中获取
- 确保上传裁剪后图片时能正确识别文件类型
- 避免因URL解析错误导致的文件扩展名丢失问题
2025-11-21 11:47:05 +08:00
9123a1f6db
feat(puzzle): 新增拼图功能模块
...
- 新增AppPuzzleController控制器,提供拼图相关接口
- 实现根据faceId查询拼图数量和记录列表功能
- 实现根据recordId查询拼图详情和下载拼图资源功能
- 实现拼图价格计算和导入打印列表功能
- 在FaceServiceImpl中集成拼图记录展示逻辑
- 在OrderServiceImpl中新增PHOTO_LOG产品类型处理
- 在PrinterService中实现从拼图添加到打印列表的功能
- 完善拼图记录转换为内容页面VO的逻辑处理
2025-11-20 23:11: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
a49e581915
fix(printer): 修复打印照片方向检测逻辑
...
- 修改图片方向判断方式,从文件检测改为读取crop配置中的rotation值
- 添加异常处理机制,确保旋转角度解析失败时能正确抛出异常
- 保持竖图自动旋转为横图的处理逻辑不变
2025-11-18 12:27:18 +08:00
17a33ada9f
fix(printer): 修复打印机更新逻辑以使用传入的实体数据
...
- 在更新方法中先获取现有打印机实体
- 检查景区是否启用打印功能
- 使用传入的payload实体进行更新操作
- 保持原有的成功或失败响应结构
2025-11-17 10:12:43 +08:00
c319398c58
feat(printer): 添加预览模式和订单ID支持
...
- 在价格计算请求中添加 previewOnly 参数以支持仅查询价格
- 为订单价格计算设置 orderId 参数
- 完善价格计算服务调用逻辑
2025-11-15 15:57:29 +08:00
11face7935
fix(printer): 修复支付价格比较逻辑和数据返回问题
...
- 将支付价格比较方式从 equals 修改为 compareTo 方法以确保精度正确性
- 调整 orderId 返回逻辑的位置,确保在所有情况下都能正确返回
2025-11-15 15:53:47 +08:00
3f396b4cb8
Merge branch 'print_sku'
2025-11-15 15:30:57 +08:00
a1b0687526
feat(pricing): 添加折扣优先级设置并优化价格计算请求
...
- 在折扣信息中增加优先级字段,提升折扣策略的灵活性
- 为价格计算请求默认启用自动使用优惠券功能
- 设置价格预览模式为非预览状态,确保实际计算准确性
- 完善打印服务中的价格计算逻辑,提高系统稳定性
2025-11-15 14:52:53 +08:00
932081abf0
refactor(pricing): 重构自动发券服务方法命名及逻辑
...
- 将 autoGrantFirstPrintCoupon 方法重命名为 autoGrantCoupon
- 修改 findFirstPrintCouponId 方法名为 findFirstCouponId
- 调整优惠券名称匹配逻辑,移除对"first"关键字的检查
- 更新调用方 PrinterServiceImpl 中的方法引用
- 优化自动发券异常处理,确保不影响主流程
2025-11-15 14:28:56 +08:00
6462037dcd
fix(printer): 优化人脸识别逻辑避免重复添加照片
...
- 在人脸匹配成功后,仅当不存在已匹配的人脸时才自动添加照片到预打印列表
- 更新了用户照片列表的获取条件,确保只在必要时执行此操作
- 保留了对源实体存在的检查,以维持原有业务流程的完整性
2025-11-15 14:11:35 +08:00
9b9e69cf52
feat(printer): add print task review and reprint functionality
...
- Add reprint endpoint with printer name update
- Implement pending review task query and management
- Add task URL update for pending review tasks
- Support bulk approve/reject of pending tasks
- Extend task status enum with review-related states
- Create ReprintRequest DTO for printer information
- Update mapper to handle status transitions and queries
- Modify service layer to support review workflow
- Adjust XML mapper for new database operations
2025-11-15 14:05:37 +08:00
19fae4bd00
feat(pricing): 实现首次打印自动发券功能
...
- 新增自动发券服务接口 IAutoCouponService- 实现自动发券逻辑,包括参数校验、优惠券配置查询和发券记录检查
- 在打印服务中集成自动发券调用,确保首次打印时触发发券- 添加异常处理,避免发券失败影响主流程
- 支持通过优惠券名称和商品类型匹配规则查找目标优惠券
2025-11-14 09:10:06 +08:00
661aa4567f
feat(print): 支持多种照片打印类型的价格计算
...
- 新增手机照片打印(PHOTO_PRINT_MU)和特效照片打印(PHOTO_PRINT_FX)枚举类型
- 在价格计算服务中增加isPrintProduct方法统一判断打印类商品
- 修改订单服务跳过打印类商品重复购买检查逻辑
-优化打印机服务根据sourceId分类统计不同照片类型数量
- 分别计算普通、手机、特效照片打印的价格和数量- 更新价格计算逻辑以支持多种打印类型商品项
2025-11-14 01:08:12 +08:00
dde9f5d542
fix(printer): 更新二维码链接参数并优化水印配置读取
...
- 在生成微信小程序二维码的链接中添加 force=1 参数
- 从景区配置中读取水印景区文本,为空时使用空字符串
-从景区配置中读取日期格式,为空时使用默认格式 yyyy.MM.dd
2025-11-11 15:36:52 +08:00
72e60c95e0
fix(printer):优化水印处理逻辑并增强人脸匹配容错
...
- 限制水印处理仅在sourceId不为空时执行
- 调整水印处理代码结构,提高可读性
- 增加人脸匹配异常捕获,避免影响主流程
-保持原有打印任务创建逻辑不变
2025-11-09 23:16:09 +08:00
acfaebfffa
fix(printer):修复打印机选择逻辑并优化查询
...
- 调整打印机选择逻辑,确保正确获取打印机ID
- 优化SourceMapper查询,按创建时间倒序并限制结果数量- 修复可能因逻辑错误导致的打印机选择异常问题
2025-11-08 17:38:44 +08:00
72e215c552
feat(printer): 添加sourceId字段并优化打印逻辑
...
- 在MemberPrintResp中新增sourceId字段
- 优化PrinterServiceImpl中的水印处理逻辑
- 添加sourceId为空时的返回判断,避免空指针异常
2025-11-08 17:09:10 +08:00
1bbfe8d092
feat(printer): 添加照片来源ID字段并更新相关逻辑
...
- 在MemberPrintEntity中新增sourceId字段用于记录照片来源
- 更新addUserPhoto方法签名,增加sourceId参数
- 修改照片上传接口,支持传递sourceId参数
- 完善自动添加照片到打印列表的逻辑,关联sourceId
- 更新数据库映射文件,添加source_id字段的读写配置- 优化重复照片检测逻辑,确保数据一致性
2025-11-08 15:12:15 +08:00
88c31d4fdc
feat(printer):优化人脸样本使用逻辑并增强景区列表查询
...
- 修改 useSample 接口返回类型为 FaceRecognizeResp
- 增加根据样本ID和类型查询来源实体的逻辑
- 在景区列表查询中添加参数校验和异常处理
- 完善景区信息处理流程,增加设备数量统计
-优化景区距离计算与筛选逻辑
- 增加人脸匹配后自动添加照片到用户相册的功能
- 添加 XML 映射文件中新的查询语句实现
2025-11-08 15:04:50 +08:00
fb75cbf230
feat(printer):优化订单打印纸张尺寸获取逻辑
...
- 引入Redis缓存存储打印纸张尺寸信息
- 优先从Redis中获取纸张尺寸,减少数据库查询
- 在创建订单时将打印机偏好纸张存入Redis,有效期60秒
- 修复打印机对象作用域问题,避免空指针异常
- 统一打印机状态校验逻辑,提高代码可读性
2025-11-08 11:04:22 +08:00
eda4ed2955
1
2025-11-08 10:35:43 +08:00
c41611e5d0
feat(printer): 实现人脸照片自动添加到优先打印列表功能
...
- 引入DeviceConfigManager和SourceEntity依赖
- 替换TaskFaceService为FaceService并注入DeviceRepository
- 新增autoAddPhotosToPreferPrint方法实现自动添加逻辑
- 根据景区和设备配置筛选并添加符合条件的照片
- 支持按设备分组处理和优先打印数量控制
- 添加详细的日志记录和异常处理机制
2025-11-08 10:20:37 +08:00
747081901f
feat(printer): 实现人脸样本使用功能
...
- 新增人脸样本使用逻辑,支持查询或创建face记录
- 集成人脸识别相关实体和映射器
- 添加人脸样本URL校验和重复检测机制
- 返回包含人脸URL、ID及景区ID的响应对象
- 引入雪花算法生成唯一face ID
- 记录创建新face或使用已有face的日志信息
2025-11-08 01:17:39 +08:00
1821ba9f58
feat(image): 添加打印机默认水印操作器并优化图片处理逻辑- 新增 PrinterDefaultWatermarkOperator 实现自定义水印处理
...
- 在 ImageWatermarkOperatorEnum 中添加 PRINTER_DEFAULT 类型
- 更新 ImageWatermarkFactory 以支持新的水印操作器
- 调整日期格式为 yyyy.MM.dd 用于打印场景
-优化 ImageUtils 中的图片旋转逻辑,仅支持270度旋转
- 移除对90度旋转的支持以简化处理流程
2025-11-07 22:38:02 +08:00
48c8518ae6
feat(printer):优化打印任务逻辑并添加水印景区文案
...
- 根据订单项循环设置用户购买状态
- 添加水印信息中的景区文案配置
- 调整打印任务创建流程顺序
2025-11-07 21:08:33 +08:00
96d001dfc0
feat(printer): 新增样品使用功能并优化打印流程
...
- 在AppPrinterController中新增/useSample接口用于使用样品- PrinterServiceImpl中实现生成微信小程序二维码逻辑
- 更新setUserIsBuyItem方法签名以支持异常抛出- 添加useSample方法占位实现
- 引入相关依赖类如MpConfigEntity、OrderRepository和WxMpUtil
2025-11-07 20:43:15 +08:00
fb3a08fdcf
feat(printer): 实现照片自动裁剪功能
...
- 添加打印尺寸获取逻辑,优先从打印机配置读取
- 实现默认尺寸 fallback 机制 (1020x1520)
- 集成 smartCropAndFill 图片裁剪算法
- 添加裁剪后图片上传和临时文件清理
- 增加异常处理,裁剪失败时回退到原图
-优化图片 URL 内部访问地址配置
2025-11-06 15:32:11 +08:00