文件
fenleixinxi/tools/verify_api_data.php

62 行
3.1 KiB
PHP

<?php
/**
* 验证 Post 与 Merchant API 返回结构完整性
*
* @return void
*/
function verifyApiOutputs() {
$pdo = new PDO("mysql:host=127.0.0.1;port=3307;dbname=fenleixinxi;charset=utf8mb4", "fenleixinxi", "fenleixinxi");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "=== 1. 验证商家帖子详情 (如 ID: 101 - 顺捷同城物流园) ===" . PHP_EOL;
$post101 = $pdo->query("SELECT * FROM fa_fc_post WHERE id = 101")->fetch(PDO::FETCH_ASSOC);
$user101 = $pdo->query("SELECT * FROM fa_user WHERE id = {$post101['user_id']}")->fetch(PDO::FETCH_ASSOC);
$merchant101 = $pdo->query("SELECT * FROM fa_fc_merchant WHERE user_id = {$post101['user_id']}")->fetch(PDO::FETCH_ASSOC);
echo "标题: {$post101['title']}" . PHP_EOL;
echo "identity_type: {$post101['identity_type']} (应为2)" . PHP_EOL;
echo "发布人: {$user101['nickname']}, 头像: {$user101['avatar']}" . PHP_EOL;
echo "关联商家: {$merchant101['name']}" . PHP_EOL;
echo " - logo: {$merchant101['logo']}" . PHP_EOL;
echo " - banner: {$merchant101['banner']}" . PHP_EOL;
echo " - address: {$merchant101['address']}" . PHP_EOL;
echo " - contact: {$merchant101['contact']}" . PHP_EOL;
echo " - category: {$merchant101['category']}" . PHP_EOL;
echo " - notice: {$merchant101['notice']}" . PHP_EOL;
echo " - post_count: {$merchant101['post_count']}" . PHP_EOL;
echo PHP_EOL . "=== 2. 验证个人帖子详情 (如 ID: 102 - 小王同学) ===" . PHP_EOL;
$post102 = $pdo->query("SELECT * FROM fa_fc_post WHERE id = 102")->fetch(PDO::FETCH_ASSOC);
$user102 = $pdo->query("SELECT * FROM fa_user WHERE id = {$post102['user_id']}")->fetch(PDO::FETCH_ASSOC);
echo "标题: {$post102['title']}" . PHP_EOL;
echo "identity_type: {$post102['identity_type']} (应为1)" . PHP_EOL;
echo "发布人: {$user102['nickname']}, 头像: {$user102['avatar']}" . PHP_EOL;
echo "联系人: {$post102['contact']}, 手机: {$post102['phone']}, 微信: {$post102['wechat']}" . PHP_EOL;
echo PHP_EOL . "=== 3. 验证所有商家的档案完整性 ===" . PHP_EOL;
$merchants = $pdo->query("SELECT * FROM fa_fc_merchant")->fetchAll(PDO::FETCH_ASSOC);
$allComplete = true;
foreach ($merchants as $m) {
$missing = [];
if (empty($m['logo'])) $missing[] = 'logo';
if (empty($m['banner'])) $missing[] = 'banner';
if (empty($m['address'])) $missing[] = 'address';
if (empty($m['lat']) || empty($m['lng'])) $missing[] = 'lat/lng';
if (empty($m['contact'])) $missing[] = 'contact';
if (empty($m['category'])) $missing[] = 'category';
if (empty($m['notice'])) $missing[] = 'notice';
if (!empty($missing)) {
echo "商家 {$m['name']} 缺失字段: " . implode(', ', $missing) . PHP_EOL;
$allComplete = false;
} else {
echo "✓ 商家 [{$m['id']}] {$m['name']} 数据完整 (有效发帖: {$m['post_count']})" . PHP_EOL;
}
}
if ($allComplete) {
echo ">>> 全部商家数据 100% 完整!<<<" . PHP_EOL;
}
}
verifyApiOutputs();