From e14a6debcb17348164f703fcb2a7b9b1c3608352 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 02 二月 2024 10:19:32 +0800 Subject: [PATCH] 提交版本 --- meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsGroupController.java | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 deletions(-) diff --git a/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsGroupController.java b/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsGroupController.java index 1520b89..bc7717c 100644 --- a/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsGroupController.java +++ b/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsGroupController.java @@ -1,6 +1,7 @@ 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; @@ -9,6 +10,7 @@ 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; @@ -536,27 +538,52 @@ ); 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) ); -- Gitblit v1.7.1