Browse Source

分销商

shensong 5 years ago
parent
commit
47724ce2e5
2 changed files with 41 additions and 32 deletions
  1. 39 31
      app/Console/Commands/SyncGoods.php
  2. 2 1
      config/constants.php

+ 39 - 31
app/Console/Commands/SyncGoods.php

1
 <?php namespace App\Console\Commands;
1
 <?php namespace App\Console\Commands;
2
 
2
 
3
+use App\Log;
3
 use App\Order;
4
 use App\Order;
4
 use Illuminate\Console\Command;
5
 use Illuminate\Console\Command;
5
 use Illuminate\Support\Facades\DB;
6
 use Illuminate\Support\Facades\DB;
32
     }
33
     }
33
 
34
 
34
     public function handleGoodsList($list) {
35
     public function handleGoodsList($list) {
35
-        foreach($list as $goods){
36
+        foreach($list as $key=>$goods){
36
             //查询现在商品表中是否有该商品
37
             //查询现在商品表中是否有该商品
37
-            $info = DB::table('seafood_fx.goods')->where('id',$goods['id'])->first();
38
+            $info = DB::table('seafood_fx.goods')->where('productCode',$goods['productCode'])->first();
38
             if($info){
39
             if($info){
39
                 //有商品信息则更新店铺商品信息
40
                 //有商品信息则更新店铺商品信息
40
                 //卖家云必要参数拼接转化
41
                 //卖家云必要参数拼接转化
41
                 $mjArr = array();
42
                 $mjArr = array();
42
                 $mjArr['eshopCode'] = config('constants.ESHOP_CODE');
43
                 $mjArr['eshopCode'] = config('constants.ESHOP_CODE');
43
-                $mjArr['outerCode'] = $goods['id'];
44
+                $mjArr['outerCode'] = config('constants.GOODS_PREFIX').$goods['id'];
44
                 $mjArr['name'] = $goods['name'];
45
                 $mjArr['name'] = $goods['name'];
45
                 $mjArr['description'] = $goods['description'];
46
                 $mjArr['description'] = $goods['description'];
46
                 $mj = Order::mjGoodsUpdate($mjArr);
47
                 $mj = Order::mjGoodsUpdate($mjArr);
47
                 if($mj == false){
48
                 if($mj == false){
48
-                    echo 'goods_id:'.$goods['id']."\r\n";
49
-                    return false;
49
+                    Log::errorLog(json_encode($mjArr),[],"order/syncGoods",0,'');
50
                 }
50
                 }
51
                 //查询规格信息,更新规格信息
51
                 //查询规格信息,更新规格信息
52
-                $result = DB::table('seafood.goods_skus')->where('goodsCode', $goods['id'])->orderBy('id', 'desc')->get();
52
+                $result = DB::table('seafood.goods_skus')->where('goodsCode', $goods['id'])->get();
53
                 $result = json_decode(json_encode($result),true);
53
                 $result = json_decode(json_encode($result),true);
54
                 foreach ($result as $sku){
54
                 foreach ($result as $sku){
55
                     //查询规格信息
55
                     //查询规格信息
56
-                    $skuInfo = DB::table('seafood_fx.goods_skus')->where('id',$sku['id'])->first();
56
+                    $skuInfo = DB::table('seafood_fx.goods_skus')->where('code',$sku['code'])->first();
57
                     if($skuInfo){
57
                     if($skuInfo){
58
                         //增加shop sku
58
                         //增加shop sku
59
                         $shopArr = array();
59
                         $shopArr = array();
60
-                        $shopArr['outerCode'] = $sku['id'];
60
+                        $shopArr['outerCode'] = config('constants.GOODS_PREFIX').$sku['id'];
61
                         $shopArr['eshopCode'] = config('constants.ESHOP_CODE');
61
                         $shopArr['eshopCode'] = config('constants.ESHOP_CODE');
62
                         $shopArr['goodsCode'] = $sku['goodsCode'];
62
                         $shopArr['goodsCode'] = $sku['goodsCode'];
63
                         $shopArr['propsName'] = $sku['propsName'];
63
                         $shopArr['propsName'] = $sku['propsName'];
67
                         $shopArr['modifyTime'] = $sku['createTime'];
67
                         $shopArr['modifyTime'] = $sku['createTime'];
68
                         $sku_add = Order::mjSkuAdd($shopArr);
68
                         $sku_add = Order::mjSkuAdd($shopArr);
69
                         if($sku_add == false){
69
                         if($sku_add == false){
70
-                            echo 'sku_id:'.$sku['id']."\r\n";
71
-                            return false;
70
+                            Log::errorLog(json_encode($shopArr),[],"order/syncGoods",0,'');
72
                         }
71
                         }
73
                         //更新商品信息以及添加库存
72
                         //更新商品信息以及添加库存
74
-                        $goods_id = $goods['id'];
75
-                        unlink($goods['id']);
76
-                        $goods_up = DB::table('seafood_fx.goods')->where('id',$goods_id)->update($goods);
73
+                        $productCode = $goods['productCode'];
74
+                        unset($goods['productCode']);
75
+                        unset($goods['id']);
76
+                        $goods_up = DB::table('seafood_fx.goods')->where('productCode',$productCode)->update($goods);
77
+                        $sku['goodsCode'] = $skuInfo->id;
77
                         $skus_ad = DB::table('seafood_fx.goods_skus')->insert($sku);
78
                         $skus_ad = DB::table('seafood_fx.goods_skus')->insert($sku);
78
                     } else {
79
                     } else {
79
                         # eshop sku更新
80
                         # eshop sku更新
80
                         $shopArr = array();
81
                         $shopArr = array();
81
                         $shopArr['eshopCode'] = config('constants.ESHOP_CODE');
82
                         $shopArr['eshopCode'] = config('constants.ESHOP_CODE');
82
                         $shopArr['goodsCode'] = $sku['goodsCode'];
83
                         $shopArr['goodsCode'] = $sku['goodsCode'];
83
-                        $shopArr['outerCode'] = $sku['id'];
84
+                        $shopArr['outerCode'] = config('constants.GOODS_PREFIX').$sku['id'];
84
                         $shopArr['propsName'] = $sku['propsName'];
85
                         $shopArr['propsName'] = $sku['propsName'];
85
                         $shopArr['price'] = $sku['price'];
86
                         $shopArr['price'] = $sku['price'];
86
                         $sku_up = Order::mjSkuUpdate($shopArr);
87
                         $sku_up = Order::mjSkuUpdate($shopArr);
87
                         if($sku_up == false){
88
                         if($sku_up == false){
88
-                            echo 'sku_id:'.$sku['id']."\r\n";
89
-                            return false;
89
+                            Log::errorLog(json_encode($shopArr),[],"order/syncGoods",0,'');
90
                         }
90
                         }
91
-                        $goods_id = $goods['id'];
92
-                        unlink($goods['id']);
93
-                        $goods_up = DB::table('seafood_fx.goods')->where('id',$goods_id)->update($goods);
94
-                        $sku_id = $sku['id'];
95
-                        unlink($sku['id']);
96
-                        $sku_update = DB::table('seafood_fx.goods_skus')->where('id',$sku_id)->update($sku);
91
+
92
+                        $productCode = $goods['productCode'];
93
+                        unset($goods['id']);
94
+                        unset($goods['productCode']);
95
+                        $goods_up = DB::table('seafood_fx.goods')->where('productCode',$productCode)->update($goods);
96
+
97
+                        $code = $sku['code'];
98
+                        unset($sku['id']);
99
+                        unset($sku['code']);
100
+                        $sku_update = DB::table('seafood_fx.goods_skus')->where('code',$code)->update($sku);
97
                     }
101
                     }
98
                 }
102
                 }
99
 
103
 
100
             } else {
104
             } else {
101
                 //没有商品,直接同步店铺商品信息以及库存信息
105
                 //没有商品,直接同步店铺商品信息以及库存信息
102
-                $result = DB::table('seafood.goods_skus')->where('goodsCode', $goods['id'])->orderBy('id', 'desc')->get();
106
+                $result = DB::table('seafood.goods_skus')->where('goodsCode', $goods['id'])->get();
103
                 $result = json_decode(json_encode($result),true);
107
                 $result = json_decode(json_encode($result),true);
104
                 $mjArr = array();
108
                 $mjArr = array();
105
                 $skuArr = array();
109
                 $skuArr = array();
108
                         $skuArr[$k]['propsName'] = $sku['propsName'];
112
                         $skuArr[$k]['propsName'] = $sku['propsName'];
109
                         $skuArr[$k]['eShopCode'] = config('constants.ESHOP_CODE');
113
                         $skuArr[$k]['eShopCode'] = config('constants.ESHOP_CODE');
110
                         $skuArr[$k]['price'] = $sku['price'];
114
                         $skuArr[$k]['price'] = $sku['price'];
111
-                        $skuArr[$k]['outerCode'] = $sku['id'];
112
-                        $skuArr[$k]['skuProductCode'] = $sku['code'];
115
+                        $skuArr[$k]['outerCode'] = config('constants.GOODS_PREFIX').$sku['id'];
113
                         $skuArr[$k]['createTime'] = $sku['createTime'];
116
                         $skuArr[$k]['createTime'] = $sku['createTime'];
114
                         $skuArr[$k]['modifyTime'] = $sku['modifyTime'];
117
                         $skuArr[$k]['modifyTime'] = $sku['modifyTime'];
115
                     }
118
                     }
120
                 $mjArr['productCode'] = $goods['productCode'];
123
                 $mjArr['productCode'] = $goods['productCode'];
121
                 $mjArr['goodsCategoryName'] = $goods['goodsCategoryName'];
124
                 $mjArr['goodsCategoryName'] = $goods['goodsCategoryName'];
122
                 $mjArr['picUrl'] = $goods['picUrl'];
125
                 $mjArr['picUrl'] = $goods['picUrl'];
123
-                $mjArr['outerCode'] = $goods['id'];
126
+                $mjArr['outerCode'] = config('constants.GOODS_PREFIX').$goods['id'];
124
                 $mjArr['skuList'] = $skuArr;
127
                 $mjArr['skuList'] = $skuArr;
125
                 $mj = Order::mjGoodsAdd($mjArr);
128
                 $mj = Order::mjGoodsAdd($mjArr);
126
                 if($mj == false){
129
                 if($mj == false){
127
-                    echo 'goods_id:'.$goods['id']."\r\n";
128
-                    return false;
130
+                    Log::errorLog(json_encode($mjArr),[],"order/syncGoods",0,'');
129
                 }
131
                 }
130
                 //数据表中插入商品信息以及规格信息
132
                 //数据表中插入商品信息以及规格信息
131
-                $goods_ad = DB::table('seafood_fx.goods')->insert($goods);
132
-                if(count($result)>0){
133
-                    $sku_ad = DB::table('seafood_fx.goods_skus')->insert($result);
133
+                unset($goods['id']);
134
+                $goods_id = DB::table('seafood_fx.goods')->insertGetId($goods);
135
+                if($goods_id > 0 && count($result)>0 ){
136
+                    foreach ($result as $skus){
137
+                        $skus['goodsCode'] = $goods_id;
138
+                        $sku_ad = DB::table('seafood_fx.goods_skus')->insert($skus);
139
+                    }
140
+
134
                 }
141
                 }
135
             }
142
             }
136
         }
143
         }
144
+        echo 'SUCCESS';die;
137
     }
145
     }
138
 
146
 
139
 }
147
 }

+ 2 - 1
config/constants.php

6
     'REDIS_PORT'=>'6379',
6
     'REDIS_PORT'=>'6379',
7
     'REDIS_PASSWORD'=>'Zhuaduoduo2017',
7
     'REDIS_PASSWORD'=>'Zhuaduoduo2017',
8
 
8
 
9
-//    'ESHOP_CODE' => '100|100|mrhx', //卖家云店铺code
9
+//    'ESHOP_CODE' => '100|csxd', //卖家云店铺code
10
 //    'ESHOP_CODE' => '100|hxas', //卖家云店铺code
10
 //    'ESHOP_CODE' => '100|hxas', //卖家云店铺code
11
     'ESHOP_CODE' => '100|xyxd', //卖家云店铺code
11
     'ESHOP_CODE' => '100|xyxd', //卖家云店铺code
12
     'WAREHOUSE_CODE' => '28416',//卖家云仓库编码
12
     'WAREHOUSE_CODE' => '28416',//卖家云仓库编码
14
     'SKU_QUANTITY_TABLE' => 'seafood.sku_wmj_quantity',
14
     'SKU_QUANTITY_TABLE' => 'seafood.sku_wmj_quantity',
15
 
15
 
16
     'ORDER_PREFIX' => '',//订单编号前缀
16
     'ORDER_PREFIX' => '',//订单编号前缀
17
+    'GOODS_PREFIX' => 'f',//商品规格前缀
17
 ];
18
 ];