Browse Source

Merge remote-tracking branch 'origin/master'

shensong 5 years ago
parent
commit
f4a022974e

+ 8 - 0
app/GoodsSkus.php

@@ -13,5 +13,13 @@ class GoodsSkus extends Model
13 13
 {
14 14
     public $timestamps = false;
15 15
     protected $table = "goods_skus";
16
+
17
+    public static function actualQuantity($sku_id){
18
+    	//计算实际库存 -还未到卖家云的量
19
+    	$sku_quantity = GoodsSkus::where('id', $sku_id)->pluck('quantity');
20
+        $w_num = OrderGoodsSkus::where('sku_id', $sku_id)->where('is_del',0)->where('mj_status',0)->sum('num');
21
+        $quantity = $sku_quantity - $w_num;
22
+        return $quantity;
23
+    }
16 24
    
17 25
 }

+ 3 - 0
app/Http/Controllers/Admin/GoodsController.php

@@ -61,6 +61,9 @@ class GoodsController extends Controller
61 61
         foreach($result as $k=>&$v){
62 62
             # 获取sku
63 63
             $skuList = GoodsSkus::where('goodsCode', $v['id'])->where('is_del', 0)->get();
64
+            foreach($skuList as $k=>&$item){
65
+                $item->quantity = GoodsSkus::actualQuantity($item->id);
66
+            }
64 67
             $v['sku_list'] = $skuList;            
65 68
         }
66 69
 

+ 21 - 4
app/Http/Controllers/Admin/OrderController.php

@@ -494,7 +494,16 @@ class OrderController extends Controller
494 494
         foreach($gift_info as $k=>$v){
495 495
             //获取礼品信息
496 496
             $goods_name = Goods::where('id', $v['goods_id'])->pluck('name');
497
-            $sku = GoodsSkus::where('id', $v['sku_id'])->first();
497
+            $sku = GoodsSkus::where('id', $v['sku_id'])->where('is_del', 0)->where(function($query){
498
+                $query->where('is_white', 1)->orWhere('quantity','>',0);
499
+            })->first();
500
+            if(empty($sku)) continue;
501
+            //计算实际库存 -还未到卖家云的量
502
+            $quantity = GoodsSkus::actualQuantity($v['sku_id']);
503
+            if($quantity<=0){
504
+                continue;
505
+            }
506
+
498 507
             $data = array();
499 508
             $data['id'] = $v['id'];
500 509
             $data['goods_name'] = $goods_name;
@@ -860,8 +869,7 @@ class OrderController extends Controller
860 869
             foreach($goods as $k=>&$v){
861 870
                 $v['num'] = $order_skus[$v['sku_id']];
862 871
                 //计算实际库存 -还未到卖家云的量
863
-                $w_num = DB::table('order_goods_skus')->where('sku_id', $v['sku_id'])->where('is_del',0)->where('order_id','!=',$id)->where('mj_status',0)->sum('num');
864
-                $v['quantity'] = $v['quantity'] - $w_num;
872
+                $v['quantity'] = GoodsSkus::actualQuantity($v['sku_id']);
865 873
             }
866 874
             $order['goods'] = $goods;
867 875
         }
@@ -881,7 +889,16 @@ class OrderController extends Controller
881 889
         foreach($gift_info as $k=>$val){
882 890
             //获取礼品信息
883 891
             $goods_name = Goods::where('id', $val['goods_id'])->pluck('name');
884
-            $sku = GoodsSkus::where('id', $val['sku_id'])->first();
892
+            $sku = GoodsSkus::where('id', $val['sku_id'])->where('is_del', 0)->where(function($query){
893
+                $query->where('is_white', 1)->orWhere('quantity','>',0);
894
+            })->first();
895
+            if(empty($sku)) continue;
896
+            //计算实际库存 -还未到卖家云的量
897
+            $quantity = GoodsSkus::actualQuantity($val['sku_id']);
898
+            if($quantity<=0){
899
+                continue;
900
+            }
901
+
885 902
             $data = array();
886 903
             $data['id'] = $val['id'];
887 904
             $data['goods_name'] = $goods_name;