|
@@ -10,6 +10,7 @@ use App\GoodsSkus;
|
10
|
10
|
use App\OrderGoodsSkus;
|
11
|
11
|
use App\FxOrderGoodsSkus;
|
12
|
12
|
use App\Goods;
|
|
13
|
+use App\Oplog;
|
13
|
14
|
|
14
|
15
|
class SyncOrderToMj extends Command {
|
15
|
16
|
|
|
@@ -26,53 +27,49 @@ class SyncOrderToMj extends Command {
|
26
|
27
|
public function handle()
|
27
|
28
|
{
|
28
|
29
|
$this->SyncOrder();
|
29
|
|
- $this->SyncFxOrder();
|
|
30
|
+ //$this->SyncFxOrder();
|
30
|
31
|
}
|
31
|
32
|
|
32
|
33
|
public function SyncOrder(){
|
33
|
34
|
//查询需要同步到卖家云的订单
|
34
|
35
|
$today_date = date('Y-m-d');
|
35
|
36
|
echo "\n订单同步时间: " . date('Y-m-d H:i:s');
|
36
|
|
- $result = Order::where('delivery_date', '=', $today_date)->where('warehouse', 3)->where('is_del', 0)->whereIn('status', [2,3])->lists('id');
|
|
37
|
+ $result = Order::where('delivery_date', $today_date)->where('warehouse', 3)->where('is_del', 0)->whereIn('status', 2)->whereNull('orderCode')->lists('id');
|
37
|
38
|
|
38
|
39
|
if(empty($result)){
|
39
|
40
|
return;
|
40
|
41
|
}
|
41
|
42
|
|
42
|
43
|
foreach($result as $id){
|
43
|
|
- $mjOrder = $this->getMjOrder($id);
|
44
|
|
- if(!empty($mjOrder)){
|
45
|
|
- if($mjOrder['status'] == '已取消'){
|
46
|
|
- $res = $this->updateOrderToMj($id);
|
47
|
|
- echo "\n订单ID:".$id." 卖家取消订单重新更新";
|
48
|
|
- #同步到卖家云,更新order_goods_skus状态
|
49
|
|
- $mj_status = array();
|
50
|
|
- $mj_status['mj_status'] = 1;
|
51
|
|
- OrderGoodsSkus::where('order_id', $id)->where('is_del', 0)->update($mj_status);
|
52
|
|
-
|
53
|
|
- // +++++ 减预占库存到redis
|
54
|
|
- $sku_redis = OrderGoodsSkus::select(DB::raw('sum(num) as num, sku_id'))->where('order_id', $id)->where('is_del', 0)->groupBy('sku_id')->get();
|
55
|
|
- $sku_redis = json_decode(json_encode($sku_redis),true);
|
56
|
|
- Order::diffSkuToRedis('', $sku_redis, -1);
|
57
|
|
- }
|
|
44
|
+ #再次判断订单是否可同步
|
|
45
|
+ $thisOrder = Order::where('delivery_date', $today_date)->where('id', $id)->where('warehouse', 3)->where('is_del', 0)->whereIn('status', 2)->whereNull('orderCode')->first();
|
|
46
|
+ if(empty($thisOrder)){
|
|
47
|
+ continue;
|
|
48
|
+ }
|
|
49
|
+ $res = $this->syncOrderToMj($id);
|
|
50
|
+ if(!$res){
|
|
51
|
+ echo "\n订单ID:".$id." 同步失败";
|
58
|
52
|
}else{
|
59
|
|
- $res = $this->syncOrderToMj($id);
|
60
|
|
- if(!$res){
|
61
|
|
- echo "\n订单ID:".$id." 同步失败";
|
62
|
|
- }else{
|
63
|
|
- #同步到卖家云,更新order_goods_skus状态
|
64
|
|
- $mj_status = array();
|
65
|
|
- $mj_status['mj_status'] = 1;
|
66
|
|
- OrderGoodsSkus::where('order_id', $id)->where('is_del', 0)->update($mj_status);
|
|
53
|
+ #同步到卖家云,更新order_goods_skus状态
|
|
54
|
+ $mj_status = array();
|
|
55
|
+ $mj_status['mj_status'] = 1;
|
|
56
|
+ OrderGoodsSkus::where('order_id', $id)->where('is_del', 0)->update($mj_status);
|
67
|
57
|
|
68
|
|
- // +++++ 减预占库存到redis
|
69
|
|
- $sku_redis = OrderGoodsSkus::select(DB::raw('sum(num) as num, sku_id'))->where('order_id', $id)->where('is_del', 0)->groupBy('sku_id')->get();
|
70
|
|
- $sku_redis = json_decode(json_encode($sku_redis),true);
|
71
|
|
- Order::diffSkuToRedis('', $sku_redis, -1);
|
72
|
|
- echo "\n订单ID:".$id." 同步成功";
|
73
|
|
- }
|
|
58
|
+ // +++++ 减预占库存到redis
|
|
59
|
+ $sku_redis = OrderGoodsSkus::select(DB::raw('sum(num) as num, sku_id'))->where('order_id', $id)->where('is_del', 0)->groupBy('sku_id')->get();
|
|
60
|
+ $sku_redis = json_decode(json_encode($sku_redis),true);
|
|
61
|
+ Order::diffSkuToRedis('', $sku_redis, -1);
|
|
62
|
+ echo "\n订单ID:".$id." 同步成功";
|
74
|
63
|
}
|
75
|
64
|
|
|
65
|
+ #记录操作日志
|
|
66
|
+ $self_id = 0;
|
|
67
|
+ $self_name = '脚本';
|
|
68
|
+ $context = "同步订单到卖家云。返回结果:".json_encode($res);
|
|
69
|
+ $type = 0;
|
|
70
|
+ $tables = 'order';
|
|
71
|
+ $data_id = $id;
|
|
72
|
+ Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
|
76
|
73
|
}
|
77
|
74
|
}
|
78
|
75
|
|