get('status', 'all'); $page = max(1, intval($request->get('page', 1))); $pageSize = min(50, max(1, intval($request->get('page_size', 10)))); $query = Order::query(); if ($status !== 'all') { $query->where('status', $status); } if ($orderNo = $request->get('order_no')) { $query->where('order_no', 'like', "%{$orderNo}%"); } $total = $query->count(); $items = $query->orderBy('id', 'desc') ->offset(($page - 1) * $pageSize) ->limit($pageSize) ->get(); return jsonResponse([ 'items' => $items, 'total' => $total, 'page' => $page, 'page_size' => $pageSize ]); } public function detail(Request $request) { $id = (int)$request->get('id'); $order = Order::with(['logs'])->find($id); if (!$order) { return jsonResponse(null, '订单不存在', 404); } return jsonResponse($order); } public function receive(Request $request) { $id = (int)$request->post('id'); $order = Order::find($id); if (!$order) { return jsonResponse(null, '订单不存在', 404); } try { \app\common\service\OrderFlowService::adminReceive($order, $request->admin->id); return jsonResponse(null, '确认收件成功,已进入鉴定状态'); } catch (\Exception $e) { return jsonResponse(null, $e->getMessage(), 400); } } public function returnShip(Request $request) { $id = (int)$request->post('id'); $expressCompany = trim((string)$request->post('express_company', '')); $expressNo = trim((string)$request->post('express_no', '')); $order = Order::find($id); if (!$order) { return jsonResponse(null, '订单不存在', 404); } try { \app\common\service\OrderFlowService::adminReturnShip($order, $request->admin->id, $expressCompany, $expressNo); return jsonResponse(null, '回寄信息已提交'); } catch (\Exception $e) { return jsonResponse(null, $e->getMessage(), 400); } } }