| | |
| | | package com.sinata.modular.mall.controller; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | |
| | | import com.sinata.common.enums.EnumIsDelete; |
| | | import com.sinata.common.enums.mall.EnumMallGoodsGroupType; |
| | | import com.sinata.common.enums.mall.EnumMallGoodsState; |
| | | import com.sinata.common.model.GroupSpecGoodsSkuJsonVo; |
| | | import com.sinata.core.base.controller.BaseController; |
| | | import com.sinata.core.base.tips.ErrorTip; |
| | | import com.sinata.core.common.annotion.BussinessLog; |
| | |
| | | ); |
| | | |
| | | return list.stream().map(o -> { |
| | | String[] goodsIds = o.getGoodsIds().split(","); |
| | | // String[] goodsIds = o.getGoodsIds().split(","); |
| | | // List<MallGoods> mallGoodsList = goodsList.stream() |
| | | // .filter(ggg -> { |
| | | // for (String gid : goodsIds) { |
| | | // if (gid.equals(ggg.getId() + "")) { |
| | | // return true; |
| | | // } |
| | | // } |
| | | // return false; |
| | | // }).collect(Collectors.toList()); |
| | | // |
| | | // o.setGoodsNames( |
| | | // mallGoodsList.stream() |
| | | // .map(MallGoods::getGoodsName) |
| | | // .collect(Collectors.joining(",")) |
| | | // ); |
| | | |
| | | // 封装显示套餐规格组商品名称、数量 |
| | | List<GroupSpecGoodsSkuJsonVo> groupSpecGoodsSkuJsonVoList; |
| | | String goodsSkuJson = o.getGoodsSkuJson(); |
| | | if (ObjUtil.isNotEmpty(goodsSkuJson)) { |
| | | groupSpecGoodsSkuJsonVoList = JSONUtil.parseArray(goodsSkuJson).toList(GroupSpecGoodsSkuJsonVo.class); |
| | | } else { |
| | | groupSpecGoodsSkuJsonVoList = null; |
| | | } |
| | | List<MallGoods> mallGoodsList = goodsList.stream() |
| | | .filter(ggg -> { |
| | | for (String gid : goodsIds) { |
| | | if (gid.equals(ggg.getId() + "")) { |
| | | return true; |
| | | if (groupSpecGoodsSkuJsonVoList != null) { |
| | | for (GroupSpecGoodsSkuJsonVo groupSpecGoodsSkuJsonVo : groupSpecGoodsSkuJsonVoList) { |
| | | if (groupSpecGoodsSkuJsonVo.getGoodsId().equals(ggg.getId())) { |
| | | ggg.setStock(groupSpecGoodsSkuJsonVo.getGoodsNum()); |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | o.setGoodsNames( |
| | | mallGoodsList.stream() |
| | | .map(MallGoods::getGoodsName) |
| | | .map(ggg -> ggg.getGoodsName() + "x" + ggg.getStock()) |
| | | .collect(Collectors.joining(",")) |
| | | ); |
| | | |
| | | o.setTotalPrice( |
| | | mallGoodsList.stream() |
| | | .map(MallGoods::getPrice) |
| | | .map(ggg -> ggg.getPrice().multiply(BigDecimal.valueOf(ggg.getStock()))) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add) |
| | | ); |
| | | |