文件
xionggeshop/addons/shopro/tests/dist_regional_reset.php

60 行
1.9 KiB
PHP

<?php
/**
* 一键重置:清理 + 重新生成分销+区域代理联合测试数据
*
* 用法(项目根目录):
* php addons/shopro/tests/dist_regional_reset.php
* php addons/shopro/tests/dist_regional_reset.php --goods-id=195
* php addons/shopro/tests/dist_regional_reset.php --no-income
* php addons/shopro/tests/dist_regional_reset.php --dry-run
*/
if (PHP_SAPI !== 'cli') {
http_response_code(403);
exit("请通过命令行运行\n");
}
define('ROOT_PATH', __DIR__ . '/../../../');
$argv = $GLOBALS['argv'] ?? [];
$dryRun = in_array('--dry-run', $argv, true);
$forwardArgs = array_values(array_filter($argv, function ($arg) {
return $arg !== '--dry-run' && $arg !== $GLOBALS['argv'][0];
}));
$cleanupScript = __DIR__ . '/regional_agent_cleanup_test_users.php';
$setupScript = __DIR__ . '/regional_agent_setup_test_users.php';
echo "========================================\n";
echo " 分销 + 区域代理 联合测试数据重置\n";
echo "========================================\n\n";
if ($dryRun) {
echo "[1/2] 预览将删除的数据...\n\n";
passthru('php ' . escapeshellarg($cleanupScript) . ' --dry-run', $code1);
echo "\n[2/2] 预览模式不执行初始化。去掉 --dry-run 将真正重置。\n";
exit($code1);
}
echo "[1/2] 清理旧测试数据...\n\n";
passthru('php ' . escapeshellarg($cleanupScript) . ' --confirm', $code1);
if ($code1 !== 0) {
exit($code1);
}
echo "\n[2/2] 生成分销+区域代理联合测试数据...\n\n";
$setupCmd = 'php ' . escapeshellarg($setupScript);
foreach ($forwardArgs as $arg) {
if ($arg === $argv[0]) {
continue;
}
$setupCmd .= ' ' . escapeshellarg($arg);
}
passthru($setupCmd, $code2);
echo "\n========================================\n";
echo " 重置完成。测试流程见:\n";
echo " addons/shopro/tests/DIST_REGIONAL_TEST_FLOW.md\n";
echo "========================================\n";
exit($code2);