xiaoyu %!s(int64=3) %!d(string=hai) anos
pai
achega
6189fb835d
Modificáronse 2 ficheiros con 28 adicións e 28 borrados
  1. 5 5
      core/framework/function/goods.php
  2. 23 23
      test/TestExportOrder.php

+ 5 - 5
core/framework/function/goods.php

@@ -213,20 +213,20 @@ function orderState($order_info)
             if ($is_retrying) {
                 $order_state = '重试中';
             } else {
-                $order_state = L('order_state_cancel');
+                $order_state = '已取消';
             }
         break;
         case ORDER_STATE_NEW:
-            $order_state = L('order_state_new');
+            $order_state = '待付款';
         break;
         case ORDER_STATE_PAY:
-            $order_state = L('order_state_pay');
+            $order_state = '待发货';
         break;
         case ORDER_STATE_SEND:
-            $order_state = L('order_state_send');
+            $order_state = '待收货';
         break;
         case ORDER_STATE_SUCCESS:
-            $order_state = L('order_state_success');
+            $order_state = '交易完成';
         break;
     }
     return $order_state;

+ 23 - 23
test/TestExportOrder.php

@@ -107,17 +107,20 @@ class TestExportOrder extends TestCase
         if (empty($orders)) {
             return [false, '统计数据为空'];
         }
-        $orders = $this->orderFormat($orders);
-        $objPHPExcel = new PHPExcel();
 
+        $merchants = [];
         $column_values = ['平台单号', '面额', '充值卡号', '充值卡类型', '下单日期', '完成日期', '官方流水号', '订单状态', '扣款金额'];
-        $data_keys = ['order_sn', 'refill_amount', 'card_no', 'card_type_text', 'order_time_text', 'notify_time_text', 'official_sn', 'order_state_text', 'mch_amount'];
+        $data_keys = ['order_sn', 'refill_amount', 'card_no', 'card_type_text', 'order_time_text', 'notify_time_text', 'official_sn', 'order_state_text'];
         if (!empty($condition['refill_order.mchid'])) {
-            $column_values = array_merge(['商户号', '商户订单号'], $column_values);
-            $data_keys = array_merge(['mchid', 'mch_order'], $data_keys);
+            $merchant_list = Model('')->table('merchant')->limit(1000)->order('company_name asc')->select();
+            foreach ($merchant_list as $value) {
+                $merchants[$value['mchid']] = $value;
+            }
+            $column_values = array_merge(['商户号', '商户名称', '商户订单号'], $column_values);
+            $data_keys = array_merge(['mchid', 'mch_name', 'mch_order'], $data_keys, 'mch_amount');
         } elseif (!empty($condition['vr_order.store_id'])) {
-            $column_values = array_merge(['上游订单号'], $column_values);
-            $data_keys = array_merge(['ch_trade_no'], $data_keys);
+            $column_values = array_merge(['上游名称','上游订单号'], $column_values);
+            $data_keys = array_merge(['channel_name', 'ch_trade_no'], $data_keys, 'channel_amount');
         } else {
             $column_values = array_merge([], $column_values);
             $data_keys = array_merge([], $data_keys);
@@ -128,7 +131,7 @@ class TestExportOrder extends TestCase
             $column_key++;
         }
 
-
+        $objPHPExcel = new PHPExcel();
         $objPHPExcel->setActiveSheetIndex(0);
         $objPHPExcel->getDefaultStyle()->getFont()->setName('Arial')->setSize(10);
         foreach ($column_keys as $key => $column_key) {
@@ -137,11 +140,18 @@ class TestExportOrder extends TestCase
             $objPHPExcel->getActiveSheet()->setCellValue($cell_value, $column_values[$key]);
         }
 
+        $card_type_texts = [mtopcard\PetroChinaCard => '中石油', mtopcard\SinopecCard => '中石化', mtopcard\ChinaMobileCard => '中国移动', mtopcard\ChinaUnicomCard => '中国联通', mtopcard\ChinaTelecomCard => '中国电信'];
         foreach ($orders as $k => $order) {
+            if(!empty($merchants)) {
+                $order['mch_name'] = $merchants[$order['mchid']]['company_name'];
+            }
+            $order['card_type_text'] = $card_type_texts[$order['card_type']];
+            $order['order_time_text'] = $order['order_time'] ? date('Y-m-d H:i:s', $order['order_time']) : '';
+            $order['notify_time_text'] = $order['notify_time'] ? date('Y-m-d H:i:s', $order['notify_time']) : '';
+            $order['order_state_text'] = orderState($order);
             foreach ($column_keys as $key => $column_key) {
                 $field = $column_key . ($k + 2);
-                $objPHPExcel->getActiveSheet()->setCellValueExplicit($field, $order[$data_keys[$key]],
-                    PHPExcel_Cell_DataType::TYPE_STRING);
+                $objPHPExcel->getActiveSheet()->setCellValueExplicit($field, $order[$data_keys[$key]]);
             }
         }
         try {
@@ -161,19 +171,6 @@ class TestExportOrder extends TestCase
         }
     }
 
-    private function orderFormat($orders): array
-    {
-        $card_type_texts = [mtopcard\PetroChinaCard => '中石油', mtopcard\SinopecCard => '中石化', mtopcard\ChinaMobileCard => '中国移动', mtopcard\ChinaUnicomCard => '中国联通', mtopcard\ChinaTelecomCard => '中国电信'];
-        foreach($orders as $key => $order)
-        {
-            $orders[$key]['card_type_text'] = $card_type_texts[$order['card_type']];
-            $orders[$key]['order_time_text'] = $order['order_time'] ? date('Y-m-d H:i:s', $order['order_time']) : '';
-            $orders[$key]['notify_time_text'] = $order['notify_time'] ? date('Y-m-d H:i:s', $order['notify_time']) : '';
-            $orders[$key]['order_state_text'] = orderState($order);
-        }
-        return $orders;
-    }
-
     public function testStrSer()
     {
         $str = 'a:3:{s:11:"is_transfer";b:1;s:11:"card_states";a:2:{i:0;i:0;i:1;i:5;}s:10:"card_types";a:1:{i:0;i:4;}}';
@@ -183,6 +180,9 @@ class TestExportOrder extends TestCase
         for($index=0;$index<10;$index++){
             $j++;
         }
+
+        $a1 = [1];
+        $a = array_merge([0],$a1,[2]);
     }
 }