版本 3.4.0
jdk 1.8 使用 hutool 的 BeanUtil.copyProperties 失效 部分代码片段如下

LambdaQueryWrapper flowLambdaQueryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotEmpty(healthReportPageParam.getUserId())) { queryWrapper.eq(AfsHealthPaperOrder::getUserId, healthReportPageParam.getUserId()); } else if (StringUtils.isNotEmpty(healthReportPageParam.getDealers())) { if (!healthReportPageParam.getDealers().equals("all")) { queryWrapper.in(AfsHealthPaperOrder::getDealerId, Arrays.asList(healthReportPageParam.getDealers().split(","))); flowLambdaQueryWrapper.in(AfsHealthPaperOrderFlow::getDealerId, Arrays.asList(healthReportPageParam.getDealers().split(","))); } } else if (StringUtils.isNotEmpty(healthReportPageParam.getDealerUserId())) { if (!StrUtil.equalsIgnoreCase(roleName, RoleConstant.MANAGER)) { queryWrapper.in(AfsHealthPaperOrder::getDealerUserId, Arrays.asList(healthReportPageParam.getDealerUserId().split(","))); } queryWrapper.eq(AfsHealthPaperOrder::getDealerId, user.getDealerId()); flowLambdaQueryWrapper.eq(AfsHealthPaperOrderFlow::getDealerId, user.getDealerId()); }

    List<AfsHealthPaperOrderFlow> list = new ArrayList<>();
    if (StringUtils.isNotEmpty(healthReportPageParam.getFlowType())) {
        List<String> flowTypes = Arrays.asList(healthReportPageParam.getFlowType().split(","));

        if (flowTypes.contains("-1")) {
            LambdaQueryWrapper<AfsHealthPaperOrderFlow> lambdaQueryWrapper = BeanUtil.copyProperties(flowLambdaQueryWrapper, LambdaQueryWrapper.class);
            List<AfsHealthPaperOrderFlow> list1 = flowService.list(lambdaQueryWrapper
                    .eq(AfsHealthPaperOrderFlow::getFlowAck, HealthReportFlowConstants.SA_CHECK)
                    .isNull(AfsHealthPaperOrderFlow::getFlowEndTime)
                    .eq(AfsHealthPaperOrderFlow::getPaperType, HealthReportConstants.PREBUILD_PAPER_TYPE));
            list.addAll(list1);
        }

}

Comment From: miemieYaho

使用wrapper.clone