mitao
2024-04-30 ab4ea7b8f10c9b66aed9c2ea161a08b25c3851a7
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,12 +218,24 @@
                    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 -> {
                    //查询门店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"));
@@ -230,9 +246,8 @@
                                goodsSku.setState(jsonObject.getInteger("state"));
                                goodsSku.setSkuId(sku.getId());
                                goodsSku.setMerchantId(merchantId);
                                return goodsSku;
                            }).collect(Collectors.toList())
                    );
                        goodsList.addAll(Lists.newArrayList(goodsSku));
                    }
                }
            }
            if (goodsList.size() > 0) {