xiaoyu 3 éve
szülő
commit
f11957513d

+ 3 - 1
admin/templates/default/merchant.order.stats.php

@@ -133,6 +133,7 @@
 <!--                <th class="align-center">订单总量</th>-->
 <!--                <th class="align-center">失败订单数量</th>-->
 <!--                <th class="align-center">成功占比</th>-->
+                <th class="align-center">充值中数量</th>
                 <th class="align-center">当日结余</th>
                 <th class="align-center">下游成功单量</th>
                 <th class="align-center">下游成功面值</th>
@@ -157,12 +158,13 @@
                         <td class="align-center"><?php echo $v['success_count']; ?></td>
                         <td class="align-center"><?php echo $v['success_refill_amounts']; ?></td>
                         <td class="align-center"><?php echo $v['success_mch_amounts']; ?></td>
-                        <td class="align-center"><?php echo $v['available']; ?></td>
 <!--                        <td class="align-center">--><?php //echo $v['success_channel_amounts']; ?><!--</td>-->
 <!--                        <td class="align-center">--><?php //echo $v['profit_amounts']; ?><!--</td>-->
 <!--                        <td class="align-center">--><?php //echo $v['order_count']; ?><!--</td>-->
 <!--                        <td class="align-center">--><?php //echo $v['cancel_count']; ?><!--</td>-->
 <!--                        <td class="align-center">--><?php //echo $v['success_ratio']; ?><!--</td>-->
+                        <td class="align-center"><?php echo $v['send_count']; ?></td>
+                        <td class="align-center"><?php echo $v['available']; ?></td>
                         <td class="align-center"><?php echo $v['corder_success_count']; ?></td>
                         <td class="align-center"><?php echo $v['corder_success_refill_amounts']; ?></td>
                         <td class="align-center"><?php echo $v['corder_success_amounts']; ?></td>

+ 2 - 0
admin/templates/default/provider.order.stats.php

@@ -124,6 +124,7 @@
 <!--                <th class="align-center">订单总量</th>-->
 <!--                <th class="align-center">失败订单数量</th>-->
 <!--                <th class="align-center">成功占比</th>-->
+                <th class="align-center">充值中数量</th>
                 <th class="align-center">上游成功单量</th>
                 <th class="align-center">上游成功面值</th>
                 <th class="align-center">上游成功扣款金额</th>
@@ -152,6 +153,7 @@
 <!--                        <td class="align-center">--><?php //echo $v['order_count']; ?><!--</td>-->
 <!--                        <td class="align-center">--><?php //echo $v['cancel_count']; ?><!--</td>-->
 <!--                        <td class="align-center">--><?php //echo $v['success_ratio']; ?><!--</td>-->
+                        <td class="align-center"><?php echo $v['send_count']; ?></td>
                         <td class="align-center"><?php echo $v['corder_success_count']; ?></td>
                         <td class="align-center"><?php echo $v['corder_success_refill_amounts']; ?></td>
                         <td class="align-center"><?php echo $v['corder_success_amounts']; ?></td>

+ 5 - 1
admin/templates/default/provider.price.php

@@ -752,12 +752,16 @@
         for(let i=0;i<tds.length;i++){
             columnArray.push(tds[i].innerHTML);
         }
+        console.log(columnArray);
         let orginArray=[];
         for(let i=0;i<columnArray.length;i++){
             orginArray.push(columnArray[i]);
         }
+        console.log(1,orginArray);
+        // columnArray.sort(sortNumberDesc)
         if(obj.className=="as"){
-            columnArray.sort(sortNumberAS);   
+            // columnArray.sort(sortNumberAS);   
+            columnArray.sort()
             obj.className="desc";
         }else{
             columnArray.sort(sortNumberDesc);  

+ 73 - 55
helper/statistics/stat_refill.php

@@ -19,10 +19,10 @@ class stat_refill
         }
 
         $items = Model('')->table('refill_provider,store')
-                                ->field('refill_provider.store_id,store.store_name')->join('inner')
-                                ->on('store.store_id=refill_provider.store_id')
-                                ->where(['refill_provider.provider_id' => ['gt',0]])
-                                ->select();
+            ->field('refill_provider.store_id,store.store_name')->join('inner')
+            ->on('store.store_id=refill_provider.store_id')
+            ->where(['refill_provider.provider_id' => ['gt',0]])
+            ->select();
         foreach ($items as $item) {
             $store_id = intval($item['store_id']);
             $this->mProviderNames[$store_id] = $item['store_name'];
@@ -153,44 +153,53 @@ class stat_refill
     {
         $cond = [
             'refill_order.inner_status' => 0,
-            'vr_order.order_state' => ORDER_STATE_SUCCESS,
             "refill_order.{$order_time_type}&refill_order.{$order_time_type}" => ['_multi' => true, ['egt', $day_time], ['lt', $day_time + stat_refill::DaySecs]],
         ];
 
-        $items = Model('')->table('refill_order,vr_order')
-            ->field('mchid, count(*) as order_count, sum(refill_amount) as refill_amounts, sum(channel_amount) as channel_amounts, sum(mch_amount) as mch_amounts')
-            ->join('inner')
-            ->on('refill_order.order_id=vr_order.order_id')
-            ->where($cond)
-            ->group('mchid')
-            ->select();
-
-        foreach ($items as $item)
+        foreach ($this->mMerchantNames as $mchid => $cname)
         {
+            $mchid = intval($mchid);
+            if($mchid <= 0) continue;
+            if($cur_mchid != 0 && $cur_mchid != $mchid) continue;
+            $cond['refill_order.mchid'] = $mchid;
+            $items = Model('')->table('refill_order,vr_order')
+                ->field('mchid, count(*) as order_count, sum(refill_amount) as refill_amounts, sum(channel_amount) as channel_amounts, sum(mch_amount) as mch_amounts, order_state')
+                ->join('inner')
+                ->on('refill_order.order_id=vr_order.order_id')
+                ->where($cond)
+                ->group('order_state')
+                ->select();
+            if(empty($items)) continue;
+
             $params = [];
+
             $params['time_text'] = date("Y-m-d" , $day_time);
             $params['time_stamp'] = $day_time;
             $params['type'] = 'merchant';
             $params['order_time_type'] = $order_time_type;
-
-            $mchid = intval($item['mchid']);
-            if($mchid <= 0) continue;
-            if($cur_mchid != 0 && $cur_mchid != $mchid) continue;
-
             $params['cid'] = $mchid;
-            if(!array_key_exists($mchid,$this->mMerchantNames)) continue;
-            $params['cname'] = $this->mMerchantNames[$mchid];
-
-            $params['success_count'] = $item['order_count'];
-            $params['success_refill_amounts'] = $item['refill_amounts'];
-            $params['success_channel_amounts'] = $item['channel_amounts'];
-            $params['success_mch_amounts'] = $item['mch_amounts'];
-            $params['profit_amounts'] = $item['mch_amounts'] - $item['channel_amounts'];
-
+            $params['cname'] = $cname;
+            foreach ($items as $item)
+            {
+                $order_state = $item['order_state'];
+                if ($order_state == ORDER_STATE_SUCCESS) {
+                    $params['success_count'] = $item['order_count'];
+                    $params['success_refill_amounts'] = $item['refill_amounts'];
+                    $params['success_channel_amounts'] = $item['channel_amounts'];
+                    $params['success_mch_amounts'] = $item['mch_amounts'];
+                    $params['profit_amounts'] = $item['mch_amounts'] - $item['channel_amounts'];
+                } elseif ($order_state == ORDER_STATE_CANCEL) {
+                    $params['cancel_count'] = $item['order_count'];
+                } else {
+                    $params['send_count'] = $item['order_count'];
+                }
+            }
             if($cur_mchid != 0 && $cur_mchid == $mchid) {
                 Model('')->table('refill_stats')->where(['time_stamp' => $day_time, 'cid' => $cur_mchid, 'type' => 'merchant', 'order_time_type' => $order_time_type])->update($params);
             }else{
-                Model('')->table('refill_stats')->insert($params);
+                if(!empty($params['success_count'])) {
+                    Model('')->table('refill_stats')->insert($params);
+                }
             }
         }
     }
@@ -199,45 +208,54 @@ class stat_refill
     {
         $cond = [
             'refill_order.inner_status' => 0,
-            'vr_order.order_state' => ORDER_STATE_SUCCESS,
             "refill_order.{$order_time_type}&refill_order.{$order_time_type}" => ['_multi' => true, ['egt', $day_time], ['lt', $day_time + stat_refill::DaySecs]],
         ];
 
-        $items = Model('')->table('refill_order,vr_order')
-            ->field('vr_order.store_id, count(*) as order_count, sum(refill_amount) as refill_amounts, sum(channel_amount) as channel_amounts, sum(mch_amount) as mch_amounts')
-            ->join('inner')
-            ->on('refill_order.order_id=vr_order.order_id')
-            ->where($cond)
-            ->group('vr_order.store_id')
-            ->select();
-
-        foreach ($items as $item)
+        foreach ($this->mProviderNames as $store_id => $cname)
         {
+            $store_id = intval($store_id);
+            if($store_id <= 0) continue;
+            if($cur_storeid != 0 && $cur_storeid != $store_id) continue;
+
+            $cond['vr_order.store_id'] = $store_id;
+            $items = Model('')->table('refill_order,vr_order')
+                ->field('vr_order.store_id, count(*) as order_count, sum(refill_amount) as refill_amounts, sum(channel_amount) as channel_amounts, sum(mch_amount) as mch_amounts, order_state')
+                ->join('inner')
+                ->on('refill_order.order_id=vr_order.order_id')
+                ->where($cond)
+                ->group('order_state')
+                ->select();
+            if(empty($items)) continue;
+
             $params = [];
             $params['time_text'] = date("Y-m-d" , $day_time);
             $params['time_stamp'] = $day_time;
             $params['type'] = 'provider';
             $params['order_time_type'] = $order_time_type;
-
-            $store_id = intval($item['store_id']);
-            if($store_id <= 0) continue;
-            if($cur_storeid != 0 && $cur_storeid != $store_id) continue;
-
             $params['cid'] = $store_id;
-            if(!array_key_exists($store_id,$this->mProviderNames)) continue;
-            $params['cname'] = $this->mProviderNames[$store_id];
-
-
-            $params['success_count'] = $item['order_count'];
-            $params['success_refill_amounts'] = $item['refill_amounts'];
-            $params['success_channel_amounts'] = $item['channel_amounts'];
-            $params['success_mch_amounts'] = $item['mch_amounts'];
-            $params['profit_amounts'] = $item['mch_amounts'] - $item['channel_amounts'];
-
+            $params['cname'] = $cname;
+
+            foreach ($items as $item)
+            {
+                $order_state = $item['order_state'];
+                if ($order_state == ORDER_STATE_SUCCESS) {
+                    $params['success_count'] = $item['order_count'];
+                    $params['success_refill_amounts'] = $item['refill_amounts'];
+                    $params['success_channel_amounts'] = $item['channel_amounts'];
+                    $params['success_mch_amounts'] = $item['mch_amounts'];
+                    $params['profit_amounts'] = $item['mch_amounts'] - $item['channel_amounts'];
+                } elseif ($order_state == ORDER_STATE_CANCEL) {
+                    $params['cancel_count'] = $item['order_count'];
+                } else {
+                    $params['send_count'] = $item['order_count'];
+                }
+            }
             if($cur_storeid != 0 && $cur_storeid == $store_id) {
                 Model('')->table('refill_stats')->where(['time_stamp' => $day_time, 'cid' => $cur_storeid, 'type' => 'provider', 'order_time_type' => $order_time_type])->update($params);
             }else{
-                Model('')->table('refill_stats')->insert($params);
+                if(!empty($params['success_count'])) {
+                    Model('')->table('refill_stats')->insert($params);
+                }
             }
         }
     }