103 行
3.5 KiB
PHP
103 行
3.5 KiB
PHP
<?php
|
|
// 调试骑手获取功能
|
|
|
|
// 初始化ThinkPHP
|
|
define('APP_PATH', './Application/');
|
|
define('RUNTIME_PATH', './Runtime/');
|
|
require './ThinkPHP/ThinkPHP.php';
|
|
|
|
echo "=== 调试骑手获取功能 ===\n\n";
|
|
|
|
try {
|
|
// 1. 检查骑手表数据
|
|
echo "1. 检查骑手表数据...\n";
|
|
$riderInfoModel = D('RiderInfo');
|
|
$allRiders = $riderInfoModel->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";
|
|
?>
|