Browse Source

日志脚本

sunhao 5 years ago
parent
commit
db34134023

+ 2 - 1
app/Console/Commands/CleaningData.php

@@ -3,6 +3,7 @@
3 3
 use Illuminate\Console\Command;
4 4
 use DB;
5 5
 use App\Order;
6
+use App\OrderScript;
6 7
 use App\GoodsSkus;
7 8
 use App\OrderGoodsSkus;
8 9
 
@@ -80,7 +81,7 @@ class CleaningData extends Command {
80 81
             $outerCode = Order::where('id', $id)->pluck('outerCode');
81 82
         }
82 83
         $order['outerCode'] = $outerCode;
83
-        $mjOrder = Order::mjOrderGet($order);
84
+        $mjOrder = OrderScript::mjOrderGet($order);
84 85
         if(!isset($mjOrder['order']['code'])){
85 86
             return false;
86 87
         }

+ 3 - 2
app/Console/Commands/SyncMjOrderStatus.php

@@ -4,6 +4,7 @@ namespace App\Console\Commands;
4 4
 use Illuminate\Console\Command;
5 5
 use DB;
6 6
 use App\Order;
7
+use App\OrderScript;
7 8
 use App\FxOrder;
8 9
 use App\GoodsSkus;
9 10
 use App\OrderGoodsSkus;
@@ -132,7 +133,7 @@ class SyncMjOrderStatus extends Command {
132 133
             $outerCode = Order::where('id', $id)->pluck('outerCode');
133 134
         }
134 135
         $order['outerCode'] = $outerCode;
135
-        $mjOrder = Order::mjOrderGet($order);
136
+        $mjOrder = OrderScript::mjOrderGet($order);
136 137
         if(!isset($mjOrder['order']['code'])){
137 138
             return false;
138 139
         }
@@ -149,7 +150,7 @@ class SyncMjOrderStatus extends Command {
149 150
             $outerCode = FxOrder::where('id', $id)->pluck('outerCode');
150 151
         }
151 152
         $order['outerCode'] = $outerCode;
152
-        $mjOrder = Order::mjOrderGet($order);
153
+        $mjOrder = OrderScript::mjOrderGet($order);
153 154
         if(!isset($mjOrder['order']['code'])){
154 155
             return false;
155 156
         }

+ 3 - 2
app/Console/Commands/SyncMjWarehouse.php

@@ -4,6 +4,7 @@ namespace App\Console\Commands;
4 4
 use Illuminate\Console\Command;
5 5
 use DB;
6 6
 use App\Order;
7
+use App\OrderScript;
7 8
 class SyncMjWarehouse extends Command {
8 9
 
9 10
     protected $signature = 'SyncMjWarehouse';
@@ -27,7 +28,7 @@ class SyncMjWarehouse extends Command {
27 28
         $params['warehouseCode'] = config('constants.WAREHOUSE_CODE'); //仓库编码
28 29
         $params['pageIndex'] = '1';
29 30
         $params['pageSize'] = $this->limit;
30
-        $mjRes = Order::mjWarehouseSkuGet($params);
31
+        $mjRes = OrderScript::mjWarehouseSkuGet($params);
31 32
         if($mjRes == false){
32 33
             exit('获取卖家云数据出错');
33 34
         }
@@ -41,7 +42,7 @@ class SyncMjWarehouse extends Command {
41 42
         //插入其他页面
42 43
         for($i=2; $i<=$pages; $i++){
43 44
             $params['pageIndex'] = $i;
44
-            $mjRes = Order::mjWarehouseSkuGet($params);
45
+            $mjRes = OrderScript::mjWarehouseSkuGet($params);
45 46
             $this->insertData( $mjRes['resultSet']['skuList'] );
46 47
         }
47 48
 

+ 7 - 6
app/Console/Commands/SyncOrderToMj.php

@@ -4,6 +4,7 @@ namespace App\Console\Commands;
4 4
 use Illuminate\Console\Command;
5 5
 use DB;
6 6
 use App\Order;
7
+use App\OrderScript;
7 8
 use App\FxOrder;
8 9
 use App\GoodsSkus;
9 10
 use App\Goods;
@@ -115,7 +116,7 @@ class SyncOrderToMj extends Command {
115 116
             }
116 117
         }
117 118
         //卖家云添加订单 ->改为审核通过再同步卖家云
118
-        $mj_add = Order::mjOrderAdd($order);
119
+        $mj_add = OrderScript::mjOrderAdd($order);
119 120
         //同步卖家云订单数据到本系统
120 121
         if( isset($mj_add['order']['code']) ){
121 122
             $mjorder = array();
@@ -135,7 +136,7 @@ class SyncOrderToMj extends Command {
135 136
             $outerCode = Order::where('id', $id)->pluck('outerCode');
136 137
         }
137 138
         $order['outerCode'] = $outerCode;
138
-        $mjOrder = Order::mjOrderGet($order);
139
+        $mjOrder = OrderScript::mjOrderGet($order);
139 140
         if(!isset($mjOrder['order']['code'])){
140 141
             return false;
141 142
         }
@@ -152,7 +153,7 @@ class SyncOrderToMj extends Command {
152 153
             $order = json_decode(json_encode($order), true);
153 154
         }
154 155
 
155
-        $mj_add = Order::mjOrderUpdate($order);
156
+        $mj_add = OrderScript::mjOrderUpdate($order);
156 157
 
157 158
         return $mj_add;
158 159
     }
@@ -188,7 +189,7 @@ class SyncOrderToMj extends Command {
188 189
             }
189 190
         }
190 191
         //卖家云添加订单 ->改为审核通过再同步卖家云
191
-        $mj_add = Order::mjOrderAdd($order);
192
+        $mj_add = OrderScript::mjOrderAdd($order);
192 193
         //同步卖家云订单数据到本系统
193 194
         if( isset($mj_add['order']['code']) ){
194 195
             $mjorder = array();
@@ -208,7 +209,7 @@ class SyncOrderToMj extends Command {
208 209
             $outerCode = FxOrder::where('id', $id)->pluck('outerCode');
209 210
         }
210 211
         $order['outerCode'] = $outerCode;
211
-        $mjOrder = Order::mjOrderGet($order);
212
+        $mjOrder = OrderScript::mjOrderGet($order);
212 213
         if(!isset($mjOrder['order']['code'])){
213 214
             return false;
214 215
         }
@@ -225,7 +226,7 @@ class SyncOrderToMj extends Command {
225 226
             $order = json_decode(json_encode($order), true);
226 227
         }
227 228
 
228
-        $mj_add = Order::mjOrderUpdate($order);
229
+        $mj_add = OrderScript::mjOrderUpdate($order);
229 230
 
230 231
         return $mj_add;
231 232
     }

+ 17 - 0
app/Log.php

@@ -21,4 +21,21 @@ class Log extends Model
21 21
         $name=date("Y-m-d",time()).".txt";
22 22
         error_log(json_encode($data)."\n",3,"/log/seafood_log/".$tmpDir.$name);
23 23
     }
24
+
25
+    public static function scriptLog($params,$returnValue,$interfaceName,$flag,$headers=[],$responseTime=NULL){
26
+        $data['time']=date("Y-m-d H:i:s",time());
27
+        $data["interfaceName"]=$interfaceName;
28
+        $data['responseTime'] = $responseTime;
29
+        $data["params"]=$params;
30
+        $data["headers"]=$headers;
31
+        $data["returnValue"]=$returnValue;
32
+       
33
+        if($flag){
34
+            $tmpDir="script_success/";
35
+        }else{
36
+            $tmpDir="script_error/";
37
+        }
38
+        $name=date("Y-m-d",time()).".txt";
39
+        error_log(json_encode($data)."\n",3,"/log/seafood_log/".$tmpDir.$name);
40
+    }
24 41
 }

+ 199 - 0
app/OrderScript.php

@@ -0,0 +1,199 @@
1
+<?php
2
+/**
3
+ * Created by PhpStorm.
4
+ * User: Administrator
5
+ * Date: 2017/12/5
6
+ * Time: 15:07
7
+ */
8
+
9
+namespace App;
10
+use Illuminate\Database\Eloquent\Model;
11
+use PHPExcel;
12
+use PHPExcel_Writer_Excel2007;
13
+
14
+class OrderScript extends Model
15
+{
16
+    public $timestamps = false;
17
+    /**
18
+     * 添加订单
19
+     */
20
+   	public static function mjOrderAdd($orderList){
21
+   		$orderList["method"] = "maijiayun.order.add";
22
+      //status格式
23
+      $staus_arr = array(
24
+        0 => '待付款',
25
+        1 => '已付款待审核',
26
+        2 => '已审核待发货',
27
+        3 => '已发货',
28
+      );
29
+      $orderList['status'] = $staus_arr[$orderList['status']];
30
+   		$result = self::mjApi($orderList);
31
+   		return $result;
32
+   	}
33
+
34
+    /**
35
+     * 更新订单
36
+     */
37
+    public static function mjOrderUpdate($orderList){
38
+      $orderList["method"] = "maijiayun.order.update";
39
+      $staus_arr = array(
40
+        0 => '待付款',
41
+        1 => '已付款待审核',
42
+        2 => '已审核待发货',
43
+        3 => '已发货',
44
+        4 => '已取消',
45
+      );
46
+      $orderList['status'] = $staus_arr[$orderList['status']];
47
+      $result = self::mjApi($orderList);
48
+      return $result;
49
+    }
50
+
51
+    /**
52
+     * 取消订单
53
+     */
54
+    public static function mjOrderDel($orderList){
55
+      $orderList["method"] = "maijiayun.order.update"; 
56
+      $orderList['status'] = '已取消';
57
+      $result = self::mjApi($orderList);
58
+      return $result;
59
+    }
60
+    
61
+
62
+    /**
63
+     * 获取订单
64
+     */
65
+    public static function mjOrderGet($order){
66
+      $order["method"] = "maijiayun.order.get";
67
+      $result = self::mjApi($order);
68
+      return $result;
69
+    }
70
+
71
+    /**
72
+     * 添加Erp商品
73
+     */
74
+    public static function mjErpGoodsAdd($goods){
75
+      $goods["method"] = "maijiayun.goods.sku.add";
76
+      $result = self::mjApi($goods);
77
+      return $result;
78
+    }
79
+
80
+    /**
81
+     * 添加商品
82
+     */
83
+    public static function mjGoodsAdd($goods){
84
+      $goods["method"] = "maijiayun.eshop.goods.add";
85
+      $result = self::mjApi($goods);
86
+      return $result;
87
+    }
88
+  
89
+    /**
90
+     * 更新商品
91
+     */
92
+    public static function mjGoodsUpdate($goods){
93
+      $goods["method"] = "maijiayun.eshop.goods.update";
94
+      $result = self::mjApi($goods);
95
+      return $result;
96
+    }
97
+    
98
+    /**
99
+     * 更新erp商品
100
+     */
101
+    public static function mjErpGoodsUpdate($goods){
102
+      $goods["method"] = "maijiayun.goods.update";
103
+      $result = self::mjApi($goods);
104
+      return $result;
105
+    }
106
+
107
+    /**
108
+     * 批量添加sku
109
+     */
110
+    public static function mjBatchSkuAdd($sku){
111
+      $sku["method"] = "maijiayun.eshop.sku.batchAdd"; //批量添加
112
+      //$sku["method"] = "maijiayun.eshop.sku.add";
113
+      $result = self::mjApi($sku);
114
+      return $result;
115
+    }
116
+
117
+    /**
118
+     * 添加单个sku
119
+     */
120
+    public static function mjSkuAdd($sku){
121
+      $sku["method"] = "maijiayun.eshop.sku.add";
122
+      $result = self::mjApi($sku);
123
+      return $result;
124
+    }
125
+
126
+    /**
127
+     * 修改Erp sku
128
+     */
129
+    public static function mjErpSkuUpdate($sku){
130
+      $sku["method"] = "maijiayun.goods.sku.update"; 
131
+      $result = self::mjApi($sku);
132
+      return $result;
133
+    }
134
+
135
+    /**
136
+     * 修改shop sku
137
+     */
138
+    public static function mjSkuUpdate($sku){
139
+      $sku["method"] = "maijiayun.eshop.sku.update"; 
140
+      $result = self::mjApi($sku);
141
+      return $result;
142
+    }
143
+
144
+    /**
145
+     * 获取 sku 库存
146
+     */
147
+    public static function mjWarehouseSkuGet($sku){
148
+      $sku["method"] = "maijiayun.warehouse.sku.list"; 
149
+      $result = self::mjApi($sku);
150
+      return $result;
151
+    }
152
+
153
+   	public static function mjApi($params = array()){  		
154
+      $accessKey = "B1E69297B5DA44DAB35099A5F28F41D9"; //erp 生成的 accessKey
155
+      $accessSecret = "4sN2LbylhOglelMP";
156
+   		//$accessKey = "F82A757089D84F89B1782EDC3A4DA82A"; //erp 生成的 accessKey     
157
+		  //$accessSecret = "wB2ueW8eQOHXNWcN";
158
+	    $params["timestamp"] = time()."000";
159
+	    $params["version"] = "v1";
160
+	    $reqparams = $params;
161
+	    ksort($reqparams);
162
+	    $sign = "";
163
+	    foreach($reqparams as $k=>$val){
164
+	    if(is_array($val)){
165
+	    $val = json_encode($val,320);
166
+	    }
167
+	    $sign.=$k.$val;
168
+	    }
169
+	    $params["accessKey"] = $accessKey;
170
+	    $params["token"] = strtoupper(sha1($accessKey.$sign.$accessSecret));
171
+	    $param = json_encode($params);
172
+
173
+	    $ch = curl_init();
174
+	    $headers = array("Content-type:application/json;charset='utf-8'","Accept:application/json", "Cache-Control: no-cache", "Pragma: no-cache");
175
+	    curl_setopt($ch, CURLOPT_URL, "https://api.erp.maijiayun.cn"); //api 地址
176
+	    curl_setopt($ch, CURLOPT_POST, 1); 
177
+	    curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
178
+	    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
179
+	    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
180
+	    curl_setopt($ch, CURLOPT_POSTFIELDS, $param); 
181
+	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
182
+	    $response = curl_exec($ch); 
183
+	    curl_close($ch);
184
+	    $response = json_decode($response, true);
185
+      Log::scriptLog($params,['mjApi_response'=>$response],"order/mjApi",1,'');
186
+	    if (!$response || !is_array($response)) { 
187
+	        return false;
188
+	    }
189
+	    if (!array_key_exists("isOk", $response)) { 
190
+	        return false;
191
+	    } elseif( $response['isOk'] == false){
192
+          Log::scriptLog($params,['mjApi_response'=>$response],"order/mjApi",0,'');
193
+          return false;
194
+      } else {
195
+	        return $response;
196
+	    }
197
+	 }
198
+
199
+}