Browse Source

商品列表接口修改

shensong 5 years ago
parent
commit
c2a9628452
1 changed files with 34 additions and 15 deletions
  1. 34 15
      app/Http/Controllers/Api/GoodsController.php

+ 34 - 15
app/Http/Controllers/Api/GoodsController.php

@@ -1,6 +1,7 @@
1 1
 <?php namespace App\Http\Controllers\Api;
2 2
 
3 3
 use App\Goods;
4
+use App\GoodsSkus;
4 5
 use App\Http\Controllers\Controller;
5 6
 use Illuminate\Http\Request;
6 7
 
@@ -8,18 +9,27 @@ class GoodsController extends Controller {
8 9
 
9 10
 	public function index()
10 11
 	{
11
-        $result = Goods::select('gs.id as sku_id', 'goods.id as goods_id', 'goods.name', 'gs.propsName', 'gs.price', 'gs.is_weigh', 'gs.quantity', 'gs.is_white','goods.picUrl','goods.goodsCategoryName')->leftJoin('goods_skus as gs', 'gs.goodsCode', '=', 'goods.id')->where('goods.is_del', 0)->where('gs.is_del', 0)->orderBy('goods.id', 'desc')->get();
12
+        $result = Goods::select('id as goods_id', 'name','picUrl','goodsCategoryName')->where('is_del', 0)->orderBy('goods.id', 'desc')->get();
12 13
         $result = json_decode(json_encode($result), true);
13 14
 
14 15
         $data = array();
15 16
         foreach($result as $value){
16
-            if($value['is_white'] == 0 && $value['quantity'] <= 0){
17
-                $value['stock'] = 0;
18
-            } else {
19
-                $value['stock'] = 1;
17
+            # 获取sku
18
+            $skuList = GoodsSkus::select('id as sku_id','propsName','price','is_white','quantity','is_weigh')->where('goodsCode', $value['goods_id'])->where('is_del', 0)->get();
19
+            $skuList = json_decode(json_encode($skuList),true);
20
+            $sku = array();
21
+            foreach($skuList as $v){
22
+                if($v['is_white'] == 0 && $v['quantity'] <= 0){
23
+                    $v['stock'] = 0;
24
+                } else {
25
+                    $v['stock'] = 1;
26
+                }
27
+                unset($v['is_white']);
28
+                unset($v['quantity']);
29
+                $sku[] = $v;
20 30
             }
21
-            unset($value['is_white']);
22
-            unset($value['quantity']);
31
+            $value['sku_list'] = $sku;
32
+
23 33
             if('0' == $value['goodsCategoryName']) {
24 34
                 $data['其它'][] = $value;
25 35
             } else {
@@ -33,17 +43,26 @@ class GoodsController extends Controller {
33 43
 	public function searchGoods(Request $request)
34 44
     {
35 45
         $name = trim($request->input('name'));
36
-        $result = Goods::select('gs.id as sku_id', 'goods.id as goods_id', 'goods.name', 'gs.propsName', 'gs.price', 'gs.is_weigh', 'gs.quantity', 'gs.is_white','goods.picUrl')->leftJoin('goods_skus as gs', 'gs.goodsCode', '=', 'goods.id')->where('goods.name', 'like', '%'.$name.'%')->where('goods.is_del', 0)->where('gs.is_del', 0)->orderBy('goods.id', 'desc')->get();
46
+        $result = Goods::select('id as goods_id', 'name','picUrl','goodsCategoryName')->where('name', 'like', '%'.$name.'%')->where('is_del', 0)->orderBy('id', 'desc')->get();
37 47
         $result = json_decode(json_encode($result), true);
38 48
         $data = array();
39
-        foreach ($result as $value) {
40
-            if($value['is_white'] == 0 && $value['quantity'] <= 0){
41
-                $value['stock'] = 0;
42
-            } else {
43
-                $value['stock'] = 1;
49
+        foreach($result as $value){
50
+            # 获取sku
51
+            $skuList = GoodsSkus::select('id as sku_id','propsName','price','is_white','quantity','is_weigh')->where('goodsCode', $value['goods_id'])->where('is_del', 0)->get();
52
+            $skuList = json_decode(json_encode($skuList),true);
53
+            $sku = array();
54
+            foreach($skuList as $v){
55
+                if($v['is_white'] == 0 && $v['quantity'] <= 0){
56
+                    $v['stock'] = 0;
57
+                } else {
58
+                    $v['stock'] = 1;
59
+                }
60
+                unset($v['is_white']);
61
+                unset($v['quantity']);
62
+                $sku[] = $v;
44 63
             }
45
-            unset($value['is_white']);
46
-            unset($value['quantity']);
64
+            $value['sku_list'] = $sku;
65
+
47 66
             $data[] = $value;
48 67
         }
49 68