Procházet zdrojové kódy

文件导入测试

shensong00 %!s(int64=6) %!d(string=před) dny
rodič
revize
bb79a93659

+ 1 - 2
app/Http/Controllers/Api/OrderCostController.php

@@ -30,8 +30,7 @@ class OrderCostController extends Controller
30 30
         $file = $request->file('file');
31 31
 
32 32
        if($type==1) {
33
-            $res = OrderCostService::orderCostImportNew($file);
34
-//            $res = OrderCostService::orderCostImport($file);
33
+            $res = OrderCostService::orderCostImport($file);
35 34
 
36 35
             if ($res['code'] == 0) {
37 36
                 $not_exists = $res['not_exists'];

+ 2 - 138
app/Services/OrderCostService.php

@@ -122,6 +122,8 @@ class OrderCostService{
122 122
                         'row' => $row,
123 123
                         'error' => $error
124 124
                     ];
125
+
126
+                    break;
125 127
                 }
126 128
             }
127 129
 
@@ -170,144 +172,6 @@ class OrderCostService{
170 172
         }
171 173
 	}
172 174
 
173
-    /**
174
-     * 订单导入
175
-     */
176
-    public static function orderCostImportNew($filePath) {
177
-        try {
178
-            ini_set("memory_limit",-1);
179
-            ini_set('max_execution_time', 3600);
180
-
181
-            $cacheMethod = \PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
182
-            $cacheSettings = array( ' memoryCacheSize ' => '8MB');
183
-            \PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
184
-
185
-            $type = strtolower($filePath->getClientOriginalExtension());
186
-            if( $type=='xlsx'||$type=='xls'){
187
-                $objPHPExcel = \PHPExcel_IOFactory::load($filePath);
188
-            }else{
189
-                return [
190
-                    'code' => 1102,
191
-                    'info' => '',
192
-                ];
193
-            }
194
-            $user = \Auth::user();
195
-
196
-            # 查询所有媒体
197
-            $mediaList = MediaConfig::query()->where('is_delete', 0)->get();
198
-            $mediaNames = array_column($mediaList->toArray(), 'media_name');
199
-            # 查询成本返点配置
200
-            $costRate = CostTaxRate::query()->where('enable', 1)->get();
201
-            $sheet = $objPHPExcel->getSheet(0); // 读取第一个工作表
202
-            $highestRow = $sheet->getHighestRow(); // 取得总行数
203
-
204
-            $data = [];
205
-            $errorArr = [];
206
-            $not_exists = [];
207
-            $success = 0;
208
-
209
-            for ($row = 2; $row <= $highestRow; $row ++) { // 行数是以第1行开始
210
-                $item = [];
211
-                $item['task_id'] = trim($sheet->getCell('D' . $row)->getFormattedValue());
212
-                if( empty($item['task_id']) ){
213
-                    break;
214
-                }
215
-
216
-                #星图任务id特殊处理
217
-                if(mb_substr($item['task_id'], 0, 2)=='星图'){
218
-                    preg_match_all('/\d{7,}/', $item['task_id'], $tres);
219
-                    if(isset($tres[0][1])){
220
-                        $item['task_id'] = $tres[0][1];
221
-                    }
222
-                }
223
-
224
-                $item['month'] = trim($sheet->getCell('K' . $row)->getValue());
225
-                $item['internet_celebrity_name'] = trim($sheet->getCell('G' . $row)->getValue());
226
-                $item['internet_celebrity_id'] = trim($sheet->getCell('H' . $row)->getFormattedValue());
227
-                $item['if_public'] = trim($sheet->getCell('J' . $row)->getValue());
228
-                $item['cost_type'] = trim($sheet->getCell('E' . $row)->getValue());
229
-                $item['cost_money'] = trim($sheet->getCell('I' . $row)->getFormattedValue());
230
-                $item['advertiser_account'] = trim($sheet->getCell('A' . $row)->getFormattedValue());
231
-                $item['advertiser_id'] = trim($sheet->getCell('B' . $row)->getFormattedValue());
232
-                $item['order_part_id'] = trim($sheet->getCell('F' . $row)->getFormattedValue()); //新加订单id
233
-                $item['is_cash'] = trim($sheet->getCell('L' . $row)->getFormattedValue()); //现金还是授信
234
-                $item['cost_sign_company'] = trim($sheet->getCell('N' . $row)->getFormattedValue()); //成本签约公司
235
-                // 将任务id中的特殊字符过滤掉
236
-                $item['task_id'] = preg_replace("/\s/u", '', $item['task_id']);
237
-
238
-                $error = self::mjOrderVerify($item, $mediaNames, $mediaList, $costRate, $user);
239
-
240
-                if($item['is_exists'] == 0){
241
-                    $task_id = $item['task_id']. '';
242
-                    if( !isset($not_exists[$task_id]) ){
243
-                        $not_exists[$task_id] = [
244
-                            'task_id' => $item['task_id'],
245
-                            'advertiser_account' => $item['advertiser_account'],
246
-                            'advertiser_id' => $item['advertiser_id'],
247
-                        ];
248
-                    }
249
-                } else {
250
-                    $success++;
251
-                }
252
-
253
-                $data[] = self::itemSqlFormat($item);
254
-
255
-                if(!empty($error)){
256
-                    $errorArr[] = [
257
-                        'row' => $row,
258
-                        'error' => $error
259
-                    ];
260
-                    break;
261
-                }
262
-
263
-                Log::logInfo('成本数据记录', ['row' => $row, 'data' => $item], 'cost');
264
-            }
265
-
266
-//            Log::logInfo('成本数据记录', [$data], 'cost');
267
-
268
-            if( !empty($errorArr) ){
269
-                return [
270
-                    'code' => 6001,
271
-                    'info'=>$errorArr
272
-                ];
273
-            }
274
-
275
-//            self::mjOrderStore($data);
276
-//            $res = self::mjOrderInsert($data);
277
-
278
-//            if($res){
279
-                return [
280
-                    'code' => 0,
281
-                    'info' => '导入成功'.$success.'条',
282
-                    'not_exists' => array_values($not_exists),
283
-                ];
284
-//            } else {
285
-//                return [
286
-//                    'code' => 1102,
287
-//                    'info' => '操作失败',
288
-//                ];
289
-//            }
290
-        } catch (\Exception $exception) {
291
-            Log::logError('成本数据导入异常', [
292
-                'file' => $exception->getFile(),
293
-                'line' => $exception->getLine(),
294
-                'msg'  => $exception->getMessage(),
295
-                'trace'=> $exception->getTraceAsString()
296
-            ], 'orderCostImport');
297
-
298
-            EmailQueue::rPush('成本数据导入异常', json_encode([
299
-                'file' => $exception->getFile(),
300
-                'line' => $exception->getLine(),
301
-                'msg'  => $exception->getMessage(),
302
-                'trace'=> $exception->getTraceAsString()
303
-            ]), ['song.shen@kuxuan-inc.com'], '消耗表系统');
304
-            return [
305
-                'code' => 500,
306
-                'info' => '导入失败'
307
-            ];
308
-        }
309
-    }
310
-
311 175
 	/*
312 176
 	 * excel销售订单验证
313 177
 	 */