Prechádzať zdrojové kódy

admin update notify fail order

haru haru 3 rokov pred
rodič
commit
fa694649ef

+ 31 - 0
admin/control/ordersendlist.php

@@ -163,4 +163,35 @@ class ordersendlistControl extends SystemControl
 
         return $order_list;
     }
+
+    public function notify_err_orderOp()
+    {
+        $model_refill_order = Model('refill_order');
+
+        $order_state_cancel = ORDER_STATE_CANCEL;
+        $order_state_success = ORDER_STATE_SUCCESS;
+        $condition['refill_order.inner_status'] = 0;
+        $condition['vr_order.order_state'] = ['in',"{$order_state_cancel},{$order_state_success}"];
+        $condition['refill_order.mch_notify_state'] = 0;
+        if(!empty($_GET['time'])) {
+            $time = $_GET['time'] * 3600;
+            $condition['refill_order.order_time'] = ['gt', (time() - $time)];
+        }
+
+        $order_list = $model_refill_order->getMerchantOrderList($condition, '', 'refill_order.*,vr_order.order_state', 'refill_order.order_time asc', 10000);
+        $merchant_list = Model('')->table('merchant')->limit(1000)->order('name asc')->select();
+        $order_list = $this->orderFormat($order_list,$merchant_list);
+
+        $provider_list = Model('')->table('refill_provider,store')
+            ->field('refill_provider.*,store.store_name')
+            ->join('inner')
+            ->on('store.store_id=refill_provider.store_id')
+            ->order('name asc')
+            ->limit(1000)
+            ->select();
+        Tpl::output('provider_list', $provider_list);
+        Tpl::output('order_list', $order_list);
+        Tpl::output('show_page', $model_refill_order->showpage());
+        Tpl::showpage('refill.order.notify.err.index');
+    }
 }

+ 1 - 0
admin/templates/default/refill.order.neterr.index.php

@@ -57,6 +57,7 @@
             <ul class="tab-base">
                 <li><a href="index.php?act=ordersendlist&op=index"><span>超时订单监控</span></a></li>
                 <li><a href="JavaScript:void(0);" class="current"><span>网络错误订单监控</span></a></li>
+                <li><a href="index.php?act=ordersendlist&op=notify_err_order"><span>未回调订单监控</span></a></li>
             </ul>
         </div>
     </div>

+ 265 - 0
admin/templates/default/refill.order.notify.err.index.php

@@ -0,0 +1,265 @@
+<style>
+    th label {
+        display: inline-block;
+        width: 60px;
+    }
+
+    .lineLi {
+        display: inline-block;
+        min-width: 150px;
+        font-size: 14px;
+    }
+    .page .fixed-bar .item-title h3 {
+        margin-top:18px !important;
+        margin-bottom:10px !important;
+        font-weight:700 !important;
+    }
+    .tab-base li span {
+        font-size:12px !important;
+    }
+    .layui-form-select .layui-input {
+        height:23px;
+        padding-left: 11px;
+        padding-right: 0!important;
+    }
+    input::placeholder{ 
+        color:#333; 
+    }
+    .layui-form-selected dl {
+    display: flex!important;
+    flex-wrap: wrap!important;
+    }
+    .layui-form-select dl {
+      
+        top: 29px !important;
+        left: 4px!important;
+        min-width: 802%!important;
+        max-height: 280px!important;
+        padding: 14px 0!important;
+    }
+    .layui-form-select dl dd.layui-this{
+        display: none;
+    }
+    .layui-form-select dl dd {
+    cursor: pointer;
+    width: 130px;
+    }
+    .lefto {
+        margin-left: 6px;
+    }
+</style>
+
+<?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=ordersendlist&op=index"><span>超时订单监控</span></a></li>
+                <li><a href="index.php?act=ordersendlist&op=neterr_order"><span>网络错误订单监控</span></a></li>
+                <li><a href="JavaScript:void(0);" class="current"><span>未回调订单监控</span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form method="get" action="index.php" name="formSearch" id="formSearch">
+        <input type="hidden" name="act" value="OrderSendList"/>
+        <input type="hidden" name="op" value="notify_err_order"/>
+        <table class="tb-type1 noborder search">
+            <tr>
+                <th><label class="lefto">近期时间(小时内)</label></th>
+                <td  class="layui-form">
+                    <select name="time" class="querySelect" lay-verify="" lay-search>
+                        <option value=""><?php echo $lang['nc_please_choose']; ?></option>
+                        <?php for ($i = 1; $i<=12; $i++) { ?>
+                            <option value="<?php echo $i; ?>" <?php if ($_GET['time'] == $i){ ?>selected<?php } ?>><?php echo $i;?>小时
+                            </option>
+                        <?php } ?>
+                    </select>
+                </td>
+                <td>
+                    <a href="javascript:void(0);" id="ncsubmit" class="btn-search "
+                       title="<?php echo $lang['nc_query']; ?>">&nbsp;
+                    </a>
+                </td>
+            </tr>
+        </table>
+        <table class="tb-type1 noborder search">
+            <tr>
+                <td>
+                    <a href="#" class="btns" onclick="hCopyChannel(event)">
+                        <span><i class="icon-edit"></i>拷贝订单号</span>
+                    </a>
+                    <a href="#" class="btns" onclick="hCopyCardNo(event)">
+                        <span><i class="icon-edit"></i>拷贝充值卡号</span>
+                    </a>
+                </td>
+            </tr>
+        </table>
+    </form>
+    <table class="table tb-type2 nobdb">
+        <thead>
+        <tr class="thead">
+            <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>
+            <th class="align-right">下单日期</th>
+            <th class="align-right">耗时</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>
+            <th class="align-center">渠道名称</th>
+        </tr>
+        </thead>
+        <tbody id="tbody">
+        <?php if (count($output['order_list']) > 0) { ?>
+            <?php
+            foreach ($output['order_list'] as $key => $order) { ?>
+                <tr class="hover trFlex">
+                    <td class="align-center"><?php echo $key + 1; ?></td>
+                    <td class="align-left"><?php echo $order['order_sn']; ?></td>
+                    <td class="align-center"><?php echo $order['mchid']; ?></td>
+                    <td class="align-center"><?php echo $order['mch_name']; ?></td>
+                    <td class="align-left"><?php echo $order['card_no']; ?></td>
+                    <td class="align-center"><?php echo $order['card_type_text']; ?></td>
+                    <td class="align-center"><?php echo $order['refill_amount']; ?></td>
+                    <td class="align-right"><?php echo date('Y-m-d H:i:s', $order['order_time']); ?></td>
+                    <td class="align-right">
+                        <?php if (empty($order['notify_time'])) {
+                            if ($order['diff_time'] >= 1800 && $order['diff_time'] <= 3600) {
+                                ?>
+                                <span style="color: #fd9d0e"><?php echo $order['diff_time_text'] ?></span>
+                            <?php } elseif ($order['diff_time'] > 3600) { ?>
+                                <span style="color: #f30707"><?php echo $order['diff_time_text'] ?></span>
+                            <?php } else {
+                                ?>
+                                <?php echo $order['diff_time_text'] ?>
+                            <?php } ?>
+                        <?php } else { ?>
+                            <?php echo $order['diff_time_text'] ?>
+                        <?php } ?>
+                    </td>
+                    <td class="align-center"><?php echo orderState($order); ?></td>
+                    <td class="align-left"><?php echo $order['quality_text']; ?></td>
+                    <td class="align-left"><?php echo $order['err_msg']; ?></td>
+                    <td class="align-left"><?php echo $order['mch_order']; ?></td>
+                    <td class="align-center"><?php echo $order['mch_amount']; ?></td>
+                    <td class="align-left" class="ch_trade_no"><?php echo $order['ch_trade_no']; ?></td>
+                    <td class="align-center"><?php echo $order['channel_name']; ?></td>
+                </tr>
+            <?php } ?>
+        <?php } else { ?>
+            <tr class="no_data">
+                <td colspan="15"><?php echo $lang['nc_no_record']; ?></td>
+            </tr>
+        <?php } ?>
+        </tbody>
+        <tfoot>
+        <tr class="tfoot">
+            <td colspan="15" id="dataFuncs">
+                <div class="pagination"> <?php echo $output['show_page']; ?> </div>
+            </td>
+        </tr>
+        </tfoot>
+    </table>
+    <!-- 预警提示 -->
+    <audio id="auto" src="<?php echo RESOURCE_SITE_URL; ?>/warning.mp3"></audio>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/laydate/laydate.js"></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/jquery-ui/i18n/zh-CN.js"
+        charset="utf-8"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/refill/layer.js"></script>
+<script type="text/javascript" src="<?php echo ADMIN_TEMPLATES_URL;?>/layui/layui.js"></script>
+<link rel="stylesheet" type="text/css" href="<?php echo ADMIN_TEMPLATES_URL; ?>/layui/css/layui.css"/>
+<link rel="stylesheet" type="text/css"
+      href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery-ui/themes/ui-lightness/jquery.ui.css"/>
+<script type="text/javascript">
+    $(function () {
+        $('#ncsubmit').click(function () {
+            $('#formSearch').submit();
+        });
+        $('#query_start_time').datepicker({dateFormat: 'yy-mm-dd'});
+        $('#query_end_time').datepicker({dateFormat: 'yy-mm-dd'});
+        // 日期选择器
+        laydate.render({
+            elem: '#startTime',
+            type: 'datetime'
+        });
+        laydate.render({
+            elem: '#endTime',
+            type: 'datetime'
+        });
+        let isWring = '<?php echo $output['count'][1];?>';
+        // console.log('isWring', Number(isWring));
+        let setTimer
+        let num
+        if (Number(isWring) > 0) {
+            window.clearTimeout(setTimer)
+            setTimer = setTimeout(function () {
+                $("#auto")[0].play();
+                // $("#auto").attr("src", '<?php echo RESOURCE_SITE_URL; ?>/warning.mp3');
+            }, 1000);
+            window.clearTimeout(num)
+            num = setTimeout(function () {
+                window.location.reload();
+            }, 60000);
+        }
+        // 表格hover时背景
+        $('.trFlex').each(function () {
+            $(this).hover(function () {
+                $(this)[0].style.backgroundColor = '#cbe9f3'
+            }, function () {
+                $(this)[0].style.backgroundColor = '#fff'
+            })
+        })
+        // 供方名称颜色
+        $('.textColor').each(function () {
+            let color = $(this).attr('data-color')
+            if (color == '1') {
+                $(this).css('color', 'green')
+            } else {
+                $(this).css('color', 'red')
+            }
+        })
+    });
+
+    function hCopyChannel(e) {
+        let str = ''
+        $('#tbody tr').each(function () {
+            let res = $(this).find('td').eq(1).text()
+            str += res + '\n'
+        })
+        let oInput = document.createElement("textarea");
+        oInput.style.border = "0 none";
+        oInput.style.color = "transparent";
+        oInput.value = str;
+        document.body.appendChild(oInput);
+        oInput.select(); // 选择对象
+        document.execCommand("Copy"); // 执行浏览器复制命令
+        oInput.parentNode.removeChild(oInput)
+    }
+
+    function hCopyCardNo(e) {
+        let str = ''
+        $('#tbody tr').each(function () {
+            let res = $(this).find('td').eq(4).text()
+            str += res + '\n'
+        })
+        let oInput = document.createElement("textarea");
+        oInput.style.border = "0 none";
+        oInput.style.color = "transparent";
+        oInput.value = str;
+        document.body.appendChild(oInput);
+        oInput.select(); // 选择对象
+        document.execCommand("Copy"); // 执行浏览器复制命令
+        oInput.parentNode.removeChild(oInput)
+    }
+</script> 

+ 1 - 0
admin/templates/default/refill.order.send.index.php

@@ -66,6 +66,7 @@
             <ul class="tab-base">
                 <li><a href="JavaScript:void(0);" class="current"><span>超时订单监控</span></a></li>
                 <li><a href="index.php?act=ordersendlist&op=neterr_order"><span>网络错误订单监控</span></a></li>
+                <li><a href="index.php?act=ordersendlist&op=notify_err_order"><span>未回调订单监控</span></a></li>
             </ul>
         </div>
     </div>