未支付订单
This commit is contained in:
parent
f6e74020cb
commit
d3ce04c2d1
|
|
@ -839,5 +839,85 @@ class Order extends Base
|
|||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* 未支付订单
|
||||
*/
|
||||
public function unpaid_order()
|
||||
{
|
||||
$user_id = trim(input('get.user_id'));
|
||||
$mobile = trim(input('get.mobile'));
|
||||
$order_num = trim(input('get.order_num'));
|
||||
$addtime = trim(input('get.addtime'));
|
||||
|
||||
$whe = array();
|
||||
$whe[] = ['status', '=', 0];
|
||||
$whe[] = ['kd_is', '=', 0];
|
||||
if ($user_id) {
|
||||
// 将UID转换为用户ID
|
||||
$user_id = $this->convertUidToUserId($user_id);
|
||||
$whe[] = ['user_id', '=', $user_id];
|
||||
}
|
||||
if ($mobile) {
|
||||
$mobile = User::field('id')->where('mobile', '=', $mobile)->value('id');
|
||||
$whe[] = ['user_id', '=', $mobile];
|
||||
}
|
||||
if ($order_num) {
|
||||
$whe[] = ['order_num', '=', $order_num];
|
||||
}
|
||||
if ($addtime) {
|
||||
$time = explode(' - ', $addtime);
|
||||
$start_time = strtotime($time[0]);
|
||||
$end_time = strtotime($time[1]) - 1;
|
||||
if ($start_time > $end_time) {
|
||||
$this->err('开始时间不能大于结束时间');
|
||||
}
|
||||
$whe[] = ['addtime', 'BETWEEN', array($start_time, $end_time)];
|
||||
$str_addtime = $start_time . '_' . $end_time;
|
||||
} else {
|
||||
$str_addtime = 0;
|
||||
}
|
||||
|
||||
$field = '*';
|
||||
$order = 'id desc';
|
||||
$data = OrderModel::getList($whe, $field, $order, $this->page);
|
||||
|
||||
// 获取对应的订单回调验证信息
|
||||
$order_nums = array_column($data['list'], 'order_num');
|
||||
$notify_info = [];
|
||||
if (!empty($order_nums)) {
|
||||
$notify_list = Db::name('order_notify')
|
||||
->whereIn('order_no', $order_nums)
|
||||
->where('status', 2) // 回调失败的记录
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
foreach ($notify_list as $notify) {
|
||||
$notify_info[$notify['order_no']] = $notify;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($data['list'] as &$value) {
|
||||
$user_info = User::field('nickname,headimg,mobile,uid')->where(['id' => $value['user_id']])->find();
|
||||
$value['nickname'] = $user_info['nickname'];
|
||||
$value['headimg'] = $user_info['headimg'];
|
||||
$value['mobile'] = $user_info['mobile'];
|
||||
$value['uid'] = $user_info['uid'] ?: $value['user_id'];
|
||||
|
||||
// 标记回调验证失败的订单
|
||||
$value['notify_failed'] = isset($notify_info[$value['order_num']]) ? 1 : 0;
|
||||
if ($value['notify_failed']) {
|
||||
$value['notify_info'] = $notify_info[$value['order_num']];
|
||||
}
|
||||
}
|
||||
|
||||
View::assign('list', $data['list']);
|
||||
View::assign('count', $data['count']);
|
||||
View::assign('page', $data['page']);
|
||||
View::assign('user_id', $user_id ? $user_id : 0);
|
||||
View::assign('mobile', $mobile ? $mobile : 0);
|
||||
View::assign('order_num', $order_num ? $order_num : 0);
|
||||
View::assign('str_addtime', $str_addtime ? $str_addtime : 0);
|
||||
return View::fetch('Order/unpaid_order');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -221,6 +221,7 @@ Route::rule('buy_order_daochu', 'Order/buy_order_daochu');
|
|||
Route::rule('recovery_order_daochu', 'Order/recovery_order_daochu');
|
||||
Route::rule('send_order_daochu', 'Order/send_order_daochu');
|
||||
Route::rule('send_order_dandufahuo', 'Order/send_order_dandufahuo');
|
||||
Route::rule('unpaid_order', 'Order/unpaid_order');
|
||||
|
||||
|
||||
#============================
|
||||
|
|
|
|||
177
app/admin/view/Order/unpaid_order.html
Normal file
177
app/admin/view/Order/unpaid_order.html
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
{include file="Public:header2"/}
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<form method="get" class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 150px;margin-left: 0px">
|
||||
<input type="text" name="user_id" value="{$Request.get.user_id}" placeholder="请输入用户ID或UID" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 150px;margin-left: 0px">
|
||||
<input type="text" name="mobile" value="{$Request.get.mobile}" placeholder="请输入手机号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" name="order_num" value="{$Request.get.order_num}" placeholder="请输入订单号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline" >
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="addtime" name="addtime" value="{$Request.get.addtime}" class="layui-input" placeholder="时间" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="LAY-user-front-search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<xblock>
|
||||
<div style="padding-bottom: 10px;">
|
||||
<span style="line-height:40px;float:right;">共有数据: {$count}条</span>
|
||||
</div>
|
||||
</xblock>
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>用户信息</th>
|
||||
<th>订单号</th>
|
||||
<th>盒子信息</th>
|
||||
<th>类型</th>
|
||||
<th>金额详情</th>
|
||||
<th>时间</th>
|
||||
<th>回调验证状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{volist name="list" id="vo"}
|
||||
<tr {if condition="$vo.notify_failed eq 1"}style="background-color: #ffebee;"{/if}>
|
||||
<td style="text-align: left">
|
||||
<div style="display: flex;">
|
||||
<div><img src="{:imageUrl($vo['headimg'])}" alt="" width="50px" height="50px"></div>
|
||||
<div style="margin-left: 10px">
|
||||
<p style="color: #e91e63;font-size: 9px">真实ID:{$vo['user_id']}</p>
|
||||
<p style="color: #e91e63;font-size: 9px">UID:{:isset($vo['uid']) ? $vo['uid'] : $vo['user_id']}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['mobile']}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['nickname']}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>{$vo['order_num']}</td>
|
||||
<td style="text-align: left">
|
||||
<div style="display: flex;">
|
||||
<div><img src="{:imageUrl($vo['goods_imgurl'])}" alt="" width="50px" height="50px"></div>
|
||||
<div style="margin-left: 10px">
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['goods_title']}</p>
|
||||
<p style="color: #e91e63;font-size: 9px">{if $vo['num']}箱号:{$vo['num']}{/if}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{if $vo['order_type'] eq 1}
|
||||
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">一番赏</button>
|
||||
{elseif $vo['order_type'] eq 2}
|
||||
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">无限赏</button>
|
||||
{elseif $vo['order_type'] eq 3}
|
||||
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">擂台赏</button>
|
||||
{elseif $vo['order_type'] eq 4}
|
||||
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">抽卡机</button>
|
||||
{elseif $vo['order_type'] eq 5}
|
||||
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">积分赏</button>
|
||||
{elseif $vo['order_type'] eq 7}
|
||||
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">抽奖券</button>
|
||||
{/if}
|
||||
</td>
|
||||
<td style="text-align: left;width: 150px">
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">订单金额</p> :{$vo['order_total']}</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">折扣</p> :{$vo['zhe']*1}折</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">折扣金额</p> :{$vo['order_zhe_total']}</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">微信支付</p> :{$vo['price']}</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">钻石抵扣</p> :{$vo['use_money']}</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">UU抵扣</p> :{$vo['use_integral']}</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">达达券抵扣</p> :{$vo['use_money2']}</div>
|
||||
<div style="display: flex;font-weight: bold;"><p style="width: 60px;display: inline">优惠券抵扣</p> :{$vo['use_coupon']}</div>
|
||||
</td>
|
||||
<td>{$vo['addtime']|date="Y-m-d H:i:s"}</td>
|
||||
<td>
|
||||
{if condition="$vo.notify_failed eq 1"}
|
||||
<button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm">回调验证失败</button>
|
||||
{else /}
|
||||
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">未支付</button>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
{if condition="$vo.notify_failed eq 1"}
|
||||
<a onClick="viewNotifyInfo('{$vo.order_num}')" class="layui-btn layui-btn-danger layui-btn-xs">查看回调信息</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{if condition="empty($list)"}
|
||||
<tr>
|
||||
<td colspan='10' style="text-align:center;">暂时没有数据!</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="my_page layui-box layui-laypage layui-laypage-default">
|
||||
{$page|raw}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{include file="Public:footer"/}
|
||||
<script type="text/javascript">
|
||||
layui.use(['table', 'laydate'], function () {
|
||||
//执行一个laydate实例
|
||||
var laydate = layui.laydate;
|
||||
laydate.render({
|
||||
elem: '#addtime'
|
||||
,type: 'datetime'
|
||||
,range: true
|
||||
});
|
||||
});
|
||||
|
||||
//查看回调信息
|
||||
function viewNotifyInfo(order_num) {
|
||||
var notifyInfo = {};
|
||||
{volist name="list" id="vo"}
|
||||
{if condition="$vo.notify_failed eq 1"}
|
||||
if ('{$vo.order_num}' === order_num) {
|
||||
notifyInfo = {
|
||||
'订单号': '{$vo.order_num}',
|
||||
'回调URL': '{$vo.notify_info.notify_url|default=""}',
|
||||
'支付时间': '{$vo.notify_info.pay_time|default=""}',
|
||||
'支付金额': '{$vo.notify_info.pay_amount|default=""}',
|
||||
'重试次数': '{$vo.notify_info.retry_count|default="0"}',
|
||||
'最后回调时间': '{$vo.notify_info.last_notify_time|default=""}',
|
||||
'备注': '{$vo.notify_info.remark|default=""}'
|
||||
};
|
||||
}
|
||||
{/if}
|
||||
{/volist}
|
||||
|
||||
var content = '<div style="padding: 20px;">';
|
||||
for (var key in notifyInfo) {
|
||||
content += '<div style="margin-bottom: 10px;"><span style="font-weight: bold;">' + key + ':</span>' + notifyInfo[key] + '</div>';
|
||||
}
|
||||
content += '</div>';
|
||||
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: '回调验证失败信息',
|
||||
area: ['500px', '400px'],
|
||||
content: content
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -128,6 +128,10 @@ return [
|
|||
'url' => '/admin/send_order',
|
||||
'name' => '发货列表',
|
||||
],
|
||||
[
|
||||
'url' => '/admin/unpaid_order',
|
||||
'name' => '未支付订单',
|
||||
]
|
||||
],
|
||||
],
|
||||
[
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user