A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luffysan 初级黑马   /  2019-10-10 14:30  /  857 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public int preferential(String username) {
  2.     //选中的订单清单
  3.     List<OrderItem> orderItemList = findCartList(username).stream().
  4.             filter(cart -> (boolean) cart.get("checked") == true).
  5.             map(cart -> (OrderItem) cart.get("item")).collect(Collectors.toList());

  6.     //聚合统计每种category的总价格,封装为map<categoryId,totalMoney>
  7.     Map<Integer, IntSummaryStatistics> cartMap = orderItemList.stream().
  8.             collect(Collectors.groupingBy(OrderItem::getCategoryId3,
  9.                     Collectors.summarizingInt(OrderItem::getMoney)));

  10.     //遍历每种category的优惠金额并累加
  11.     int totalPreMoney = 0;
  12.     for (Integer categoryId : cartMap.keySet()) {
  13.         int preMoney = preferentialService.findPreMoneyByCategoryId(categoryId.longValue(),
  14.                 (int) cartMap.get(categoryId).getSum());
  15.         System.out.println("分类:"+categoryId+"...  "+"优惠:"+preMoney);
  16.         totalPreMoney+=preMoney;
  17.     }
  18.     return totalPreMoney;
  19. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马