parallelStream多线程同步

@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");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值