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/member/controller/MemMerchantController.java |   51 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemMerchantController.java b/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemMerchantController.java
index 3e9ce93..d9d68b9 100644
--- a/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemMerchantController.java
+++ b/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemMerchantController.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
 import com.sinata.common.enums.EnumIsDelete;
 import com.sinata.core.base.controller.BaseController;
 import com.sinata.core.base.tips.ErrorTip;
@@ -28,6 +29,7 @@
 import com.sinata.modular.system.model.StoreService;
 import com.sinata.modular.system.service.IAreaCityService;
 import com.sinata.modular.system.service.IStoreServiceService;
+import java.util.HashMap;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -127,7 +129,9 @@
         wrapper2.eq("is_open", 1);
         wrapper2.eq("is_delete", EnumIsDelete.EXISTED.index);
         model.addAttribute("cityAreaList", areaCityService.selectList(wrapper2));
-        model.addAttribute("merchantGoodsList", mallGoodsSkuService.queryMerchantGoodsList(memMerchant.getId()));
+        List<HashMap<String, Object>> list = mallGoodsSkuService.queryMerchantGoodsList(
+                memMerchant.getId());
+        model.addAttribute("merchantGoodsList", list);
         LogObjectHolder.me().set(memMerchant);
         return PREFIX + "memMerchant_edit.html";
     }
@@ -214,25 +218,36 @@
                     MallGoodsSku sku = new MallGoodsSku();
                     sku.setPriceMerchant(jsonObject.getBigDecimal("price"));
                     sku.setState(jsonObject.getInteger("state"));
-                    wrapper.eq("merchant_id", merchantId);
+                    wrapper.eq("merchant_id", merchantId)
+                            .eq("id", jsonObject.getInteger("goodsSkuId"));
                     mallGoodsSkuService.update(sku, wrapper);
                 } else {
-                    wrapper.eq("merchant_id", 0);
-                    List<MallGoodsSku> skuList = mallGoodsSkuService.selectList(wrapper);
-                    goodsList.addAll(skuList.stream().map(sku -> {
-                                MallGoodsSku goodsSku = new MallGoodsSku();
-                                BeanUtils.copyProperties(sku, goodsSku);
-                                goodsSku.setPriceMerchant(jsonObject.getBigDecimal("price"));
-                                goodsSku.setPrice(sku.getPrice());
-                                goodsSku.setPriceMember(sku.getPriceMember());
-                                goodsSku.setPriceSale(sku.getPriceSale());
-                                goodsSku.setId(null);
-                                goodsSku.setState(jsonObject.getInteger("state"));
-                                goodsSku.setSkuId(sku.getId());
-                                goodsSku.setMerchantId(merchantId);
-                                return goodsSku;
-                            }).collect(Collectors.toList())
-                    );
+                    //查询门店sku,防止重复添加
+                    wrapper.eq("merchant_id", merchantId).
+                    eq("spec_ids", jsonObject.getInteger("specIds"));
+                    MallGoodsSku specSku = mallGoodsSkuService.selectOne(wrapper);
+                    if (Objects.nonNull(specSku)) {
+                        specSku.setPriceMerchant(jsonObject.getBigDecimal("price"));
+                        specSku.setState(jsonObject.getInteger("state"));
+                        mallGoodsSkuService.updateById(specSku);
+                    } else {
+                        wrapper = new EntityWrapper<MallGoodsSku>();
+                        wrapper.eq("spec_ids", jsonObject.getInteger("specIds"))
+                                .eq("merchant_id", 0)
+                                .eq("goods_id", jsonObject.getInteger("goodsId"));
+                        MallGoodsSku sku = mallGoodsSkuService.selectOne(wrapper);
+                        MallGoodsSku goodsSku = new MallGoodsSku();
+                        BeanUtils.copyProperties(sku, goodsSku);
+                        goodsSku.setPriceMerchant(jsonObject.getBigDecimal("price"));
+                        goodsSku.setPrice(sku.getPrice());
+                        goodsSku.setPriceMember(sku.getPriceMember());
+                        goodsSku.setPriceSale(sku.getPriceSale());
+                        goodsSku.setId(null);
+                        goodsSku.setState(jsonObject.getInteger("state"));
+                        goodsSku.setSkuId(sku.getId());
+                        goodsSku.setMerchantId(merchantId);
+                        goodsList.addAll(Lists.newArrayList(goodsSku));
+                    }
                 }
             }
             if (goodsList.size() > 0) {

--
Gitblit v1.7.1