select(); echo " 骑手总数: " . count($allRiders) . "\n"; if (!empty($allRiders)) { echo " 前3个骑手信息:\n"; foreach (array_slice($allRiders, 0, 3) as $rider) { echo " - ID: {$rider['id']}, 姓名: {$rider['name']}, 状态: {$rider['status']}, 工作状态: " . (isset($rider['work_status']) ? $rider['work_status'] : '未设置') . "\n"; } } // 2. 检查在线骑手 echo "\n2. 检查在线骑手...\n"; $onlineRiders = $riderInfoModel->where(['work_status' => 1, 'status' => 1])->select(); echo " 在线骑手数: " . count($onlineRiders) . "\n"; // 3. 测试getRiderList方法 echo "\n3. 测试getRiderList方法...\n"; $where = [ 'work_status' => 1, 'status' => 1, ]; $riders = $riderInfoModel->getRiderList($where, '*'); echo " getRiderList返回数量: " . count($riders) . "\n"; // 4. 测试getAvailableRiders方法 echo "\n4. 测试getAvailableRiders方法...\n"; $riderOrderDispatch = new \Common\Business\RiderOrderDispatch(); $testOrder = [ 'store_id' => 1, 'store_lat' => 39.9042, 'store_lng' => 116.4074, 'customer_lat' => 39.9142, 'customer_lng' => 116.4174, 'order_amount' => 50.00, 'delivery_fee' => 5.00 ]; $result = $riderOrderDispatch->getAvailableRiders($testOrder); echo " getAvailableRiders结果:\n"; echo " 状态: " . $result['status'] . "\n"; echo " 消息: " . $result['msg'] . "\n"; if (isset($result['data'])) { echo " 数据数量: " . count($result['data']) . "\n"; } // 5. 检查骑手表结构 echo "\n5. 检查骑手表结构...\n"; $db = M(); $tableName = $riderInfoModel->getTableName(); echo " 实际表名: {$tableName}\n"; $fields = $db->query("DESCRIBE {$tableName}"); echo " 骑手表字段:\n"; foreach ($fields as $field) { echo " - {$field['Field']}: {$field['Type']}\n"; } // 6. 详细调试getAvailableRiders失败原因 echo "\n6. 详细调试getAvailableRiders失败原因...\n"; // 手动调用getAvailableRidersForOrder方法 $reflection = new ReflectionClass($riderOrderDispatch); $method = $reflection->getMethod('getAvailableRidersForOrder'); $method->setAccessible(true); try { $availableRiders = $method->invoke($riderOrderDispatch, $testOrder); echo " getAvailableRidersForOrder返回数量: " . count($availableRiders) . "\n"; if (!empty($availableRiders)) { echo " 可用骑手信息:\n"; foreach ($availableRiders as $rider) { echo " - ID: {$rider['id']}, 姓名: {$rider['name']}, 工作状态: {$rider['work_status']}\n"; } } else { echo " 没有找到可用骑手\n"; } } catch (Exception $e) { echo " getAvailableRidersForOrder出错: " . $e->getMessage() . "\n"; } } catch (Exception $e) { echo "错误: " . $e->getMessage() . "\n"; echo "文件: " . $e->getFile() . "\n"; echo "行号: " . $e->getLine() . "\n"; } echo "\n调试完成!\n"; ?>