Commit Graph

21 Commits

Author SHA1 Message Date
78a2a74fa6 feat(print): 实现照片自动裁剪与优先打印功能
- 人脸上传后自动将关联照片添加到优先打印列表
- 根据景区和设备配置自动处理type=2的照片
- 支持按设备分组处理并限制打印数量
- 实现智能图片裁剪功能,支持自动旋转以减少裁切损失
- 添加图片尺寸配置读取和默认值处理
- 完善异常处理确保不影响主流程执行
-优化打印服务中照片上传和裁剪逻辑
- 增加详细的日志记录便于问题追踪
2025-11-02 09:13:10 +08:00
cc38d6e095 feat(printer): 添加打印功能开关检查
- 在新增打印机接口中增加景区打印功能开关检查
- 在更新打印机接口中增加景区打印功能开关检查
- 打印功能未开启时返回失败响应及提示信息
2025-10-31 11:00:06 +08:00
028178605e fix(printer): 修改打印机列表分隔符
- 将打印机列表的分隔符从逗号(,)更改为竖线(|)
- 避免打印机名称中包含逗号导致解析错误
- 更新打印机信息时使用新的分隔符格式
2025-10-28 17:44:09 +08:00
85cdfe9ea1 feat(printer): 实现打印机轮询选择功能
- 新增 getNextPrinter 方法实现打印机轮询逻辑
- 添加 Redis 键前缀 PRINTER_INDEX_KEY_PREFIX 和过期时间常量
- 在创建打印任务时设置选中的打印机名称- 支持多个打印机按顺序轮流使用
- 使用 Redis 原子递增确保并发安全的索引获取
- 自动为 Redis 键设置 5 分钟过期时间以避免内存泄漏
2025-10-28 17:31:08 +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
d9049b8a29 feat(printer): 修改用户照片上传接口返回照片ID
- 将 addUserPhoto 接口的返回值从布尔值改为照片ID
- 更新 AppPrinterController 中上传接口的返回值为照片ID
- 调整 PrinterServiceImpl 实现类中 addUserPhoto 方法返回实体ID- 修改 PrinterService 接口定义,统一返回类型为 Integer
2025-10-27 09:24:59 +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
2b79302874 feat(printer): 引入唯一处理标识符避免文件冲突
- 添加 UUID 依赖以生成唯一标识符
-为打印任务生成唯一处理 ID,防止多线程文件名冲突
- 更新原图、水印图及旋转图片的文件命名逻辑
- 确保每个打印任务使用独立的临时文件名
2025-10-16 15:37:51 +08:00
658e741611 feat(printer): 添加图片方向检测与自动旋转功能
- 引入 ImageUtils 工具类处理图片旋转逻辑
- 实现打印前对竖图自动旋转为横图处理
- 完成水印处理后将图片旋转回原始方向-优化临时文件清理逻辑,确保所有中间文件被删除
- 添加图片方向判断方法 isLandscape- 新增图片旋转90度和270度的工具方法
2025-10-15 18:53:28 +08:00
645afbaf0c feat(printer): 添加打印照片水印处理功能
- 引入图片水印处理相关依赖和工具类
- 实现根据景区配置动态添加水印逻辑
- 支持从配置中读取存储类型和水印类型
- 下载原始图片并应用水印处理
- 将处理后的水印图片上传至指定存储服务
- 打印任务使用水印图片URL替代原始URL
- 增加异常失败时回处理确保水印退到原始图片- 清理处理过程中产生的临时文件
2025-10-15 17:37:26 +08:00
3cb12c13c2 feat(printer):优化用户照片添加逻辑并返回结果ID
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good
- 修改 addUserPhoto 方法参数,使用 MemberPrintEntity 实体传参- 在 PrinterMapper.xml 中配置 insert 语句返回主键 ID- 更新 addUserPhotoFromSource 方法返回值为 List<Integer>
- 添加异常处理和日志记录
- 调整 AppPrinterController 接口返回照片 ID 列表
2025-10-14 11:45:46 +08:00
aba9fb0a15 feat(printer): 添加用户购买项设置的Redis缓存控制
- 引入RedisTemplate依赖用于缓存控制
- 新增60秒的缓存键避免重复处理用户购买项
- 在setUserIsBuyItem方法中实现缓存检查逻辑- 添加TimeUnit依赖支持缓存过期时间设置
- 定义USER_PHOTO_LIST_TO_PRINTER缓存键前缀
2025-09-26 12:39:17 +08:00
1220348bae refactor(PrinterServiceImpl):重构价格计算逻辑以使用统一的价格计算服务
在 `PrinterServiceImpl` 类中,移除了对 `PriceRepository` 的依赖,并引入了 `IPriceCalculationService` 接口来处理价格计算。主要改动包括:- 添加了新的导入语句,如 `PriceCalculationRequest`, `PriceCalculationResult`, `ProductItem`, `ProductType` 和 `IPriceCalculationService`。
- 在 `queryPrice` 方法中,通过 `IPriceCalculationService` 计算照片打印的总价格,替代了原有的直接从 `PriceRepository` 获取价格配置的方式。
- 更新了 `createOrder` 方法中的价格计算逻辑,同样采用 `IPriceCalculationService` 来确定订单的价格信息。
- 对于没有可打印照片的情况,现在会返回一个零价格的对象或抛出异常,具体取决于调用上下文。

这些更改旨在提高代码的模块化程度和可维护性,同时确保价格计算的一致性和准确性。
2025-09-18 13:36:25 +08:00
05412b2abf StringUtils替换 2025-07-30 13:43:20 +08:00
80f4491836 Java21 2025-05-30 17:25:28 +08:00
3b3c768bbe 打印 2025-05-25 16:31:04 +08:00
937c2b33d3 照片打印 2025-05-22 14:05:40 +08:00
aaddbab2ab 照片打印,基础 2025-05-21 15:35:44 +08:00
44e0f4933b 打印 2025-05-19 15:03:36 +08:00
7d8483b6e4 打印机相关 2025-04-01 16:22:52 +08:00