Prechádzať zdrojové kódy

Merge branch 'rmaster' of 39.97.239.116:gyfl/xyzshop into rmaster

stanley-king 4 rokov pred
rodič
commit
22668e22b8

+ 88 - 61
admin/control/merchant.php

@@ -843,7 +843,6 @@ class merchantControl extends SystemControl
         }
         $order_list = $model_refill_order->getMerchantOrderList($condition, 50, 'refill_order.*,vr_order.order_state', 'refill_order.order_time desc');
 
-        $stat = $this->all_order_state_stat($condition);
         foreach ($order_list as $order_id => $order_info) {
             $order_list[$order_id]['card_type_text'] = $this->scard_type($order_info['card_type']);
             $order_list[$order_id]['mch_name'] = $merchants[$order_info['mchid']]['company_name'];
@@ -856,6 +855,7 @@ class merchantControl extends SystemControl
             $order_list[$order_id]['diff_time'] = $diff_time;
         }
 
+        $stat = $this->all_order_state_stat($condition);
         $provider_list = Model('')->table('refill_provider,store')
             ->field('refill_provider.*,store.store_name')
             ->join('inner')
@@ -873,6 +873,67 @@ class merchantControl extends SystemControl
         Tpl::showpage('refill.order.index');
     }
 
+    public function RefillOrderExport($condition)
+    {
+        $i = 0;
+        $result = [];
+        while (true)
+        {
+            $start = $i * 1000;
+            $order_list = Model('')->table('refill_order,vr_order')->field('refill_order.*,vr_order.order_state')
+                ->where($condition)->join('inner')->on('refill_order.order_id=vr_order.order_id')->order('refill_order.order_time desc')->limit("{$start},1000")->select();
+            if(empty($order_list)) {
+                break;
+            }
+            $i++;
+            foreach ($order_list as $order) {
+                $result[] = $order;
+            }
+        }
+        $this->createExcel($result);
+    }
+
+    private function createExcel($data = array()){
+        Language::read('export');
+        import('libraries.excel');
+        $excel_obj = new Excel();
+        $excel_data = array();
+        //设置样式
+        $excel_obj->setStyle(array('id'=>'s_title','Font'=>array('FontName'=>'宋体','Size'=>'12','Bold'=>'1')));
+        //header
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '商户号');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '客户订单号');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '平台单号');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '面额');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '充值卡号');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '充值卡类型');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '下单日期');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '完成日期');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '官方流水号');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '订单状态');
+        $excel_data[0][] = array('styleid'=>'s_title','data'=> '扣款金额');
+        //data
+        foreach ((array)$data as $k=>$v){
+            $tmp = array();
+            $tmp[] = array('data'=>$v['mchid']);
+            $tmp[] = array('data'=>$v['mch_order']);
+            $tmp[] = array('data'=>$v['order_sn']);
+            $tmp[] = array('data'=>$v['refill_amount']);
+            $tmp[] = array('data'=>$v['card_no']);
+            $tmp[] = array('data'=>$this->scard_type($v['card_type']));
+            $tmp[] = array('data'=>date('Y-m-d H:i:s',$v['order_time']));
+            $tmp[] = array('data'=>date('Y-m-d H:i:s',$v['notify_time']));
+            $tmp[] = array('data'=>$v['official_sn']);
+            $tmp[] = array('data'=>orderState($v['order_state']));
+            $tmp[] = array('data'=>$v['mch_amount']);
+            $excel_data[] = $tmp;
+        }
+        $excel_data = $excel_obj->charset($excel_data,CHARSET);
+        $excel_obj->addArray($excel_data);
+        $excel_obj->addWorksheet($excel_obj->charset(L('exp_od_order'),CHARSET));
+        $excel_obj->generateXML($excel_obj->charset(L('exp_od_order'),CHARSET).date('Y-m-d-H',time()));
+    }
+
     public function notify_merchantOp()
     {
         $order_id = $_GET['order_id'];
@@ -1519,7 +1580,21 @@ class merchantControl extends SystemControl
             $merchant_list = Model('')->table('merchant')->limit(1000)->select();
             Tpl::output('merchant_list', $merchant_list);
         }
+        $success_count_total = $success_refill_amounts_total = $success_mch_amounts_toatl = $success_channel_amounts_total = 0;
+        foreach ($stats_list as $stats) {
+            $success_count_total += $stats['success_count'];
+            $success_refill_amounts_total += $stats['success_refill_amounts'];
+            $success_mch_amounts_toatl += $stats['success_mch_amounts'];
+            $success_channel_amounts_total += $stats['success_channel_amounts'];
+        }
+        $total_stats = [
+            'success_count_total' => $success_count_total,
+            'success_refill_amounts_total' => $success_refill_amounts_total,
+            'success_mch_amounts_toatl' => $success_mch_amounts_toatl,
+            'success_channel_amounts_total' => $success_channel_amounts_total
+        ];
         $check_text = ['未编辑', '匹配', '不匹配'];
+        Tpl::output('total_stats', $total_stats);
         Tpl::output('stats_list', $stats_list);
         Tpl::output('check_text', $check_text);
         Tpl::output('show_page', $model_refill_order->showpage());
@@ -1574,6 +1649,18 @@ class merchantControl extends SystemControl
         }
     }
 
+    public function OrderStatsReloadOp()
+    {
+        $stat_id = $_GET['stat_id'];
+        $mod_stat = Model('refill_stats');
+        $stats_data = $mod_stat->getStatsInfo(['stat_id' => $stat_id]);
+        if (empty($stats_data)) {
+            showMessage('对应数据不存在', '');
+        }
+
+        showMessage('操作成功');
+    }
+
     public function provider_evidenceOp()
     {
         $mod = Model('provider_evidence');
@@ -1662,64 +1749,4 @@ class merchantControl extends SystemControl
             Tpl::showpage('provider.evidence.add');
         }
     }
-
-    public function provider_successfulOp()
-    {
-        $days = $this->successful_where();
-        Tpl::output('days', $days);
-        Tpl::showpage('provider.successful');
-    }
-
-    private function successful_where() {
-        $url = BASE_SITE_URL . '/plot/days';
-        Log::record("successful get timestamp url : {$url}", Log::DEBUG);
-        $data = http_request($url);
-        if(empty($data)) return [];
-        preg_match_all('/\d{10}/', $data, $matches);
-        $days = $matches[0];
-        if(empty($days)) return [];
-        $result = [];
-        foreach ($days as $day) {
-            $result[$day] = date("Y-m-d",$day);
-        }
-        return $result;
-    }
-
-    public function successful_time_get_whereOp(){
-        $url = BASE_SITE_URL . '/plot/paths?time_stamp='.$_GET['timestamp'];
-        Log::record("successful get where url : {$url}", Log::DEBUG);
-        $data = http_request($url);
-        preg_match_all('/\d{10}\/[a-z]+\/\d{1,2}\/\d\/\d{2,4}/', $data, $matches);
-        $conds = $matches[0];
-        if(empty($conds)) return [];
-        foreach ($conds as $cond) {
-            $arr = explode('/',$cond);
-            $chname[] = $arr[1];
-            $qualitys[] = $arr[2];
-            $card_types[] = $arr[3];
-            $amount[] = intval($arr[4]);
-        }
-        $chnameData = array_unique($chname);
-        sort($chnameData);
-
-        $result['chname'] = $chnameData;
-        $amountData = array_unique($amount);
-        sort($amountData);
-        $result['amount'] = $amountData;
-
-        foreach (array_unique($card_types) as $card_type) {
-            $card_typeData[$card_type] = $this->scard_type($card_type);
-        }
-        ksort($card_typeData);
-        $result['card_type'] = $card_typeData;
-
-        $quality_txt = [1=>'普充', 2=>'快充', 3=>'卡密', 4=>'三方', 5=>'慢充'];
-        foreach (array_unique($qualitys) as $quality) {
-            $qualityData[$quality] = $quality_txt[$quality];
-        }
-        ksort($qualityData);
-        $result['quality'] = $qualityData;
-        echo(json_encode($result));
-        exit;
-    }
 }

+ 23 - 0
admin/control/provider_group.php

@@ -49,6 +49,29 @@ class provider_groupControl extends SystemControl
         Tpl::showpage('provider.group.add');
     }
 
+    public function editOp()
+    {
+        $group_id = $_GET['group_id'] ?? $_POST['group_id'];
+        $mod = Model('provider_group');
+        $group = $mod->getProviderGroup(['group_id' => $group_id]);
+        if(empty($group)) {
+            showMessage('通道组不存在');
+        }
+        if(chksubmit()) {
+            $updata['group_name'] = trim($_POST['group_name']);
+            $updata['bz'] = trim($_POST['bz']);
+            $result = $mod->editGroup($group_id, $updata);
+            if ($result) {
+                showMessage('编辑成功', 'index.php?act=provider_group&op=index');
+            } else {
+                showMessage('编辑失败');
+            }
+        }else{
+            Tpl::output('group', $group);
+            Tpl::showpage('provider.group.edit');
+        }
+    }
+
     public function provider_chooseOp()
     {
         $group_id = $_GET['group_id'];

+ 95 - 0
admin/control/refill_successful.php

@@ -0,0 +1,95 @@
+<?php
+require_once(BASE_CONFIG_PATH . CONFIG_PREFIX . '/refill.ini.php');
+require_once(BASE_ROOT_PATH . '/core/framework/function/http.php');
+
+class refill_successfulControl extends SystemControl
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    public function provider_successfulOp()
+    {
+        $days = $this->successful_where();
+        Tpl::output('days', $days);
+        Tpl::showpage('provider.successful');
+    }
+
+    private function successful_where() {
+        $url = BASE_SITE_URL . '/plot/days';
+        Log::record("successful get timestamp url : {$url}", Log::DEBUG);
+        $data = http_request($url);
+        if(empty($data)) return [];
+        preg_match_all('/\d{10}/', $data, $matches);
+        $days = $matches[0];
+        if(empty($days)) return [];
+        $result = [];
+        foreach ($days as $day) {
+            $result[$day] = date("Y-m-d",$day);
+        }
+        return $result;
+    }
+
+    public function successful_time_get_whereOp(){
+        $url = BASE_SITE_URL . '/plot/paths?time_stamp='.$_GET['timestamp'];
+        Log::record("successful get where url : {$url}", Log::DEBUG);
+        $data = http_request($url);
+        if(empty($data)) {
+            echo(json_encode(''));
+            exit;
+        }
+        preg_match_all('/\d{10}\/[a-z]+\/\d{1,2}\/\d\/\d{2,4}/', $data, $matches);
+        $conds = $matches[0];
+        if(empty($conds)) {
+            echo(json_encode(''));
+            exit;
+        }
+        foreach ($conds as $cond) {
+            $arr = explode('/',$cond);
+            $chname[] = $arr[1];
+            $qualitys[] = $arr[2];
+            $card_types[] = $arr[3];
+            $amount[] = intval($arr[4]);
+        }
+        $chnameData = array_unique($chname);
+        sort($chnameData);
+
+        $result['chname'] = $chnameData;
+        $amountData = array_unique($amount);
+        sort($amountData);
+        $result['amount'] = $amountData;
+
+        foreach (array_unique($card_types) as $card_type) {
+            $card_typeData[$card_type] = $this->scard_type($card_type);
+        }
+        ksort($card_typeData);
+        $result['card_type'] = $card_typeData;
+
+        $quality_txt = [1=>'普充', 2=>'快充', 3=>'卡密', 4=>'三方', 5=>'慢充'];
+        foreach (array_unique($qualitys) as $quality) {
+            $qualityData[$quality] = $quality_txt[$quality];
+        }
+        ksort($qualityData);
+        $result['quality'] = $qualityData;
+        echo(json_encode($result));
+        exit;
+    }
+
+    private function scard_type(int $card_type)
+    {
+        if ($card_type == 1) { //中石油
+            return '中石油';
+        } elseif ($card_type == 2) { //中石化
+            return '中石化';
+        } elseif ($card_type == 4) { //中国移动
+            return '中国移动';
+        } elseif ($card_type == 5) { //中国联通
+            return '中国联通';
+        } elseif ($card_type == 6) { //中国电信
+            return '中国电信';
+        } else {
+            return 'unknown';
+        }
+    }
+}

+ 3 - 2
admin/include/menu.php

@@ -97,12 +97,13 @@ $arr = array(
 					array('args'=>'refill_evidence,merchant,merchant',		'text'=>'充值申请'),
 					array('args'=>'refill_order,merchant,merchant',			'text'=>'订单列表'),
 					array('args'=>'provider,merchant,merchant',				'text'=>'通道列表'),
+					array('args'=>'index,provider_group,merchant',			'text'=>'通道组管理'),
 					array('args'=>'OrderSendList,merchant,merchant',		'text'=>'超时订单监控'),
 					array('args'=>'OrderStats,merchant,merchant',			'text'=>'对账管理'),
 					array('args'=>'stats,card_key,merchant',				'text'=>'卡密管理'),
 					array('args'=>'index,refill_stock,merchant',			'text'=>'库存管理'),
-					array('args'=>'provider_successful,merchant,merchant',	'text'=>'成功率监控'),
-					array('args'=>'index,provider_group,merchant',			'text'=>'通道组管理')
+					array('args'=>'provider_successful,refill_successful,merchant',	'text'=>'成功率监控'),
+
 				)
 			),
 			4 => array(

+ 21 - 15
admin/templates/default/merchant.order.stats.php

@@ -50,20 +50,25 @@
             </tbody>
         </table>
     </form>
-    <!--   <table class="table tb-type2" id="prompt">-->
-    <!--    <tbody>-->
-    <!--      <tr class="space odd">-->
-    <!--        <th colspan="12"><div class="title">-->
-    <!--            <h5>--><?php //echo $lang['nc_prompts'];?><!--</h5>-->
-    <!--            <span class="arrow"></span></div></th>-->
-    <!--      </tr>-->
-    <!--      <tr>-->
-    <!--        <td><ul>-->
-    <!--            <li>--><?php //echo $lang['store_help1'];?><!--</li>-->
-    <!--          </ul></td>-->
-    <!--      </tr>-->
-    <!--    </tbody>-->
-    <!--  </table>-->
+    <table class="table tb-type2" id="prompt">
+        <tbody>
+        <tr class="space odd">
+            <th colspan="12"><div class="title">
+                    <h5>总量统计</h5>
+                    <span class="arrow"></span></div></th>
+        </tr>
+        <tr>
+            <td>
+                <ul>
+                    <li class="lineLi" style="color:#000;">总计成功订单量: <?php echo $output['total_stats']['success_count_total'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计成功订单金额:<?php echo $output['total_stats']['success_refill_amounts_total'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计机构扣款金额:<?php echo $output['total_stats']['success_mch_amounts_toatl'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计通道扣款金额:<?php echo $output['total_stats']['success_channel_amounts_total'] ?? 0?></li>
+                </ul>
+            </td>
+        </tr>
+        </tbody>
+    </table>
     <form method="post" id="merchant_name_form">
         <input type="hidden" name="form_submit" value="ok"/>
         <table class="table tb-type2">
@@ -119,7 +124,8 @@
                             <?php }?>
                         </td>
                         <td class="align-center w200">
-                                <a href="index.php?act=merchant&op=OrderStatsCheck&stat_id=<?php echo $v['stat_id'] ?>">编辑</a>
+                            <a href="index.php?act=merchant&op=OrderStatsReload&stat_id=<?php echo $v['stat_id'];?>">重新统计</a>
+                            |<a href="index.php?act=merchant&op=OrderStatsCheck&stat_id=<?php echo $v['stat_id'] ?>">编辑</a>
                         </td>
                     </tr>
                 <?php } ?>

+ 74 - 0
admin/templates/default/provider.group.edit.php

@@ -0,0 +1,74 @@
+<?php defined('InShopNC') or exit('Access Invalid!'); ?>
+
+<div class="page">
+    <div class="fixed-bar">
+        <div class="item-title">
+            <h3>通道组管理</h3>
+            <ul class="tab-base">
+                <li><a href="index.php?act=provider_group&op=index"><span><?php echo $lang['nc_manage'] ?></span></a></li>
+                <li><a href="JavaScript:void(0);" class="current"><span><?php echo $lang['nc_update'] ?></span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form id="user_form" enctype="multipart/form-data" method="post">
+        <input type="hidden" name="form_submit" value="ok"/>
+        <input type="hidden" name="group_id" value="<?php echo $_GET['group_id'];?>">
+        <table class="table tb-type2">
+            <tbody>
+            <tr class="noborder">
+                <td colspan="2" class="required"><label class="validation" for="name">通道组名称:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform"><input type="text" value="<?php echo $output['group']['group_name'];?>" name="group_name" id="group_name" class="txt"></td>
+                <td class="vatop tips"></td>
+            </tr>
+
+            <tr>
+                <td colspan="2" class="required"><label>备注信息:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform"><textarea name="bz" rows="6" class="tarea"><?php echo $output['group']['bz'];?></textarea></td>
+                <td class="vatop tips">通道组备注信息</td>
+            </tr>
+            </tbody>
+            <tfoot>
+            <tr class="tfoot">
+                <td colspan="15"><a href="JavaScript:void(0);" class="btn" id="submitBtn"><span><?php echo $lang['nc_submit']; ?></span></a></td>
+            </tr>
+            </tfoot>
+        </table>
+    </form>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/dialog/dialog.js" id="dialog_js"
+        charset="utf-8"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery-ui/jquery.ui.js"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/ajaxfileupload/ajaxfileupload.js"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.js"></script>
+<link href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.min.css" rel="stylesheet" type="text/css"
+      id="cssfile2"/>
+<script type="text/javascript">
+    $(function () {
+        //按钮先执行验证再提交表单
+        $("#submitBtn").click(function () {
+            if ($("#user_form").valid()) {
+                $("#user_form").submit();
+            }
+        });
+        $('#user_form').validate({
+            errorPlacement: function (error, element) {
+                error.appendTo(element.parent().parent().prev().find('td:first'));
+            },
+            rules: {
+                group_name: {
+                    required: true
+                }
+            },
+            messages: {
+                group_name: {
+                    required: '通道组名称不能为空',
+                },
+            }
+        });
+    });
+</script>

+ 4 - 1
admin/templates/default/provider.group.list.php

@@ -51,6 +51,7 @@
             <tr class="thead">
                 <th>通道组ID</th>
                 <th>通道组名称</th>
+                <th>备注信息</th>
                 <th class="align-center">添加日期</th>
                 <th class="align-center">操作</th>
             </tr>
@@ -61,9 +62,11 @@
                     <tr class="trFlex">
                         <td><?php echo $v['group_id']; ?></td>
                         <td><?php echo $v['group_name']; ?></td>
+                        <td><?php echo $v['bz']; ?></td>
                         <td class="nowarp align-center"><?php echo $v['add_time'] ? date('Y-m-d H:i', $v['add_time']) : $lang['no_limit']; ?></td>
                         <td class="align-center w200">
-                           <a href="index.php?act=provider_group&op=provider_choose&group_id=<?php echo $v['group_id'] ?>">编辑组内通道</a>
+                            <a href="index.php?act=provider_group&op=edit&group_id=<?php echo $v['group_id'] ?>">编辑</a>
+                           | <a href="index.php?act=provider_group&op=provider_choose&group_id=<?php echo $v['group_id'] ?>">编辑组内通道</a>
                         </td>
                     </tr>
                 <?php } ?>

+ 3 - 2
admin/templates/default/provider.group.php

@@ -50,7 +50,7 @@
                                     <td colspan="15"><a href="JavaScript:void(0);" class="btn"><span id="btnContent"></span></a></td>
                                 </tr>
                             </tfoot>
-                        </teble>
+                        </table>
                     </div>
                 </td>
             </tr>
@@ -75,10 +75,11 @@
             $(this).siblings().css('background-color', '#e7f7fd')
             $(this).css('border', 'none')
             $(this).siblings().css('border', '1px solid#daf3fd')
+            let group_id = $("input[name='group_id']").val()
             let quality = $(this).attr('data-quality')
             let type = $(this).attr('data-type')
             $(".selecTobay").find('tr').remove();
-            $.get('index.php?act=provider_group&op=get_provider_group_info&group_id=1&quality='+quality+'&type='+type, function (data) {
+            $.get('index.php?act=provider_group&op=get_provider_group_info&group_id='+group_id+'&quality='+quality+'&type='+type, function (data) {
                 data = JSON.parse(data)
                 $('.tfoot').css('display','block')
                 if (data.length == 0) {

+ 21 - 15
admin/templates/default/provider.order.stats.php

@@ -50,20 +50,25 @@
             </tbody>
         </table>
     </form>
-    <!--   <table class="table tb-type2" id="prompt">-->
-    <!--    <tbody>-->
-    <!--      <tr class="space odd">-->
-    <!--        <th colspan="12"><div class="title">-->
-    <!--            <h5>--><?php //echo $lang['nc_prompts'];?><!--</h5>-->
-    <!--            <span class="arrow"></span></div></th>-->
-    <!--      </tr>-->
-    <!--      <tr>-->
-    <!--        <td><ul>-->
-    <!--            <li>--><?php //echo $lang['store_help1'];?><!--</li>-->
-    <!--          </ul></td>-->
-    <!--      </tr>-->
-    <!--    </tbody>-->
-    <!--  </table>-->
+    <table class="table tb-type2" id="prompt">
+        <tbody>
+        <tr class="space odd">
+            <th colspan="12"><div class="title">
+                    <h5>总量统计</h5>
+                    <span class="arrow"></span></div></th>
+        </tr>
+        <tr>
+            <td>
+                <ul>
+                    <li class="lineLi" style="color:#000;">总计成功订单量: <?php echo $output['total_stats']['success_count_total'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计成功订单金额:<?php echo $output['total_stats']['success_refill_amounts_total'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计机构扣款金额:<?php echo $output['total_stats']['success_mch_amounts_toatl'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计通道扣款金额:<?php echo $output['total_stats']['success_channel_amounts_total'] ?? 0?></li>
+                </ul>
+            </td>
+        </tr>
+        </tbody>
+    </table>
     <form method="post" id="merchant_name_form">
         <input type="hidden" name="form_submit" value="ok"/>
         <table class="table tb-type2">
@@ -119,7 +124,8 @@
                             <?php }?>
                         </td>
                         <td class="align-center w200">
-                                <a href="index.php?act=merchant&op=OrderStatsCheck&stat_id=<?php echo $v['stat_id'] ?>">编辑</a>
+                            <a href="index.php?act=merchant&op=OrderStatsReload&stat_id=<?php echo $v['stat_id'];?>">重新统计</a>
+                            |<a href="index.php?act=merchant&op=OrderStatsCheck&stat_id=<?php echo $v['stat_id'] ?>">编辑</a>
                         </td>
                     </tr>
                 <?php } ?>

+ 10 - 7
admin/templates/default/provider.successful.php

@@ -12,8 +12,6 @@
         请先选择时间
     </div>
     <form method="get" action="index.php" name="formSearch" id="formSearch">
-        <input type="hidden" name="act" value="merchant"/>
-        <input type="hidden" name="op" value="OrderSendList"/>
         <table class="tb-type1 noborder search tableFixed">
             <tr>
                 <th><label>起始日期</label></th>
@@ -112,10 +110,11 @@
         let stamp = new Date(timestr).getTime()/1000
         $("select[name=time_stamp]").val(stamp)
         $("select[name=time_hour]").val(hour)
-        // console.log('frontOneHour', frontOneHour,hour, stamp);
+        console.log('frontOneHour', frontOneHour,hour, stamp);
         let t = stamp + hour*3600
         let interval = $("select[name=interval]").val()
         let s = window.location.origin + "/plot/index?time_stamp=" + t + "&interval=" + interval
+        TimeGetWhere(stamp)
         $.get( s, function (data){
             if (!data) {
                 return
@@ -123,10 +122,8 @@
             $('iframe').attr('src',s)
         });
 
-        $('#timeSelect').change(function () {
-            let val = $(this).val()
-            // console.log('val', val);
-            $.get("index.php?act=merchant&op=successful_time_get_where&timestamp="+val, function (data){
+        function TimeGetWhere(time){
+            $.get("index.php?act=refill_successful&op=successful_time_get_where&timestamp="+time, function (data){
                 if (!data) {
                     return
                 }
@@ -156,6 +153,12 @@
                 }
                 // console.log('data1', data);
             });
+        }
+
+        $('#timeSelect').change(function () {
+            let val = $(this).val()
+            // console.log('val', val);
+            TimeGetWhere(val);
         })
         $('#ncsubmit').click(function () {
             let time_stamp = $("select[name=time_stamp]").val()

+ 20 - 14
admin/templates/default/system.order.stats.php

@@ -37,20 +37,25 @@
             </tbody>
         </table>
     </form>
-    <!--   <table class="table tb-type2" id="prompt">-->
-    <!--    <tbody>-->
-    <!--      <tr class="space odd">-->
-    <!--        <th colspan="12"><div class="title">-->
-    <!--            <h5>--><?php //echo $lang['nc_prompts'];?><!--</h5>-->
-    <!--            <span class="arrow"></span></div></th>-->
-    <!--      </tr>-->
-    <!--      <tr>-->
-    <!--        <td><ul>-->
-    <!--            <li>--><?php //echo $lang['store_help1'];?><!--</li>-->
-    <!--          </ul></td>-->
-    <!--      </tr>-->
-    <!--    </tbody>-->
-    <!--  </table>-->
+       <table class="table tb-type2" id="prompt">
+        <tbody>
+          <tr class="space odd">
+            <th colspan="12"><div class="title">
+                <h5>总量统计</h5>
+                <span class="arrow"></span></div></th>
+          </tr>
+          <tr>
+            <td>
+                <ul>
+                    <li class="lineLi" style="color:#000;">总计成功订单量: <?php echo $output['total_stats']['success_count_total'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计成功订单金额:<?php echo $output['total_stats']['success_refill_amounts_total'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计机构扣款金额:<?php echo $output['total_stats']['success_mch_amounts_toatl'] ?? 0?></li>
+                    <li class="lineLi" style="color:#000;">总计通道扣款金额:<?php echo $output['total_stats']['success_channel_amounts_total'] ?? 0?></li>
+                </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
     <form method="post" id="merchant_name_form">
         <input type="hidden" name="form_submit" value="ok"/>
         <table class="table tb-type2">
@@ -88,6 +93,7 @@
                         <td class="align-center"><?php echo $v['cancel_count']; ?></td>
                         <td class="align-center"><?php echo $v['success_ratio']; ?></td>
                         <td class="align-center w200">
+                            <a href="index.php?act=merchant&op=OrderStatsReload&stat_id=<?php echo $v['stat_id'];?>">重新统计</a>
                         </td>
                     </tr>
                 <?php } ?>

+ 4 - 0
data/model/provider_group.model.php

@@ -19,6 +19,10 @@ class provider_groupModel extends Model
         return $this->insert($insert);
     }
 
+    public function editGroup($group_id, $data){
+        return $this->where(['group_id' => $group_id])->update($data);
+    }
+
     public function getGroupList($condition, $page = null, $order = '', $field = '*', $limit = '')
     {
         return $this->field($field)->where($condition)->order($order)->limit($limit)->page($page)->select();

+ 4 - 4
helper/refill/util.php

@@ -64,13 +64,13 @@ class util
             {
                 $latest = current($result);
                 $cur = time();
-
-                if ($cur > $latest && ($cur - $latest) >= 2) {
+                $lowest = 300;
+                if ($cur > $latest && ($cur - $latest) >= $lowest) {
                     wcache("card_expired", [$card_no => time()], '');
                     return [true, 0];
                 } else {
-                    wcache("card_expired", [$card_no => $latest + 2], '');
-                    return [false, $latest + 2 - $cur];
+                    wcache("card_expired", [$card_no => $latest + $lowest], '');
+                    return [false, $latest + $lowest - $cur];
                 }
             }
         }

+ 2 - 1
mobile/callback/refill_jumi.php

@@ -2,4 +2,5 @@
 $content = $_SERVER['post_content'];
 $input = json_decode($content,true);
 
-refill\util::push_notify('jumi',$input);
+refill\util::push_notify('jumi',$input);
+echo ('SUCCESS');

+ 8 - 3
test/TestRefill.php

@@ -1027,8 +1027,13 @@ class TestRefill extends TestCase
     public function testCtSign()
     {
         $params['act'] = 'refill';
-        $params['mchid'] = 12345;
-        $params['op'] = 'goods';
+        $params['mchid'] = 10138;
+        $params['op'] = 'add';
+        $params['amount'] = 10;
+        $params['cardno'] = 18736009728;
+        $params['notifyurl'] = 'http://202.85.213.155:8080/YeZiYKCallBackOrderServlet';
+        $params['quality'] = 5;
+        $params['order_sn'] = 'jftest0000125';
         $sign = $this->md5_sign($params);
     }
 
@@ -1049,7 +1054,7 @@ class TestRefill extends TestCase
             }
         }
 
-        $body .= "&key=12345";
+        $body .= "&key=678171AEDF2FD00FDE5FAC6211FF2AE5";
 
         return md5($body);
     }