#!/bin/bash
# ============================================
# 停车场激励小程序 - 一键部署脚本
# ============================================

set -e

echo "========================================="
echo "  停车场激励小程序 - 部署脚本"
echo "========================================="
echo ""

PROJECT_DIR="/home/admin/parking-mini-program"
BACKEND_DIR="$PROJECT_DIR/backend"

# 1. 配置后端环境变量
echo "[1/5] 配置环境变量..."
if [ ! -f "$BACKEND_DIR/.env" ]; then
    cp "$BACKEND_DIR/.env.example" "$BACKEND_DIR/.env"
    echo "  已创建 .env 文件，请编辑填入微信 AppID 和 AppSecret"
    echo "  文件路径: $BACKEND_DIR/.env"
fi

# 2. 安装依赖
echo "[2/5] 安装 Node.js 依赖..."
cd "$BACKEND_DIR"
npm install --production
echo "  依赖安装完成"

# 3. 初始化数据库
echo "[3/5] 初始化数据库..."
echo "  请确保已创建 MySQL 数据库和用户："
echo "  mysql -u root -p < $BACKEND_DIR/db/create_db.sql"
echo ""
read -p "  数据库已就绪？(y/n) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
    node db/migrate.js
    echo "  数据库迁移完成"
else
    echo "  跳过数据库迁移，请稍后手动运行: node db/migrate.js"
fi

# 4. 启动服务
echo "[4/5] 启动服务..."
echo "  测试运行（按 Ctrl+C 停止）:"
echo "  cd $BACKEND_DIR && node server.js"
echo ""
echo "  生产运行（systemd）:"
echo "  sudo cp $BACKEND_DIR/parking-api.service /etc/systemd/system/"
echo "  sudo systemctl daemon-reload"
echo "  sudo systemctl enable parking-api"
echo "  sudo systemctl start parking-api"
echo ""

# 5. 检查
echo "[5/5] 部署检查清单:"
echo "  [ ] MySQL 数据库已创建"
echo "  [ ] .env 文件中已填入微信 AppID 和 AppSecret"
echo "  [ ] 服务正常启动: curl http://localhost:3000/api/v1/health"
echo "  [ ] SSL 证书已配置（微信小程序要求 HTTPS）"
echo "  [ ] 小程序 project.config.json 中已填入 AppID"
echo "  [ ] 小程序 utils/constants.js 中已填入服务器域名"
echo ""
echo "========================================="
echo "  部署脚本完成"
echo "========================================="
