From ab4ea7b8f10c9b66aed9c2ea161a08b25c3851a7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 30 四月 2024 19:11:37 +0800 Subject: [PATCH] 2024.04新增内容 --- meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallGoodsController.java | 67 ++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 19 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 244a52c..39ab6fd 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 @@ -19,9 +19,11 @@ import com.sinata.core.common.constant.factory.PageFactory; import com.sinata.core.common.exception.BizExceptionEnum; import com.sinata.core.log.LogObjectHolder; +import com.sinata.core.shiro.ShiroKit; import com.sinata.core.util.Convert; import com.sinata.core.util.DateUtils2; import com.sinata.core.util.ExcelExportUtil; +import com.sinata.core.util.SpringContextHolder; import com.sinata.modular.mall.model.*; import com.sinata.modular.mall.service.*; import org.apache.commons.collections.CollectionUtils; @@ -125,7 +127,7 @@ public List<MallGoodsSku> getGoodsSpecData(Integer goodsId) { List<MallGoodsSku> skuList = mallGoodsSkuService.selectList( new EntityWrapper<MallGoodsSku>() - .setSqlSelect("spec_ids id, grep_name, stock") + .setSqlSelect("spec_ids id, grep_name, stock,price_sale,price_member") .eq("goods_id", goodsId) .eq("merchant_id", 0) ); @@ -453,25 +455,47 @@ wrapper.eq("group_type", groupType); } List<MallGoods> goodsList = mallGoodsService.selectList(wrapper); - List<HashMap<String, Object>> goodsMapList = goodsList.stream().map(goods -> { - HashMap<String, Object> goodMap = new HashMap<>(); - //商品编号 - goodMap.put("aGoodsNo", goods.getGoodsNo()); - goodMap.put("bName", goods.getGoodsName()); - goodMap.put("cGroupType", goods.getGroupType()); - String groupTypName = goods.getGroupType() > 0 ? (goods.getGroupType() == 1 ? "黄金套餐" : "钻石套餐") : "普通商品"; - goodMap.put("cGroupTypeName", groupTypName); - goodMap.put("dPrice", goods.getPrice()); - goodMap.put("dPriceDale", goods.getPriceSale()); - goodMap.put("ePriceMember", goods.getPriceMember()); - goodMap.put("fStock", goods.getStock()); - goodMap.put("gBuyCount", goods.getBuyCount()); - goodMap.put("hId", goods.getId()); - return goodMap; - }).collect(Collectors.toList()); + Set<Integer> goodsIdList = goodsList.stream().map(MallGoods::getId).collect(Collectors.toSet()); + Wrapper skuWrapper = new EntityWrapper<MallGoodsSku>().in("goods_id", goodsIdList) + .eq("merchant_id", 0).orderBy("id", false); + List<MallGoodsSku> skuList = mallGoodsSkuService.selectList(skuWrapper); + List<HashMap<String, Object>> result = new ArrayList<>(); + goodsList.forEach(goods -> { + List<MallGoodsSku> goodsSkuList = skuList.stream() + .filter(sku -> sku.getGoodsId().equals(goods.getId())) + .collect(Collectors.toList()); + List<HashMap<String, Object>> goodsMapList = goodsSkuList.stream().map(sku -> { + HashMap<String, Object> goodMap = new HashMap<>(); + //商品编号 + goodMap.put("aGoodsNo", goods.getGoodsNo()); + goodMap.put("bName", goods.getGoodsName()); + goodMap.put("bbGrepName", sku.getGrepName()); + goodMap.put("cGroupType", goods.getGroupType()); + String groupTypName = goods.getGroupType() > 0 ? (goods.getGroupType() == 1 ? "黄金套餐" + : "钻石套餐") : "普通商品"; + goodMap.put("cGroupTypeName", groupTypName); + goodMap.put("dPrice", goods.getPrice()); + goodMap.put("dPriceDale", sku.getPriceSale()); + goodMap.put("ePriceMember", sku.getPriceMember()); + goodMap.put("fStock", sku.getStock()); + goodMap.put("gBuyCount", goods.getBuyCount()); + goodMap.put("hId", goods.getId()); + goodMap.put("iSpecIds", sku.getSpecIds()); + goodMap.put("jSkuId", sku.getId()); + return goodMap; + }).collect(Collectors.toList()); + result.addAll(goodsMapList); + }); + /*for (int i = 0; i < result.size(); i++) { + for (int j = i+1; j < result.size(); j++) { + if (result.get(i).get("hId").equals(result.get(j).get("hId"))) { + result.get(j).put("bName",""); + } + } + }*/ return new HashMap<String, Object>() {{ put("code", 200); - put("value", goodsMapList); + put("value", result); }}; } @@ -488,7 +512,7 @@ @BussinessLog(value = "获取商品规格") @RequestMapping(value = "/getGoodsSpecs") - public Object getGoodsSpecs(Integer oneClassifyId, Integer twoClassifyId, Model model) { + public Object getGoodsSpecs(Integer oneClassifyId, Integer twoClassifyId,@RequestParam(required = false) List<String> selectedItems, Model model) { Wrapper<MallGoodsSpec> wrapper = new EntityWrapper<MallGoodsSpec>() .eq("is_delete", EnumIsDelete.EXISTED.index) .addFilter("concat(',',classify_id_one,',') like concat( '%,', {0}, ',%' )", oneClassifyId); @@ -496,6 +520,11 @@ if (CollectionUtils.isEmpty(goodsSpecs)) { goodsSpecs = Lists.newArrayList(); } + if (!selectedItems.isEmpty()) { + goodsSpecs = goodsSpecs.stream() + .filter(specs -> !selectedItems.contains(specs.getSpecName())).collect( + Collectors.toList()); + } model.addAttribute("goodsSpecs", goodsSpecs); return PREFIX + "add_specs.html"; } -- Gitblit v1.7.1