|
@@ -1,5 +1,6 @@
|
1
|
1
|
<?php namespace App\Console\Commands;
|
2
|
2
|
|
|
3
|
+use App\Log;
|
3
|
4
|
use App\Order;
|
4
|
5
|
use Illuminate\Console\Command;
|
5
|
6
|
use Illuminate\Support\Facades\DB;
|
|
@@ -32,32 +33,31 @@ class SyncGoods extends Command {
|
32
|
33
|
}
|
33
|
34
|
|
34
|
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
|
39
|
if($info){
|
39
|
40
|
//有商品信息则更新店铺商品信息
|
40
|
41
|
//卖家云必要参数拼接转化
|
41
|
42
|
$mjArr = array();
|
42
|
43
|
$mjArr['eshopCode'] = config('constants.ESHOP_CODE');
|
43
|
|
- $mjArr['outerCode'] = $goods['id'];
|
|
44
|
+ $mjArr['outerCode'] = config('constants.GOODS_PREFIX').$goods['id'];
|
44
|
45
|
$mjArr['name'] = $goods['name'];
|
45
|
46
|
$mjArr['description'] = $goods['description'];
|
46
|
47
|
$mj = Order::mjGoodsUpdate($mjArr);
|
47
|
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
|
53
|
$result = json_decode(json_encode($result),true);
|
54
|
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
|
57
|
if($skuInfo){
|
58
|
58
|
//增加shop sku
|
59
|
59
|
$shopArr = array();
|
60
|
|
- $shopArr['outerCode'] = $sku['id'];
|
|
60
|
+ $shopArr['outerCode'] = config('constants.GOODS_PREFIX').$sku['id'];
|
61
|
61
|
$shopArr['eshopCode'] = config('constants.ESHOP_CODE');
|
62
|
62
|
$shopArr['goodsCode'] = $sku['goodsCode'];
|
63
|
63
|
$shopArr['propsName'] = $sku['propsName'];
|
|
@@ -67,39 +67,43 @@ class SyncGoods extends Command {
|
67
|
67
|
$shopArr['modifyTime'] = $sku['createTime'];
|
68
|
68
|
$sku_add = Order::mjSkuAdd($shopArr);
|
69
|
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
|
78
|
$skus_ad = DB::table('seafood_fx.goods_skus')->insert($sku);
|
78
|
79
|
} else {
|
79
|
80
|
# eshop sku更新
|
80
|
81
|
$shopArr = array();
|
81
|
82
|
$shopArr['eshopCode'] = config('constants.ESHOP_CODE');
|
82
|
83
|
$shopArr['goodsCode'] = $sku['goodsCode'];
|
83
|
|
- $shopArr['outerCode'] = $sku['id'];
|
|
84
|
+ $shopArr['outerCode'] = config('constants.GOODS_PREFIX').$sku['id'];
|
84
|
85
|
$shopArr['propsName'] = $sku['propsName'];
|
85
|
86
|
$shopArr['price'] = $sku['price'];
|
86
|
87
|
$sku_up = Order::mjSkuUpdate($shopArr);
|
87
|
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
|
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
|
107
|
$result = json_decode(json_encode($result),true);
|
104
|
108
|
$mjArr = array();
|
105
|
109
|
$skuArr = array();
|
|
@@ -108,8 +112,7 @@ class SyncGoods extends Command {
|
108
|
112
|
$skuArr[$k]['propsName'] = $sku['propsName'];
|
109
|
113
|
$skuArr[$k]['eShopCode'] = config('constants.ESHOP_CODE');
|
110
|
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
|
116
|
$skuArr[$k]['createTime'] = $sku['createTime'];
|
114
|
117
|
$skuArr[$k]['modifyTime'] = $sku['modifyTime'];
|
115
|
118
|
}
|
|
@@ -120,20 +123,25 @@ class SyncGoods extends Command {
|
120
|
123
|
$mjArr['productCode'] = $goods['productCode'];
|
121
|
124
|
$mjArr['goodsCategoryName'] = $goods['goodsCategoryName'];
|
122
|
125
|
$mjArr['picUrl'] = $goods['picUrl'];
|
123
|
|
- $mjArr['outerCode'] = $goods['id'];
|
|
126
|
+ $mjArr['outerCode'] = config('constants.GOODS_PREFIX').$goods['id'];
|
124
|
127
|
$mjArr['skuList'] = $skuArr;
|
125
|
128
|
$mj = Order::mjGoodsAdd($mjArr);
|
126
|
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
|
}
|