#!/bin/sh
CUR_PATH=`dirname $0`
source ${CUR_PATH}/common.sh

#
# 判断是否为mihoyo本地机房, 据此来动态配置FTP
#
IS_MIHOYO_LOCAL_ECS="`ifconfig|grep "inet 192.168"|wc -l`"
if [ "0" = "${IS_MIHOYO_LOCAL_ECS}" ]
then
    # 外网访问
    export FTP_IP="116.228.211.91"
    export FTP_PORT=5421
else
    # 内网访问
    export FTP_IP="192.168.10.47"
    export FTP_PORT=21
fi


# FTP参数配置
export FTP_USER="hk4eftpuser"
export FTP_PWD="1qaz2wsx"

#
# 读取自定义JOB_NAME
#
JOB_NAME="$1"


#
# step1: 获取JOB列表
#
echo -e "\033[32m正在获取 ${FTP_IP}:${FTP_PORT} 下的JOB列表 ...\033[0m"
JOB_LIST="`${CUR_PATH}/list_ftp|grep hk4e|awk '{print $NF}'`"
if [ $? -ne 0 ]
then
    echo "get jenkins job list failed."
    exit 1
fi

# step2: 选择JOB
#
if [ "" = "${JOB_NAME}" ]
then
    # 从列表中选择JOB
    JOB_ID=0
    echo $JOB_LIST|awk '{for(i=1;i<=NF;i++)print $i}' | while read JOB_NAME
    do
        JOB_ID=$[ $JOB_ID + 1 ]
        echo -e "\033[36m[${JOB_ID}]\033[0m ${JOB_NAME}"
    done

    read -p "请输入JOB ID: " JOB_ID
    JOB_NAME="`echo $JOB_LIST|awk -v id=${JOB_ID} '{id=id*1; if(id>0) print $id; else print "";}'`"
    if [ "$JOB_NAME" = "" ]
    then
        redEcho "ID输入错误"
        exit 1
    fi

    read -p "确定拉取 [${JOB_NAME}] ？" YN
    case $YN in 
    Y | y)
        echo "";;
    *)
        exit 0;;
    esac
fi


#
#
# step3: 抓取文件
#
TAR_FILE="hk4e_output.tar.gz"
TAR_FILE_MD5="${TAR_FILE}.md5"
deepGreenEchoTimeFormat "download from jenkins ftp start"
rm ${TAR_FILE} -rf && rm ${TAR_FILE_MD5} -f && time ${CUR_PATH}/get_ftp /${JOB_NAME}/ ./ "${TAR_FILE} ${TAR_FILE_MD5}" && tar -xzvf ${TAR_FILE}
if [ $? -ne 0 ]
then
    redEcho "download from jenkins ftp fail"
    exit 1
fi

#
# step4: 检查文件
#
SERVER_MD5="`cat ${TAR_FILE_MD5}`"
LOCAL_MD5="`md5sum ${TAR_FILE}`"
if [ "${SERVER_MD5}" != "${LOCAL_MD5}" ]
then
    redEcho "check md5 failed"
    exit 1
fi

deepGreenEchoTimeFormat "download from jenkins ftp succ"
