当前位置: 首页 > news >正文

潍坊高端网站开发易语言做网站后端

潍坊高端网站开发,易语言做网站后端,国内高清图片素材网站推荐,溧水城市建设招标网站1.首先明确一下业务规则: 业务规则#xff1a; 再来一单就是将原订单中的商品重新加入到购物车中 2.产品页面原型和开发接口文档 3.业务层逻辑代码开发 3.1 查询方向 我们要明确的是: 再来一单就是将原订单中的商品重新加入到购物车中------直接把商品加入到购物车#…1.首先明确一下业务规则: 业务规则 再来一单就是将原订单中的商品重新加入到购物车中 2.产品页面原型和开发接口文档 3.业务层逻辑代码开发 3.1 查询方向 我们要明确的是: 再来一单就是将原订单中的商品重新加入到购物车中------直接把商品加入到购物车不需要查找orders对象我们直接利用参数id查询当前订单详情包括菜品信息以及喜好或者套餐信息。 3.2 将订单详情对象转换为购物车对象 此次对象的转换我们使用到的是:orderDetailList.stream().map(x-){ } ListShoppingCart shoppingCartList orderDetailList.stream().map(x-{//这里的x代表的是 orderDetailList集合中每一个元素ShoppingCart shoppingCartnew ShoppingCart();return shoppingCart;}) 这里orderDetailList是一个列表经过查询数据后的结果)而 stream() 方法会将其转换为一个流Stream以便进行一系列的函数式操作。 先将orderDetailList转换为一个Stream然后使用map操作将每个OrderDetail对象转换为ShoppingCart对象。 map 是Stream API中的一个中间操作它接受一个函数作为参数并将该函数应用到流中的每一个元素上。这里的 x 是流中元素的占位符你可以通过 x 来引用流中的每一个元素并对其进行某种转换或操作。 注: map操作必须返回一个对象 例如假设你有一个 OrderDetail 类它有一个 price 属性你想得到所有订单详情的价格之和。你可以这样做 ListOrderDetail orderDetailList // ... 获取订单详情列表 ​ double totalPrice orderDetailList.stream().map(orderDetail::getPrice) //将每个OrderDetail对象转换为它的价格(假设getPrice是获取价格的方法).mapToDouble(Double::doubleValue) //将StreamBigDecimal转换为StreamDouble(如果price是BigDecimal类型).sum(); //计算价格的总和 在上面的代码中OrderDetail::getPrice 是一个方法引用它等价于 x - x.getPrice()。这意味着对于 orderDetailList 中的每个 OrderDetail 对象 x我们都在调用其 getPrice() 方法来获取价格。 mapToDouble 方法是将Stream中的元素转换为一个double值的流这里假设 getPrice() 返回的是 BigDecimal 类型我们需要将其转换为 double 以便进行数学运算。 最后sum() 方法计算了所有价格的总和。 请注意Stream API 提供了丰富的中间操作和终止操作允许你以声明式的方式处理集合数据。中间操作会返回一个新的流而终止操作会返回一个非流的结果或者执行某种副作用。 3.3 将原订单详情里面的菜品信息重新复制到购物车对象中 BeanUtils.copyProperties(x, shoppingCart, id); 使用Java的Stream API和Apache Commons BeanUtils库来将orderDetailList中的OrderDetail对象转换为ShoppingCart对象列表。 BeanUtils.copyProperties( )的第三个参数是一个用来指定要排除的属性名(参数)即忽略哪个参数 为什么要根据id参数值忽略某些数据 我们在进行再来一单业务逻辑处理前首先在浏览界面对所选菜品或套餐进行加入购物车操作在这一操作中购物车中的id代表自身序号接入一份数据便会在支付成功之后购物车中的数据会自动删除。由于购物车属性shopping_cart与订单属性orders性质不同若是把订单属性中的id强加给购物车信息紊乱无法使用。 3.4 收集Stream中映射后的对象 .collect(Collectors.toList()); 使用了Collectors.toList()来收集Stream中映射后的所有ShoppingCart对象到一个新的列表中。 完整代码如下 public void repetition(long id) {//根据id查询到原来订单中菜品信息ListOrderDetail orderDetailList orderDetailMapper.getByOrderId(id); ​//查询当前用户idLong userId BaseContext.getCurrentId(); ​// 将订单详情对象转换为购物车对象ListShoppingCart shoppingCartList orderDetailList.stream().map(x-{//这里的x代表的是 orderDetailList集合中每一个元素ShoppingCart shoppingCartnew ShoppingCart(); ​// 将原订单详情里面的菜品信息重新复制到购物车对象中BeanUtils.copyProperties(x,shoppingCart,id);shoppingCart.setUserId(userId);shoppingCart.setCreateTime(LocalDateTime.now()); ​return shoppingCart;}).collect(Collectors.toList());//Collectors.toList()来收集Stream中映射后的所有ShoppingCart对象到一个新的列表中 ​//将购物车对象批量添加到数据库shoppingCartMapper.insertBatch(shoppingCartList);} ​
http://www.pierceye.com/news/168815/

相关文章:

  • 广州网站设计制作江门住房与城乡建设局官方网站
  • 电子商城网站建设参考文献新手建立企业网站流程
  • 站长工具使用wordpress搜索框制作教程
  • 上海翼成信息科技有限公司做的什么网站怎么办一个网站
  • 上海网站建设的英文wordpress login 图标
  • 雅安市网站建设搭建网站工具
  • 网站如何做301重定向南宁一站网 给网站做营销
  • 网站 使用的字体女生电子商务专业适合做什么
  • 电商网站首页模板连云港 网站 建设
  • 自助建站广告发布企业年检网上申报流程
  • 河北平台网站建设价位外包网站有哪些
  • 做网站客户需要提供的资料梧州网站建设推荐
  • 网站商城建设实训心得网络推广有用吗
  • 考试网站建设房价2024年暴跌
  • 北京网站seo价格建设教育培训的网站
  • 怎样做网站手机和电脑通用木马工业设计公司
  • 榆林市建设局官方网站ppt中网站布局图怎么做
  • 网站视频插件代码如何创建自己的软件
  • 如何免费建造网站电商网站建设哪家好
  • ps做网站首页设计教程郑州seo优化外包热狗网
  • 给网站增加功能怎么做360搜索关键词优化软件
  • 如何做公司网站空间南昌做网站的公司哪个比较好的
  • 美容网站开发网络营销的功能有哪些
  • 推广自己的网站需要怎么做做政协网站的目的是什么
  • 综合性电子商务网站有哪些商城系统软件开发
  • 网站服务器解决方案企业门户网站管理要求
  • 南京网站开发南京乐识专注岳阳网站建设网站
  • 做一直播网站要多少钱淘宝客如何建设推广网站
  • 网站模板内容怎么添加图片不显示菏泽做网站
  • 个人网站备案条件盐城做网站哪家好