pms-parent/pms-web-platform/src/main/java/com/dy/pmsPlatform/product/ProductCtrl.java
@@ -7,6 +7,9 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.aop.Log;
import com.dy.pmsGlobal.pojoPlt.PltProduct;
import com.dy.pmsGlobal.pojoPlt.PltStation;
import com.dy.pmsGlobal.util.ExportExcelUtil;
import com.dy.pmsGlobal.util.QrCodeConstant;
import com.dy.pmsGlobal.util.QrCodeUtil;
import com.google.zxing.WriterException;
import jakarta.servlet.http.HttpServletResponse;
@@ -131,15 +134,43 @@
        QueryVo vo = new QueryVo();
        return BaseResponseUtils.buildSuccess(proSv.selectAll(vo));
    }
    /**
     * 可根据orderId查询产品
     * @return
     */
    @GetMapping(path="getProduct")
    @SsoPowerAop(power = "10300000")
    @Log("根据orderId查询产品")
    public BaseResponse<List<PltProduct>> getProduct(Long orderId){
        return BaseResponseUtils.buildSuccess(proSv.getProduct(orderId));
    }
    @PostMapping(path="export")
    @SsoPowerAop(power = "10300000")
    @SsoPowerAop(power = "10300001")
    @Log("导出产品信息")
    public void export(@RequestBody QueryVo queryVo, HttpServletResponse response){
        List<Converter> list = new ArrayList<>() ;
        List<PltProduct> porList = proSv.selectAll(queryVo);
        // 使用并行流提高性能
        List<PltProduct> products = proSv.selectAll(queryVo);
        if(products != null){
            for(PltProduct product : products){
                ExcelVo vo = new ExcelVo();
                vo.name = product.name;
                vo.type = product.type;
                vo.code = product.code;
                try {
                    vo.qrCode = QrCodeUtil.genQrCode(product.code);
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (WriterException e) {
                    e.printStackTrace();
                }
                list.add(vo);
            }
        }
        // 使用并行流提高性能,但生成的结果变成无序的了
        /*
        porList.parallelStream().forEach(pro -> {
            ExcelVo vo = new ExcelVo();
            vo.name = pro.name;
@@ -154,7 +185,8 @@
            }
            list.add(vo);
        });
        QrCodeUtil.downloadExcel(response, fileName,sheetName,list);
         */
        ExportExcelUtil.downloadExcel(response, fileName, sheetName, list);
    }