feat(printer): 支持按数量创建多个打印任务- 根据照片数量生成对应数量的打印任务- 默认至少创建1个打印任务
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good

- 保留原有单任务逻辑并适配多任务场景
- 确保每个任务独立插入数据库
- 维持打印机轮询选择机制
This commit is contained in:
2025-11-05 14:45:55 +08:00
parent 779334a09e
commit fa0c3a1a43

View File

@@ -620,21 +620,28 @@ public class PrinterServiceImpl implements PrinterService {
log.error("获取景区配置失败,使用原始照片进行打印。景区ID: {}, 照片ID: {}", item.getScenicId(), item.getId(), e); log.error("获取景区配置失败,使用原始照片进行打印。景区ID: {}, 照片ID: {}", item.getScenicId(), item.getId(), e);
} }
// 获取打印机名称(支持轮询) // 根据数量创建多个打印任务
String selectedPrinter = getNextPrinter(printer); Integer quantity = item.getQuantity();
if (quantity == null || quantity <= 0) {
quantity = 1; // 默认至少打印1张
}
PrintTaskEntity task = new PrintTaskEntity(); for (int i = 0; i < quantity; i++) {
task.setPrinterId(printer.getId()); // 获取打印机名称(支持轮询)
task.setPrinterName(selectedPrinter); String selectedPrinter = getNextPrinter(printer);
task.setMpId(item.getId()); PrintTaskEntity task = new PrintTaskEntity();
task.setPaper(printer.getPreferPaper()); task.setPrinterId(printer.getId());
task.setStatus(0); task.setPrinterName(selectedPrinter);
task.setUrl(printUrl); task.setMpId(item.getId());
task.setHeight(printer.getPreferH()); task.setPaper(printer.getPreferPaper());
task.setWidth(printer.getPreferW()); task.setStatus(0);
task.setCreateTime(new Date()); task.setUrl(printUrl);
task.setUpdateTime(new Date()); task.setHeight(printer.getPreferH());
printTaskMapper.insertTask(task); task.setWidth(printer.getPreferW());
task.setCreateTime(new Date());
task.setUpdateTime(new Date());
printTaskMapper.insertTask(task);
}
}); });
} }