فهرست منبع

Merge branch 'dev' of 113.31.163.91:quanshu/mp-server into dev

chunping 3 سال پیش
والد
کامیت
7ade4908d5
1فایلهای تغییر یافته به همراه31 افزوده شده و 8 حذف شده
  1. 31 8
      mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

+ 31 - 8
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.admin.domain.Coupon;
 import com.qs.mp.admin.domain.Goods;
 import com.qs.mp.admin.domain.GoodsCategory;
+import com.qs.mp.admin.domain.GoodsSku;
 import com.qs.mp.admin.domain.param.CouponParam;
 import com.qs.mp.admin.domain.param.GoodsParam;
 import com.qs.mp.admin.domain.vo.GoodsListVO;
@@ -110,13 +111,24 @@ public class GoodsMgrController extends BaseApiController {
 		}
 		
 		// 多SKU
-		if(goods.getMultiSku() == 1 
-				&&  (null == goodsParam.getSkuList() || goodsParam.getSkuList().size() == 0)) {
-			return AjaxResult.error("商品" + goods.getTitle() + "不满足多SKU条件!");
+		List<GoodsSku> skuList = goodsParam.getSkuList();
+		if(goods.getMultiSku() == 1) { // 
+			if((null == skuList || skuList.size() == 0)) {
+				return AjaxResult.error("商品" + goods.getTitle() + "不满足多SKU条件!");
+			}else {
+				GoodsSku firstGoodsSku = skuList.get(0);
+				goods.setOriginPrice(firstGoodsSku.getOriginPrice());
+				goods.setExchangePrice(firstGoodsSku.getExchangePrice());
+				goods.setValue(firstGoodsSku.getValue());
+				goods.setCost(firstGoodsSku.getCost());
+				// 累计库存
+				int totalQuantity = skuList.stream().mapToInt(GoodsSku::getQuantity).sum();
+				goods.setQuantity(totalQuantity);
+			}
 		}
 		// 3.插入数据
 		try {
-			goodsService.saveGoods(goods, goodsParam.getSkuList());
+			goodsService.saveGoods(goods, skuList);
 		} catch (Exception e) {
 			return AjaxResult.error("商品'" + goods.getTitle() + "'新增失败" + e.getMessage());
 		}
@@ -151,13 +163,24 @@ public class GoodsMgrController extends BaseApiController {
 		}
 		
 		// 多SKU
-		if(goods.getMultiSku() == 1 
-				&&  (null == goodsParam.getSkuList() || goodsParam.getSkuList().size() == 0)) {
-			return AjaxResult.error("商品" + goods.getTitle() + "不满足多SKU条件!");
+		List<GoodsSku> skuList = goodsParam.getSkuList();
+		if(goods.getMultiSku() == 1) {
+			if((null == skuList || skuList.size() == 0)) {
+				return AjaxResult.error("商品" + goods.getTitle() + "不满足多SKU条件!");
+			}else {
+				GoodsSku firstGoodsSku = skuList.get(0);
+				goods.setOriginPrice(firstGoodsSku.getOriginPrice());
+				goods.setExchangePrice(firstGoodsSku.getExchangePrice());
+				goods.setValue(firstGoodsSku.getValue());
+				goods.setCost(firstGoodsSku.getCost());
+				// 累计库存
+				int totalQuantity = skuList.stream().mapToInt(GoodsSku::getQuantity).sum();
+				goods.setQuantity(totalQuantity);
+			}
 		}
 		// 3.插入数据
 		try {
-			goodsService.updateGoods(goods, goodsParam.getSkuList());
+			goodsService.updateGoods(goods, skuList);
 		} catch (Exception e) {
 			return AjaxResult.error("商品'" + goods.getTitle() + "'新增失败" + e.getMessage());
 		}