#!/bin/bash

# 重启保险后端服务脚本

echo "🔄 重启保险后端服务..."

# 设置工作目录
cd /var/www/insurance-backend

# 停止现有服务
echo "🛑 停止现有服务..."
pm2 stop insurance-backend 2>/dev/null || true
pkill -f "node.*src/app.js" 2>/dev/null || true

# 等待进程完全停止
sleep 3

# 检查端口是否被释放
if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null ; then
    echo "⚠️  端口3000仍被占用，强制停止..."
    sudo fuser -k 3000/tcp 2>/dev/null || true
    sleep 2
fi

# 启动服务
echo "🚀 启动服务..."
pm2 start ecosystem.config.js --env production

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 5

# 检查服务状态
echo "🔍 检查服务状态..."
pm2 status

# 测试API
echo "🧪 测试API..."
for i in {1..3}; do
    if curl -s http://127.0.0.1:3000/health > /dev/null; then
        echo "✅ API测试成功"
        break
    else
        echo "⏳ 等待API启动... ($i/3)"
        sleep 2
    fi
done

# 保存PM2配置
pm2 save

echo ""
echo "✅ 服务重启完成！"
echo "📋 服务信息："
echo "   服务名称: insurance-backend"
echo "   端口: 3000"
echo "   环境: production"
echo ""
echo "🔍 查看日志: pm2 logs insurance-backend"
echo "📊 监控面板: pm2 monit"
