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/MallGoodsController.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsController.java b/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsController.java index f53bdfe..244a52c 100644 --- a/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsController.java +++ b/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsController.java @@ -1,5 +1,6 @@ package com.sinata.modular.mall.controller; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; @@ -10,6 +11,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; @@ -47,6 +49,9 @@ @Autowired private IMallGoodsService mallGoodsService; + + @Autowired + private IMallGroupSpecService groupSpecService; @Autowired private IMallGoodsSkuService mallGoodsSkuService; @@ -527,4 +532,55 @@ .in("id", ids.split(",")) ); } + + @ResponseBody + @BussinessLog(value = "获取商品列表") + @GetMapping(value = "/goodsByGoodsSpecId") + public List<Map<String, Object>> goodsByIdsList(String goodsIds, Integer groupSpecId, String oldGoodsSkuJson) { + List<MallGoods> goodsList = mallGoodsService.selectList( + new EntityWrapper<MallGoods>() + .eq("group_type", EnumMallGoodsGroupType.GOODS.index) + .in("id", goodsIds.split(",")) + ); + + List<Map<String, Object>> list; + if (groupSpecId != null) { + String goodsSkuJson = oldGoodsSkuJson; + if (StrUtil.isBlank(goodsSkuJson) || goodsSkuJson.equals("[]")) { + // 查询套餐规格组信息 + MallGroupSpec groupSpec = groupSpecService.selectById(groupSpecId); + goodsSkuJson = groupSpec.getGoodsSkuJson(); + } + + // 格式化套餐规格组数据 + List<GroupSpecGoodsSkuJsonVo> groupSpecGoodsSkuJsonVoList; + if (StrUtil.isBlank(goodsSkuJson) || goodsSkuJson.equals("[]")) { + groupSpecGoodsSkuJsonVoList = null; + } else { + groupSpecGoodsSkuJsonVoList = JSONUtil.parseArray(goodsSkuJson).toList(GroupSpecGoodsSkuJsonVo.class); + } + + list = goodsList.stream().map(o -> { + Map<String, Object> map = BeanUtil.beanToMap(o); + Integer goodsNum = 1; + if (groupSpecGoodsSkuJsonVoList != null) { + // 匹配商品数量 + for (GroupSpecGoodsSkuJsonVo groupSpecGoodsSkuJsonVo : groupSpecGoodsSkuJsonVoList) { + if (o.getId().equals(groupSpecGoodsSkuJsonVo.getGoodsId())) { + goodsNum = groupSpecGoodsSkuJsonVo.getGoodsNum(); + } + } + } + map.put("goodsNum", goodsNum); + return map; + }).collect(Collectors.toList()); + } else { + list = goodsList.stream().map(o -> { + Map<String, Object> map = BeanUtil.beanToMap(o); + map.put("goodsNum", 1); + return map; + }).collect(Collectors.toList()); + } + return list; + } } -- Gitblit v1.7.1