Browse Source

task refill_order_export update excel title and mchsrv order query add add_time cond

xiaoyu 3 years atrás
parent
commit
21e3557d0b
2 changed files with 63 additions and 38 deletions
  1. 7 2
      helper/task/handler.php
  2. 56 36
      mchsrv/control/merchant_order.php

+ 7 - 2
helper/task/handler.php

@@ -130,8 +130,8 @@ class handler
         };
 
         $merchants = [];
-        $column_values = ['商户号', '商户名称', '商户订单号','平台单号', '面额', '充值卡号', '充值卡类型', '下单日期', '完成日期', '官方流水号', '订单状态', '扣款金额(下游)', '上游名称','上游订单号', '折扣金额(上游)'];
-        $data_keys = ['mchid', 'mch_name', 'mch_order', 'order_sn', 'refill_amount', 'card_no', 'card_type_text', 'order_time_text', 'notify_time_text', 'official_sn', 'order_state_text', 'mch_amount', 'channel_name', 'ch_trade_no', 'channel_amount'];
+        $column_values = ['商户号', '商户订单号', '平台单号','面额', '充值卡号', '充值卡类型', '是否转网', '下单日期', '完成日期', '订单状态', '扣款金额'];
+        $data_keys = ['mchid', 'mch_order', 'order_sn', 'refill_amount', 'card_no', 'card_type_text', 'is_transfer_text', 'order_time_text', 'notify_time_text','order_state_text', 'mch_amount'];
         $merchant_list = Model('')->table('merchant')->limit(1000)->order('company_name asc')->select();
         foreach ($merchant_list as $value) {
             $merchants[$value['mchid']] = $value;
@@ -163,6 +163,11 @@ class handler
             $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);
+            if($order['is_transfer'] == 1) {
+                $order['is_transfer_text'] = '是';
+            }else{
+                $order['is_transfer_text'] = '否';
+            }
 
             foreach ($column_keys as $key => $column_key) {
                 $field = $column_key . ($index + 2);

+ 56 - 36
mchsrv/control/merchant_order.php

@@ -44,24 +44,30 @@ class merchant_orderControl extends mbMerchantControl
         if (!empty($_GET['quality'])) {
             $cond['refill_order.quality'] = $_GET['quality'];
         }
-        $start = time() - 3600;
-        $cond['refill_order.order_time'] = ['egt', $start];
 
-        if($fSingle) {
-            $start_unixtime = intval($_GET['start_time']);
-            $end_unixtime = intval($_GET['end_time']);
+        $cur_time = time();
+        $end_date = strtotime(date('Y-m-d',$cur_time));
+        $add_end = $end_date + 86400 * 5;
 
-            if ($start_unixtime > 0 && $end_unixtime > $start_unixtime) {
-                $cond['refill_order.order_time'] = [['egt', $start_unixtime], ['lt', $end_unixtime], 'and'];
-            } elseif ($start_unixtime > 0) {
-                $cond['refill_order.order_time'] = ['egt', $start_unixtime];
-            } elseif ($end_unixtime > 0) {
-                $cond['refill_order.order_time'] = ['lt', $end_unixtime];
-            } else {
-                $start = time() - 3600;
-                $cond['refill_order.order_time'] = ['egt', $start];
+        if($fSingle)
+        {
+            $start = intval($_GET['start_time']);
+            $end = intval($_GET['end_time']);
+
+            if($start <= 0) {
+                $start = $cur_time - 3600;
+            }
+            if($end <= 0) {
+                $end = $cur_time;
             }
         }
+        else{
+            $start = $cur_time - 3600;
+            $end = $cur_time;
+        }
+        $cond['refill_order.order_time'] = [['egt', $start], ['lt', $end], 'and'];
+        $cond['vr_order.add_time'] = [['egt', $start], ['elt', $add_end], 'and'];
+
         if (in_array($_GET['order_state'], array('0', '30', '40'))) {
             $cond['vr_order.order_state'] = $_GET['order_state'];
             if($_GET['order_state'] == 30 && $_GET['time'] == 1){
@@ -84,15 +90,25 @@ class merchant_orderControl extends mbMerchantControl
         }
         $cond['inner_status'] = 0;
         $time_type = $_GET['time_type'];
+        $start = $_GET['start_time'];
+        $end = $_GET['end_time'];
+
+        $start_date = strtotime(date('Y-m-d',$start));
+        $end_date = strtotime(date('Y-m-d',$end));
+
         if ($time_type == 'order_time') {
-            $cond['order_time'] = ['time', [$_GET['start_time'], $_GET['end_time']]];
-        }
-        if ($time_type == 'notify_time') {
-            $cond['notify_time'] = ['time', [$_GET['start_time'], $_GET['end_time']]];
-        }
-        if(empty($cond)) {
+            $add_end = $end_date + 86400 * 5;
+            $cond['refill_order.order_time'] = [['egt', $start], ['lt', $end], 'and'];
+            $cond['vr_order.add_time'] = [['egt', $start], ['elt', $add_end], 'and'];
+        } elseif ($time_type == 'notify_time') {
+            $add_begin = $start_date - 86400 * 5;
+            $cond['refill_order.order_time'] = [['egt', $start_date], ['lt', $end], 'and'];
+            $cond['vr_order.add_time'] = [['egt', $add_begin], ['elt', $end], 'and'];
+            $cond['refill_order.notify_time'] = [['egt', $start], ['elt', $end], 'and'];
+        } else {
             return self::outerr(errcode::ErrInputParam, "筛选日期类型错误.");
         }
+
         $cond['mchid'] = $this->mchid();
         $stats = Model('')->table('refill_order,vr_order')->join('inner')
             ->on('refill_order.order_id=vr_order.order_id')
@@ -227,8 +243,6 @@ class merchant_orderControl extends mbMerchantControl
 
     public function OrderExportOp()
     {
-        $model_vr_order = Model('refill_order');
-
         $cond['mchid'] = $this->mchid();
         $cond['inner_status'] = 0;
         $fSingle = false;
@@ -261,24 +275,30 @@ class merchant_orderControl extends mbMerchantControl
         if (!empty($_GET['quality'])) {
             $cond['refill_order.quality'] = $_GET['quality'];
         }
-        $start = time() - 3600;
-        $cond['refill_order.order_time'] = ['egt', $start];
 
-        if ($fSingle) {
-            $start_unixtime = intval($_GET['start_time']);
-            $end_unixtime = intval($_GET['end_time']);
+        $cur_time = time();
+        $end_date = strtotime(date('Y-m-d',$cur_time));
+        $add_end = $end_date + 86400 * 5;
 
-            if ($start_unixtime > 0 && $end_unixtime > $start_unixtime) {
-                $cond['refill_order.order_time'] = [['egt', $start_unixtime], ['lt', $end_unixtime], 'and'];
-            } elseif ($start_unixtime > 0) {
-                $cond['refill_order.order_time'] = ['egt', $start_unixtime];
-            } elseif ($end_unixtime > 0) {
-                $cond['refill_order.order_time'] = ['lt', $end_unixtime];
-            } else {
-                $start = strtotime(date('Y-m-d', time()));
-                $cond['refill_order.order_time'] = ['egt', $start];
+        if($fSingle)
+        {
+            $start = intval($_GET['start_time']);
+            $end = intval($_GET['end_time']);
+
+            if($start <= 0) {
+                $start = $cur_time - 3600;
+            }
+            if($end <= 0) {
+                $end = $cur_time;
             }
         }
+        else{
+            $start = $cur_time - 3600;
+            $end = $cur_time;
+        }
+        $cond['refill_order.order_time'] = [['egt', $start], ['lt', $end], 'and'];
+        $cond['vr_order.add_time'] = [['egt', $start], ['elt', $add_end], 'and'];
+
         if (in_array($_GET['order_state'], array('0', '30', '40'))) {
             $cond['vr_order.order_state'] = $_GET['order_state'];
             if($_GET['order_state'] == 30 && $_GET['time'] == 1){