刘俊驰 преди 1 година
родител
ревизия
570030fff0

+ 12 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/PmsProductServiceImpl.java

@@ -286,6 +286,17 @@ public class PmsProductServiceImpl implements PmsProductService {
         List<PmsSkuStock> removeSkuList = oriStuList.stream().filter(item-> !updateSkuIds.contains(item.getId())).collect(Collectors.toList());
         handleSkuStockCode(insertSkuList,id);
         handleSkuStockCode(updateSkuList,id);
+
+        List<PmsSkuStock> adds= new ArrayList<>();
+        adds.addAll(insertSkuList);
+        adds.addAll(updateSkuList);
+
+        // 判断sku编码是否重复
+        List<String> skuCodes = adds.stream().map(PmsSkuStock::getSkuCode).collect(Collectors.toList());
+        long distinctCount = skuCodes.stream().distinct().count();
+        if (distinctCount != skuCodes.size()) {
+            throw new BizException("SKU编码重复");
+        }
         //新增sku
         if(CollUtil.isNotEmpty(insertSkuList)){
             relateAndInsertList(skuStockDao, insertSkuList, id);
@@ -301,6 +312,7 @@ public class PmsProductServiceImpl implements PmsProductService {
         }
         //修改sku
         if(CollUtil.isNotEmpty(updateSkuList)){
+
             for (PmsSkuStock pmsSkuStock : updateSkuList) {
                 pmsSkuStock.setLockStock(null);
                 skuStockMapper.updateByPrimaryKeySelective(pmsSkuStock);

+ 10 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/PmsSkuStockServiceImpl.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.admin.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
+import com.ym.mec.common.exception.BizException;
 import com.yonge.cooleshow.admin.dao.PmsSkuStockDao;
 import com.yonge.cooleshow.admin.wrapper.PmsSkuStockWrapper;
 import com.yonge.cooleshow.mbg.dto.PmsSkuStockDto;
@@ -69,6 +70,15 @@ public class PmsSkuStockServiceImpl implements PmsSkuStockService {
 
     @Override
     public int update(Long pid, List<PmsSkuStock> skuStockList) {
+
+        // 判断sku code是否重复
+        // 判断sku编码是否重复
+        List<String> skuCodes = skuStockList.stream().map(PmsSkuStock::getSkuCode).collect(Collectors.toList());
+        long distinctCount = skuCodes.stream().distinct().count();
+        if (distinctCount != skuCodes.size()) {
+            throw new BizException("SKU编码重复");
+        }
+
         return skuStockDao.replaceList(skuStockList);
     }
 

+ 10 - 5
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsCartItemServiceImpl.java

@@ -10,10 +10,7 @@ import com.yonge.cooleshow.mbg.model.*;
 import com.yonge.cooleshow.portal.dao.PortalProductDao;
 import com.yonge.cooleshow.portal.domain.CartProduct;
 import com.yonge.cooleshow.portal.domain.CartPromotionItem;
-import com.yonge.cooleshow.portal.service.OmsCartItemService;
-import com.yonge.cooleshow.portal.service.OmsPromotionService;
-import com.yonge.cooleshow.portal.service.PmsPortalProductService;
-import com.yonge.cooleshow.portal.service.UmsMemberService;
+import com.yonge.cooleshow.portal.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -49,6 +46,9 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
     @Autowired
     private PmsPortalProductService portalProductService;
 
+    @Autowired
+    private PortalBrandService portalBrandService;
+
     @Override
     public OmsCartItem add(OmsCartItem cartItem) {
         UmsMember currentMember;
@@ -85,7 +85,12 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
             cartItem.setProductName(pmsProduct.getName());
             cartItem.setProductSubTitle(pmsProduct.getSubTitle());
             cartItem.setProductCategoryId(pmsProduct.getProductCategoryId());
-            cartItem.setProductBrand(pmsProduct.getName());
+            if (pmsProduct.getBrandId() != null) {
+                PmsBrand detail = portalBrandService.detail(pmsProduct.getBrandId());
+                if ( detail != null) {
+                    cartItem.setProductBrand(detail.getName());
+                }
+            }
             cartItem.setProductSn(pmsProduct.getProductSn());
             if (cartItem.getProductSkuId() != null) {
                 cartItem.setProductSkuCode(pmsSkuStock.getSkuCode());