sunhao 5 years ago
parent
commit
397cbe2464
1 changed files with 28 additions and 31 deletions
  1. 28 31
      app/Console/Commands/SyncOrderToMj.php

+ 28 - 31
app/Console/Commands/SyncOrderToMj.php

@@ -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