From d3ce04c2d1236402819d2d3548f52ed6c2b0bd56 Mon Sep 17 00:00:00 2001 From: youda Date: Fri, 25 Apr 2025 18:21:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/Order.php | 80 +++++++++++ app/admin/route/app.php | 1 + app/admin/view/Order/unpaid_order.html | 177 +++++++++++++++++++++++++ config/menu.php | 4 + 4 files changed, 262 insertions(+) create mode 100644 app/admin/view/Order/unpaid_order.html diff --git a/app/admin/controller/Order.php b/app/admin/controller/Order.php index ba35284..9b05976 100755 --- a/app/admin/controller/Order.php +++ b/app/admin/controller/Order.php @@ -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'); + } } \ No newline at end of file diff --git a/app/admin/route/app.php b/app/admin/route/app.php index 23bc525..7183b04 100755 --- a/app/admin/route/app.php +++ b/app/admin/route/app.php @@ -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'); #============================ diff --git a/app/admin/view/Order/unpaid_order.html b/app/admin/view/Order/unpaid_order.html new file mode 100644 index 0000000..6db1851 --- /dev/null +++ b/app/admin/view/Order/unpaid_order.html @@ -0,0 +1,177 @@ +{include file="Public:header2"/} + +
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+ +
+ +
+ 共有数据: {$count}条 +
+
+ + + + + + + + + + + + + + + {volist name="list" id="vo"} + + + + + + + + + + + {/volist} + {if condition="empty($list)"} + + + + {/if} + +
用户信息订单号盒子信息类型金额详情时间回调验证状态操作
+
+
+
+

真实ID:{$vo['user_id']}

+

UID:{:isset($vo['uid']) ? $vo['uid'] : $vo['user_id']}

+

{$vo['mobile']}

+

{$vo['nickname']}

+
+
+
{$vo['order_num']} +
+
+
+

{$vo['goods_title']}

+

{if $vo['num']}箱号:{$vo['num']}{/if}

+
+
+
+ {if $vo['order_type'] eq 1} + + {elseif $vo['order_type'] eq 2} + + {elseif $vo['order_type'] eq 3} + + {elseif $vo['order_type'] eq 4} + + {elseif $vo['order_type'] eq 5} + + {elseif $vo['order_type'] eq 7} + + {/if} + +

订单金额

:{$vo['order_total']}
+

折扣

:{$vo['zhe']*1}折
+

折扣金额

:{$vo['order_zhe_total']}
+

微信支付

:{$vo['price']}
+

钻石抵扣

:{$vo['use_money']}
+

UU抵扣

:{$vo['use_integral']}
+

达达券抵扣

:{$vo['use_money2']}
+

优惠券抵扣

:{$vo['use_coupon']}
+
{$vo['addtime']|date="Y-m-d H:i:s"} + {if condition="$vo.notify_failed eq 1"} + + {else /} + + {/if} + + {if condition="$vo.notify_failed eq 1"} + 查看回调信息 + {/if} +
暂时没有数据!
+
+ {$page|raw} +
+
+
+
+{include file="Public:footer"/} + + + \ No newline at end of file diff --git a/config/menu.php b/config/menu.php index fdfdc32..99cb561 100755 --- a/config/menu.php +++ b/config/menu.php @@ -128,6 +128,10 @@ return [ 'url' => '/admin/send_order', 'name' => '发货列表', ], + [ + 'url' => '/admin/unpaid_order', + 'name' => '未支付订单', + ] ], ], [