#!/bin/bash

execName=$1
evnName=$2
ps -ef|grep application-service*
echo -e "\n---------------------------------------------------------------------------------------------------------------------------------------\n"
echo -e `date +%y%m%d%H%M%S`":---------输入的执行的命令:"$execName",执行的环境:"$evnName"---------\n";
echo -e `date +%y%m%d%H%M%S`":---------输入的执行的命令:"$execName",执行的环境:"$evnName"---------\n" >> startserver.log;
if [ "$execName" == "" ] || [ "$evnName" == "" ];then
	echo -e `date +%y%m%d%H%M%S`"---------请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!---------\n";
	echo -e `date +%y%m%d%H%M%S`"---------请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!---------\n" >> startserver.log;
else
	serverPid=`ps -ef|grep application-service*.jar|grep $evnName|awk '{ print $2 }'`
	if [ "$execName" == "start" ] || [ "$execName" == "restart" ];then
		if [ "$evnName" == "dev" ] || [ "$evnName" == "test" ] || [ "$evnName" == "uat" ] || [ "$evnName" == "bef" ] || [ "$evnName" == "prod" ];then
			if [ "$serverPid" != "" ]; then
				echo -e `date +%y%m%d%H%M%S`"---------当前application-service:"$evnName"服务 id:"$serverPid",开始关闭服务---------\n";
				echo -e `date +%y%m%d%H%M%S`"---------当前application-service:"$evnName"服务 id:"$serverPid",开始关闭服务---------\n" >> startserver.log;
				kill -9 $serverPid
			fi
			echo -e `date +%y%m%d%H%M%S`"---------开始启动:"$evnName"环境!---------\n";
			echo -e `date +%y%m%d%H%M%S`"---------开始启动:"$evnName"环境!---------\n"  >> startserver.log;
			java -server -Xmx512M -Xms512M -Xmn200M -XX:PermSize=256M -XX:MaxPermSize=256M -Xss256k -Xloggc:gc.log -jar application-service-0.0.1-SNAPSHOT.jar --spring.cloud.bootstrap.name=bootstrap-$evnName >app.log &
			serverStartPid=`ps -ef|grep application-service*.jar|grep $evnName|awk '{ print $2 }'`
			if [ "serverStartPid" != "" ];then
				echo -e "\n"
				echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverStartPid",服务启动成功!---------\n";
				echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverStartPid",服务启动成功!---------\n" >> startserver.log;
			else
				echo -e "\n"
			    echo -e `date +%y%m%d%H%M%S`"---------服务启动失败,请手动启动!---------\n";
				echo -e `date +%y%m%d%H%M%S`"---------服务启动失败,请手动启动!---------\n" >> startserver.log;
			fi
		else
		    echo -e "---------请输入正确的环境参数,例如:dev 或者 test 或者 uat 或者 bef 或者 prod---------\n";
			echo -e "---------请输入正确的环境参数,例如:dev 或者 test 或者 uat 或者 bef 或者 prod---------\n" >> startserver.log;
		fi

	elif [ "$execName" == "stop" ]; then
		if [ "$serverPid" == "" ]; then
		    echo -e `date +%y%m%d%H%M%S`"---------服务没有启动,无需停止!---------\n";
			echo -e `date +%y%m%d%H%M%S`"---------服务没有启动,无需停止!---------\n" >> startserver.log;
		else
			kill -9 $serverPid
			echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverPid"服务停止成功!---------\n";
			echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverPid"服务停止成功!---------\n" >> startserver.log;
		fi
	else
	    echo -e `date +%y%m%d%H%M%S`"---------参数错误,请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!\n---------";
		echo -e `date +%y%m%d%H%M%S`"---------参数错误,请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!\n---------" >> startserver.log;
	fi
fi
echo -e "---------------------------------------------------------------------------------------------------------------------------------------\n"
ps -ef|grep application-service*