#!/bin/bash

# 患者画像回访话术系统 - Docker快速部署脚本

set -e  # 遇到错误立即退出

echo "🚀 患者画像回访话术系统 - Docker快速部署"
echo "================================================"

# 检查Docker环境
echo ""
echo "📋 检查Docker环境..."

if ! command -v docker &> /dev/null; then
    echo "❌ 错误：未检测到Docker，请先安装Docker"
    echo "安装指南：https://docs.docker.com/get-docker/"
    exit 1
fi

if ! command -v docker-compose &> /dev/null; then
    echo "❌ 错误：未检测到Docker Compose"
    echo "安装指南：https://docs.docker.com/compose/install/"
    exit 1
fi

echo "✅ Docker环境检查通过"
docker --version
docker-compose --version

# 停止现有服务
echo ""
echo "🔧 停止现有服务..."
docker-compose down || true

# 构建镜像
echo ""
echo "🏗️ 构建镜像..."
docker-compose build

# 启动服务
echo ""
echo "🚀 启动服务..."
docker-compose up -d

# 等待服务启动
echo ""
echo "⏳ 等待服务启动完成..."
sleep 10

# 检查服务状态
echo ""
echo "📊 检查服务状态..."
docker-compose ps

# 运行测试
echo ""
echo "🧪 运行部署测试..."
if command -v python3 &> /dev/null; then
    python3 test_docker_deployment.py
elif command -v python &> /dev/null; then
    python test_docker_deployment.py
else
    echo "⚠️  未找到Python，跳过自动测试"
    echo "请手动访问 http://localhost:5000 验证部署"
fi

echo ""
echo "🎉 部署完成！"
echo ""
echo "🌐 访问地址："
echo "  主应用：http://localhost:5000"
echo "  登录页面：http://localhost:5000/login"
echo "  患者画像：http://localhost:5000/patient_profiles/"
echo ""
echo "📖 更多信息请查看 README_DOCKER.md"
echo ""

# 询问是否打开浏览器
read -p "是否打开浏览器访问系统？(y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
    if command -v xdg-open &> /dev/null; then
        xdg-open http://localhost:5000
    elif command -v open &> /dev/null; then
        open http://localhost:5000
    else
        echo "请手动打开浏览器访问：http://localhost:5000"
    fi
fi 