最近重温微信点餐系统,解决一下历史遗留问题,对于lambda表达式视频中只是一笔带过没有详细讲解, 通过查资料,看文档,
终于有所了解,记下笔记防止再忘。
在微信点餐系统中,第一次出现lambda表达式是在OrderServiceImpl类中用到了,为了得到客户端传来的订单信息来减少库存
lambda表达式语法好多人都写的很明白, 比如这里,
这段代码首先从orderDTO中得到商品详情列表OrderDetailList,将其 转化为stream流,这 是Java8新特性,map表示映射,将客户端传来的商品id和数量组成list,下面调用ProductService的减库存方法,实现库存的减少。
这里收到前面传来的商品id和数量的list进行遍历,依次调用ProductInfoRepository的findOne方法找到对应的商品,如果有,商品库存-本次下单的数量,最后要是判断卖完了就抛出异常。
-------------------------------------后面还有,有时间整理继续更新--------------------------------------------------------------------------------------