wesmiler 1 tahun lalu
induk
melakukan
8d8a258d61
2 mengubah file dengan 15 tambahan dan 2 penghapusan
  1. 13 1
      app/Services/Api/GoodsService.php
  2. 2 1
      app/Services/Api/OrderService.php

+ 13 - 1
app/Services/Api/GoodsService.php

@@ -363,7 +363,7 @@ class GoodsService extends BaseService
             return $datas;
         }
 
-        $goods = $this->model->from('goods as a')
+        $goods = $this->model->with(['skuList'])->from('goods as a')
             ->whereIn('a.goods_id',$ids)
             ->where(['a.status' => 1, 'a.mark' => 1])
             ->where('a.retail_price', '>', 0)
@@ -371,6 +371,18 @@ class GoodsService extends BaseService
             ->get();
         $goods = $goods? $goods->toArray() : [];
         if($goods){
+            foreach ($goods as &$item){
+                $skuList = isset($item['sku_list'])? $item['sku_list'] : [];
+                if($skuList){
+                    $skus = [];
+                    foreach ($skuList as $v){
+                        $v['retail_price'] = $this->getRealSalePrice($v['plat_price']);
+                        $skus[$v['sku_id']] = $v;
+                    }
+
+                    $item['sku_list'] = $skus;
+                }
+            }
             RedisService::set($cacheKey, $goods, rand(3,5));
         }
         return $goods;

+ 2 - 1
app/Services/Api/OrderService.php

@@ -222,9 +222,10 @@ class OrderService extends BaseService
         foreach($goods as &$item){
             $goodsId = isset($item['goods_id'])? $item['goods_id'] : 0;
             $merchId = isset($item['merch_id'])? $item['merch_id'] : 0;
-            $price = isset($item['cost_price'])? $item['cost_price'] : 0;
             $num = isset($skuList[$goodsId]['num'])? intval($skuList[$goodsId]['num']) : 0;
             $skuId = isset($skuList[$goodsId]['sku_id'])? intval($skuList[$goodsId]['sku_id']) : 0;
+            $skuInfo = isset($item['sku_list'][$skuId])? $item['sku_list'][$skuId] : [];
+            $price = isset($skuInfo['retail_price'])? $skuInfo['retail_price'] : 0;
             $attr = isset($skuAttr[$goodsId])? $skuAttr[$goodsId] : [];
             if($num>0 && $skuId >0 && $price>0){
                 $item['price'] = GoodsService::make()->getRealSalePrice($price); // 浮动后星豆价