爱简收旧衣按件回收后端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

154 lines
6.1 KiB

# 微信物流取消订单测试脚本
# 使用正确的上下文路径:/recycle-admin
param(
[string]$openid = "test_admin_openid",
[string]$deliveryId = "TEST",
[string]$bizId = "test_biz_id",
[string]$cancelMsg = "PowerShell自动化测试"
)
$baseUrl = "http://localhost:8002/recycle-admin"
$headers = @{"Content-Type"="application/json"}
Write-Host "=" * 60 -ForegroundColor Green
Write-Host " 微信物流取消订单测试脚本" -ForegroundColor Green
Write-Host "=" * 60 -ForegroundColor Green
Write-Host ""
Write-Host "测试配置:" -ForegroundColor Yellow
Write-Host "- 服务地址: $baseUrl" -ForegroundColor White
Write-Host "- OpenID: $openid" -ForegroundColor White
Write-Host "- 快递公司: $deliveryId" -ForegroundColor White
Write-Host "- 商户ID: $bizId" -ForegroundColor White
Write-Host "- 取消原因: $cancelMsg" -ForegroundColor White
Write-Host ""
# 检查服务是否可用
Write-Host "检查服务状态..." -ForegroundColor Yellow
try {
$healthCheck = Invoke-WebRequest -Uri "$baseUrl/actuator/health" -Method GET -TimeoutSec 5
Write-Host "✅ 服务正常运行" -ForegroundColor Green
} catch {
Write-Host "⚠️ 无法访问健康检查端点,继续测试..." -ForegroundColor Yellow
}
Write-Host ""
Write-Host "开始执行完整流程测试(下单 -> 取消)..." -ForegroundColor Yellow
Write-Host ""
try {
# 构建请求体
$requestBody = @{
openid = $openid
deliveryId = $deliveryId
bizId = $bizId
cancelMsg = $cancelMsg
} | ConvertTo-Json
Write-Host "发送请求到: $baseUrl/applet/logistics/test/fullTestWithCancel" -ForegroundColor Cyan
Write-Host "请求数据: $requestBody" -ForegroundColor Gray
Write-Host ""
# 发送请求
$response = Invoke-WebRequest -Uri "$baseUrl/applet/logistics/test/fullTestWithCancel" `
-Method POST `
-Headers $headers `
-Body $requestBody `
-TimeoutSec 30
# 解析响应
$result = $response.Content | ConvertFrom-Json
Write-Host "响应状态码: $($response.StatusCode)" -ForegroundColor Cyan
Write-Host ""
if ($result.success) {
Write-Host "🎉 测试成功!" -ForegroundColor Green
Write-Host ""
# 显示下单结果
if ($result.result.orderResponse) {
Write-Host "📦 下单结果:" -ForegroundColor Yellow
Write-Host " 订单ID: $($result.result.orderResponse.orderId)" -ForegroundColor Cyan
Write-Host " 运单ID: $($result.result.orderResponse.waybillId)" -ForegroundColor Cyan
Write-Host " 错误码: $($result.result.orderResponse.errCode)" -ForegroundColor Cyan
Write-Host " 错误信息: $($result.result.orderResponse.errMsg)" -ForegroundColor Cyan
if ($result.result.orderResponse.waybillData) {
Write-Host " 运单数据: 已生成" -ForegroundColor Cyan
}
Write-Host ""
}
# 显示取消结果
if ($result.result.cancelResponse) {
Write-Host "❌ 取消结果:" -ForegroundColor Yellow
Write-Host " 错误码: $($result.result.cancelResponse.errCode)" -ForegroundColor Cyan
Write-Host " 错误信息: $($result.result.cancelResponse.errMsg)" -ForegroundColor Cyan
if ($result.result.cancelResponse.cancelTime) {
$cancelTime = [DateTimeOffset]::FromUnixTimeSeconds($result.result.cancelResponse.cancelTime).ToString("yyyy-MM-dd HH:mm:ss")
Write-Host " 取消时间: $cancelTime" -ForegroundColor Cyan
}
Write-Host ""
}
# 显示总结信息
Write-Host "📋 测试总结:" -ForegroundColor Yellow
Write-Host " $($result.result.message)" -ForegroundColor White
Write-Host ""
} else {
Write-Host "❌ 测试失败!" -ForegroundColor Red
Write-Host "错误信息: $($result.message)" -ForegroundColor Red
if ($result.result) {
Write-Host "详细信息: $($result.result)" -ForegroundColor Red
}
Write-Host ""
}
} catch {
Write-Host "❌ 请求失败!" -ForegroundColor Red
Write-Host "错误信息: $($_.Exception.Message)" -ForegroundColor Red
Write-Host ""
# 提供排查建议
Write-Host "🔍 排查建议:" -ForegroundColor Yellow
Write-Host "1. 检查应用是否在 $baseUrl 运行" -ForegroundColor White
Write-Host "2. 检查微信配置是否正确" -ForegroundColor White
Write-Host "3. 确认网络连接正常" -ForegroundColor White
Write-Host "4. 验证测试环境权限" -ForegroundColor White
Write-Host ""
# 显示详细错误信息
if ($_.Exception.Response) {
Write-Host "响应状态码: $($_.Exception.Response.StatusCode)" -ForegroundColor Red
Write-Host "响应状态: $($_.Exception.Response.StatusDescription)" -ForegroundColor Red
}
Write-Host ""
}
Write-Host "=" * 60 -ForegroundColor Green
Write-Host " 测试完成!" -ForegroundColor Green
Write-Host "=" * 60 -ForegroundColor Green
Write-Host ""
# 提供后续操作建议
Write-Host "💡 后续操作建议:" -ForegroundColor Yellow
Write-Host "1. 如果测试成功,可以在实际应用中使用相同的逻辑" -ForegroundColor White
Write-Host "2. 记住每天最多只能调用10次,请合理安排测试" -ForegroundColor White
Write-Host "3. 在生产环境中,请替换为实际的openid和配置" -ForegroundColor White
Write-Host "4. 可以通过Swagger UI进行更详细的测试: $baseUrl/swagger-ui.html" -ForegroundColor White
Write-Host ""
# 参数说明
Write-Host "📖 脚本参数说明:" -ForegroundColor Yellow
Write-Host "使用示例:" -ForegroundColor White
Write-Host " .\test-logistics.ps1" -ForegroundColor Gray
Write-Host " .\test-logistics.ps1 -openid 'your_openid' -cancelMsg '自定义取消原因'" -ForegroundColor Gray
Write-Host ""
Write-Host "按任意键退出..." -ForegroundColor Green
$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | Out-Null