#!/bin/bash

# ============================================
# 若依自动化部署脚本
# 功能：停止旧进程 → 复制jar包 → 启动systemd服务
# 部署目录：/opt/ruoyi-deploy
# ============================================

JAR_NAME="ruoyi-admin.jar"
DEPLOY_DIR="/opt/ruoyi-deploy"
JAR_PATH="ruoyi-admin/target/$JAR_NAME"

echo "=== 开始部署 ==="

# 1. 停止旧进程
echo "停止旧进程..."
if sudo systemctl is-active ruoyi &>/dev/null 2>&1; then
    sudo systemctl stop ruoyi
    echo "已通过 systemctl 停止旧服务"
else
    OLD_PID=$(pgrep -f "$JAR_NAME" 2>/dev/null)
    if [ -n "$OLD_PID" ]; then
        sudo kill -15 $OLD_PID 2>/dev/null
        sleep 3
        if sudo kill -0 $OLD_PID 2>/dev/null; then
            sudo kill -9 $OLD_PID 2>/dev/null
        fi
        echo "已杀掉旧的 java 进程 (PID: $OLD_PID)"
    else
        echo "没有发现运行中的旧进程"
    fi
fi

# 2. 复制新jar包到部署目录
echo "复制新jar包到 $DEPLOY_DIR ..."
sudo cp $JAR_PATH $DEPLOY_DIR/
sudo chown ruoyi:ruoyi $DEPLOY_DIR/$JAR_NAME
echo "jar包已复制：$DEPLOY_DIR/$JAR_NAME"

# 3. 启动新服务
echo "启动新服务..."
sudo systemctl start ruoyi

# 4. 等待启动并检查状态
echo "等待服务启动..."
sleep 15

if sudo systemctl is-active --quiet ruoyi; then
    echo "✓ 服务启动成功！"
    echo "访问地址：http://192.168.182.100:9000"
else
    echo "✗ 服务启动失败！"
    echo "请查看日志：sudo journalctl -u ruoyi -n 50"
    exit 1
fi

echo "=== 部署完成 ==="
