feat(printer):优化打印任务逻辑并添加水印景区文案

- 根据订单项循环设置用户购买状态
- 添加水印信息中的景区文案配置
- 调整打印任务创建流程顺序
This commit is contained in:
2025-11-07 21:08:33 +08:00
parent 96d001dfc0
commit 48c8518ae6

View File

@@ -573,11 +573,14 @@ public class PrinterServiceImpl implements PrinterService {
return;
}
redisTemplate.opsForValue().set(USER_PHOTO_LIST_TO_PRINTER + memberId + ":" + orderId, "1", 60, TimeUnit.SECONDS);
printerMapper.setUserIsBuyItem(memberId, id, orderId);
OrderEntity order = orderRepository.getOrder(orderId);
List<OrderItemEntity> orderItems = orderMapper.getOrderItems(orderId);
orderItems.forEach(item -> {
printerMapper.setUserIsBuyItem(memberId, item.getGoodsId(), orderId);
});
// 创建打印任务
List<MemberPrintResp> userPhotoListByOrderId = getUserPhotoListByOrderId(orderId);
File qrCodeFile = new File("qrCodeFile" + orderId + ".png");
OrderEntity order = orderRepository.getOrder(orderId);
MpConfigEntity scenicMpConfig = scenicRepository.getScenicMpConfig(order.getScenicId());
try {
WxMpUtil.generateWXAQRCode(scenicMpConfig.getAppId(), scenicMpConfig.getAppSecret(), scenicMpConfig.getState(), "pages/my/orderDetailNew?id="+orderId, "qrCodeFile" + orderId + ".png");
@@ -638,6 +641,7 @@ public class PrinterServiceImpl implements PrinterService {
// 处理水印
WatermarkInfo watermarkInfo = new WatermarkInfo();
watermarkInfo.setScenicLine(scenicConfig.getString("watermark_scenic_text"));
watermarkInfo.setOriginalFile(needRotation ? rotatedOriginalFile : originalFile);
watermarkInfo.setWatermarkedFile(watermarkedFile);
watermarkInfo.setQrcodeFile(qrCodeFile);