@ResponseBody @RequestMapping(value = "/printPdf", method = RequestMethod.POST) public List<String> printTemplate(@RequestBody List<PrintPdf> printList) { return printList.parallelStream().map(this::handler).filter(Objects::nonNull).collect(Collectors.toList()); } private String handler(PrintPdf printPdf) { String name = PatternUtil.getMatchString(printPdf.getUrl().replaceAll("//", ""), Constant.reg, 1); if (StrUtil.isNotEmpty(name)) { String[] nameS = name.split("/"); name = nameS.length > 1 ? nameS[1] : ""; } String printName = null; if (CommandLineRunnerImpl.sheetSizeMap.get(printPdf.getLogisticsChannel()) == Constant.ONE) { printName = Constant.deviceName_100; } if (CommandLineRunnerImpl.sheetSizeMap.get(printPdf.getLogisticsChannel()) == Constant.TWO) { printName = Constant.deviceName_150; } if (CommandLineRunnerImpl.sheetSizeMap.get(printPdf.getLogisticsChannel()) == Constant.THREE) { printName = Constant.deviceName_203; } logger.info("打印机名称:{},打印地址:{}", printName, printPdf.getUrl()); return PrintUtil.PrintPdf(printPdf.getUrl(), PrintUtil.getPager(), printName, name + ".pdf"); }
parallelStream多线程同步
最新推荐文章于 2025-03-24 20:52:02 发布