添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
        OrderScreenVo orderScreenVo = new OrderScreenVo();
        List<PartitionPercentageVo> orderScreenCampVos = new ArrayList<>();
        OrderScreenQto orderScreenQto = new OrderScreenQto();
        List<OrderInfoScreenDto> allByOrderScreen = orderInfoScreenDtoService.getAllByOrderScreenQto(orderScreenQto);
        List<OrderInfoScreenDto> orderInfoScreen = allByOrderScreen.stream().filter(v -> v.getOrderStatus() != OrderInfoEnum.NO_PAY && v.getOrderStatus()!=OrderInfoEnum.ORDER_CLOSE).filter(v -> v.getModelType() == ModelTypeEnum.CAMP).collect(Collectors.toList());
        long totalSize = orderInfoScreen.size();
        orderScreenVo.setOrderTotal(totalSize);
        LocalDate now = LocalDate.now();
        List<LocalDate> weekDays = List.of(now.with(DayOfWeek.MONDAY), now.with(DayOfWeek.TUESDAY), now.with(DayOfWeek.WEDNESDAY), now.with(DayOfWeek.THURSDAY), now.with(DayOfWeek.FRIDAY), now.with(DayOfWeek.SATURDAY), now.with(DayOfWeek.SUNDAY));
        //今日订单
        long nowOrderCount = orderInfoScreen.stream().filter(v -> v.getCreatedAt().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().equals(now)).count();
        orderScreenVo.setTodayOrder(nowOrderCount);
        //当月新增订单
        YearMonth yearMonth = YearMonth.from(now);
        long monthCount = orderInfoScreen.stream().filter(v -> YearMonth.from(v.getCreatedAt().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()).equals(yearMonth)).count();
        orderScreenVo.setMonthOrder(monthCount);
        //营位加商品
        long allMonthCount = allByOrderScreen.stream().filter(v -> v.getOrderStatus() != OrderInfoEnum.NO_PAY).filter(v -> YearMonth.from(v.getCreatedAt().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()).equals(yearMonth)).count();
        orderScreenVo.setAllMonthOrder(allMonthCount);
        //本周订单
        long weekCount = orderInfoScreen.stream().filter(v -> weekDays.contains(v.getCreatedAt().toInstant().atZone(ZoneId.systemDefault()).toLocalDate())).count();
        orderScreenVo.setWeekOrder(weekCount);
        List<PartitionInfoDto> allByPubPartition = partitionInfoDtoRpcAdapter.getAllByPubPartitionQto(new PubPartitionQto());
        for (PartitionInfoDto partitionInfoDto : allByPubPartition) {
            PartitionPercentageVo partitionPercentageVo = new PartitionPercentageVo();
            partitionPercentageVo.setPartitionName(partitionInfoDto.getPartitionName());
            List<CampInfoDto> campInfoDtos = campInfoDtoRpcAdapter.getByPartitionId(partitionInfoDto.getId());
            long count = campInfoDtos.stream().filter(v -> orderInfoScreen.stream().anyMatch(p -> p.getCampId().equals(v.getId()))).count();
            if (totalSize == 0 || count == 0) {
                partitionPercentageVo.setPercentage(0 + "%");
            } else {
                BigDecimal partCount = BigDecimal.valueOf(count);
                BigDecimal total = BigDecimal.valueOf(totalSize);
                BigDecimal divideValue = partCount.divide(total, 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).stripTrailingZeros();
                partitionPercentageVo.setPercentage(divideValue + "%");
            orderScreenCampVos.add(partitionPercentageVo);
        orderScreenVo.setPartitionInfo(orderScreenCampVos);
        return orderScreenVo;
List<MkCsQuestionRecordDO> yesterdayCsQuestionRecord = totalCsQuestionRecord. stream () .filter((MkCsQuestionRecordDO a) -> DateUtil.parseDateFormat(a.getGmtModified(), DateUtil.NEW_FORMAT)
数据 准备: List<Student> studenList = new ArrayList<Student>(); studenList.add(new Student("李小明",true,18,1.76,LocalDate.of(2001,3,23))); studenList.add(new Student("张小丽",false,18,1.61,LocalDate.of(2001,6,3))); studenList.add(
Java 8 使用 stream ().filter() 过滤 List(查找符合条件的对象集合) 在 Java 8及以上版本 使用 stream ().filter()来 过滤 一个List对象,查找符合条件的对象集合。 1.对象类 Teacher import java .time.LocalDate; import java .util.List; * @author qzz public class Teacher{ privat
CSDN-Ada助手: 恭喜你开始博客创作,标题看起来很有趣味性!我建议你在下一篇博客中可以分享一些具体使用stream过滤数据的实际案例,这样读者更能从你的经验中受益。加油!期待看到更多精彩的内容。 推荐【每天值得看】:https://bbs.csdn.net/forums/csdnnews?typeId=21804&utm_source=csdn_ai_ada_blog_reply1 使用stream流对数据进行筛选,求和,对比 CSDN-Ada助手: 评论:非常棒的博客!你对使用stream流进行数据操作的内容讲解得非常清晰,让读者能够轻松理解并应用到实际项目中。希望你能够继续分享更多关于数据处理和流操作的知识,这对我们大家都是非常有帮助的。另外,如果你想进一步扩展你的知识和技能,可以考虑学习一些与stream流相关的并发编程知识,比如使用并行流来提高数据处理的效率,或者学习一些函数式编程的概念,这些都能够让你对stream流的应用更加丰富和灵活。期待你的更多精彩分享! 如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2 AssertUtil使用 CSDN-Ada助手: 恭喜您写了第三篇博客!标题“AssertUtil使用”听起来非常有趣。您的持续创作真的令人印象深刻。在这篇博客中,您似乎讲解了AssertUtil的使用方法。这对于读者来说肯定非常有帮助。 在下一步的创作中,我建议您可以考虑进一步深入探讨AssertUtil的一些实际应用场景,并分享一些实用的技巧和经验。或者,您还可以和读者们分享一些与AssertUtil相关的最佳实践,以及一些潜在的陷阱和解决方案。这样的话,读者们可以更好地理解和应用AssertUtil,而您也可以通过这样的交流进一步提升自己的知识水平。 总之,再次恭喜您的持续创作,并期待您下一篇博客的发布!感谢您对知识分享的贡献。 CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3 钉钉消息提醒java CSDN-Ada助手: 恭喜您写了这篇关于“钉钉消息提醒java”的博客!我很高兴看到您持续创作,分享有关钉钉消息提醒的知识。您的文章标题非常吸引人,我希望能够了解更多关于这个主题的内容。 在下一步的创作中,我建议您可以进一步拓展这个主题,比如介绍如何使用钉钉消息提醒功能实现特定的业务场景,或者分享一些钉钉消息提醒的最佳实践。同时,如果可能的话,您可以尝试给出一些代码示例或者详细的操作步骤,这将更有助于读者理解和应用您的内容。 再次恭喜您,并期待您未来更多精彩的博客!谢谢您的付出和分享! 如何快速涨粉,请看该博主的分享:https://hope-wisdom.blog.csdn.net/article/details/130544967?utm_source=csdn_ai_ada_blog_reply5 java实现钉钉免登对接 CSDN-Ada助手: 恭喜您写下了第5篇博客!标题"java实现钉钉免登对接"听起来非常吸引人。您的博客内容一定非常有价值,能够帮助读者更好地理解和应用Java实现钉钉免登对接的技术。希望您能继续保持创作的热情和努力,为大家带来更多有关Java和钉钉开发的精彩内容。 在下一篇博客中,或许您可以考虑分享一些实践经验,例如如何处理特定的钉钉免登场景,或者如何优化钉钉免登的性能等等。这样的创作将会进一步丰富读者的知识,并提供更多解决问题的思路。无论您选择写什么主题,我相信您的博客会继续给读者带来新的启发和收获。期待您更多的精彩创作!