60 行
1.9 KiB
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);
|