Browse Source

导入订单

sunhao 5 years ago
parent
commit
81888c21bb
2 changed files with 141 additions and 0 deletions
  1. 140 0
      app/Console/Commands/OrderExcelAdd.php
  2. 1 0
      app/Console/Kernel.php

+ 140 - 0
app/Console/Commands/OrderExcelAdd.php

@@ -0,0 +1,140 @@
1
+<?php 
2
+namespace App\Console\Commands;
3
+
4
+use Illuminate\Console\Command;
5
+use Symfony\Component\Console\Input\InputOption;
6
+use Symfony\Component\Console\Input\InputArgument;
7
+use TopClient;
8
+use DB;
9
+use App\Order;
10
+use PHPExcel_Reader_Excel2007;
11
+use PHPExcel_Reader_Excel5;
12
+use PHPExcel;
13
+use PHPExcel_Writer_Excel2007;
14
+class OrderExcelAdd extends Command {
15
+
16
+    protected $signature = 'OrderExcelAdd';
17
+
18
+    /**
19
+     * The console command description.
20
+     *
21
+     * @var string
22
+     */
23
+    protected $description = '导入订单';
24
+
25
+
26
+    public function handle()
27
+    {
28
+        $this->OrderExcelAdd();
29
+    }
30
+    public function OrderExcelAdd(){
31
+
32
+        $excelFile = './order_history.xlsx';
33
+        //实例化Excel读取类
34
+        $objReader = new PHPExcel_Reader_Excel2007();
35
+
36
+        if(!$objReader->canRead($excelFile)){
37
+            $objReader = new PHPExcel_Reader_Excel5();
38
+            if(!$objReader->canRead($excelFile)){
39
+                echo "\n".'无法识别的Excel文件!';
40
+                return false;
41
+            }
42
+        }
43
+        $objPHPExcel=$objReader->load($excelFile);
44
+        $worksheet=$objPHPExcel->getSheet(0);//获取第一个工作表
45
+        $highestRow=$worksheet->getHighestRow();//取得总行数
46
+        $highestColumn=$worksheet->getHighestColumn(); //取得总列数
47
+
48
+        $lines = $highestRow - 1;
49
+        if ($lines <= 0) {
50
+            //'Excel表格中没有数据';
51
+            return false;
52
+        }
53
+
54
+        $errorArr=[];
55
+        $okStr = '';
56
+
57
+        for ($row = 2; $row <= $highestRow; ++$row) {
58
+            $createTime = $worksheet->getCellByColumnAndRow(0, $row)->getValue(); 
59
+            $receiverName = trim($worksheet->getCellByColumnAndRow(1, $row)->getValue());
60
+            $receiverMobile = trim($worksheet->getCellByColumnAndRow(2, $row)->getValue());
61
+            $receiverAddress = trim($worksheet->getCellByColumnAndRow(3, $row)->getValue());
62
+            $goods_note = trim($worksheet->getCellByColumnAndRow(4, $row)->getValue());
63
+            $receivedAmount = trim($worksheet->getCellByColumnAndRow(5, $row)->getValue());
64
+            $fanTime = trim($worksheet->getCellByColumnAndRow(7, $row)->getValue());
65
+            $is_fugou = trim($worksheet->getCellByColumnAndRow(8, $row)->getValue());
66
+
67
+            //数据库-新增数据
68
+            $order = array();
69
+            if( empty($receiverMobile) ){
70
+                continue;
71
+            }
72
+            if( !empty($createTime) ){
73
+                $order['createTime'] = $createTime;
74
+            }
75
+            if( !empty($receiverName) ){
76
+                $order['receiverName'] = $receiverName;
77
+            }
78
+            if( !empty($receiverMobile) ){
79
+                $order['receiverMobile'] = $receiverMobile;
80
+            }
81
+            if( !empty($receiverAddress) ){
82
+                $order['receiverAddress'] = $receiverAddress;
83
+            }
84
+            if( !empty($goods_note) ){
85
+                $order['goods_note'] = $goods_note;
86
+            }
87
+            if( !empty($receivedAmount) ){
88
+                $order['receivedAmount'] = $receivedAmount;
89
+            }
90
+            if( empty($fanTime) ){
91
+                $fanTime = $createTime;
92
+            }
93
+            if( !empty($is_fugou) ){
94
+                $order['is_fugou'] = 1;
95
+            }else{
96
+                $order['is_fugou'] = 0;
97
+            }
98
+            
99
+            $order['eshopCode'] = '99|34881'; //默认
100
+            $order['outerCode'] = Order::createOuterCode();//随机生成
101
+            $order['status'] = 0;
102
+            $order['customerName'] = $order['receiverName']; //买家名称
103
+            $order['shippingType'] = '卖家包邮';
104
+            $order['expressCompanyCode'] = '10084';
105
+            $order['expressCompanyName'] = '顺丰快递';
106
+            
107
+            $order['buyerPostageFee'] = 0; //买家邮费
108
+            $order['discountFee'] = 0; //订单优惠
109
+            $order['adjustFee'] = 0; //订单调价
110
+            $order['serviceFee'] = 0; //服务费
111
+            $order['paymentMethod'] = '在线付款';
112
+            $order['paymentType'] = '网银';
113
+            $order['paymentAccount'] = '18322225555'; // 付款账号,暂时默认写死
114
+            $order['paymentTime'] = $createTime; // 付款时间
115
+            $order['warehouse'] = 0; //仓库
116
+            $order['delivery_date'] = date('Y-m-d'); //发货日期
117
+
118
+            #更新客户表
119
+            $customer = array();
120
+            $customers['name'] = $order['receiverName'];
121
+            $customers['receiverAddress'] = $order['receiverAddress'];
122
+
123
+            $if_e = DB::table('customers')->select('id')->where('phone', $order['receiverMobile'])->first();
124
+            if(isset($if_e->id)){               
125
+                //$up_c = DB::table('customers')->where('id', $if_e->id)->update($customers);
126
+            }else{
127
+                $customers['phone'] = $order['receiverMobile'];
128
+                $customers['fanTime'] = $fanTime;
129
+                $customers['is_fugou'] = $order['is_fugou'];
130
+                $in_c = DB::table('customers')->insert($customers);
131
+            }
132
+            $order['admin_id'] = 3;
133
+            $order['admin_name'] = '测试账号';
134
+            $order['team_id'] = 4;
135
+            $res = DB::table('order')->insert($order);
136
+
137
+        }
138
+    }
139
+
140
+}

+ 1 - 0
app/Console/Kernel.php

@@ -14,6 +14,7 @@ class Kernel extends ConsoleKernel {
14 14
        
15 15
         'App\Console\Commands\AdzoneCreate',
16 16
         'App\Console\Commands\OrderRateByDay',
17
+        'App\Console\Commands\OrderExcelAdd',
17 18
         
18 19
     ];
19 20