#!/usr/bin/ksh
#此脚本作用为,设置中中间业务交易超时,其中具体输入功能如下:
#1:设置成功超时
#2:设置失败超时
#3:恢复正常
#q:退出
#xtmc_dx=Ibps
#xtmc=ibps
#cd ~/bafe/src/$xtmc/busi
if [ $# != 1 ]
then
echo "Usage:$0 系统标识(1:中间业务系统,2:网银互联)"
return
elif [ $1 == 1 ]
then
xtmc_dx=Inbu
xtmc=inbu
elif [ $1 == 2 ]
then
xtmc_dx=Ibps
xtmc=ibps
elif [ $1 == 3 ]
then
xtmc_dx=Fund
xtmc=fund
else
echo "Usage:$0 系统标识(1:中间业务系统,2:网银互联)"
return
fi
cd ~/bafe/src/$xtmc/busi
echo $xtmc
date1=`date +%Y%m%d`
#设置成功超时
setSuccTransOvertime(){
if [ "${succTransCode[1]}" == "" ]
then
echo "\t无需设置成功超时"
else
rm ${xtmc_dx}_PreProcess.pc && svn up ${xtmc_dx}_PreProcess.pc >/dev/null 2>&1
sCode1="if( "
for transCode in ${succTransCode[*]}
do
c=`echo "strcmp( pTransInfo->wwxtjym, \"$transCode\") ==0 || " `
sCode1=$sCode1$c
done
sCode1=$sCode1"){SetDictTagString(\"Pub_RspDictTag\", \"_PubRspFlag\", \"TEST\");INFO(\"测试成功超时\");}"
sCode1=`echo $sCode1 | sed "s/|| )/)/g"`
line=`grep -n App_AftProcess ${xtmc_dx}_PreProcess.pc | grep int | awk -F ":" '{print $1}'`
line=$((line+1))
sed "${line}s/{/{$sCode1/" ${xtmc_dx}_PreProcess.pc > tmp.txt
mv tmp.txt ${xtmc_dx}_PreProcess.pc
fi
}
#设置失败超时
setFailTransOvertime(){
funName=`find ~/bafe/etc/APP -name bafe_$xtmc.conf | xargs grep "$failTransCode=" | awk -F "=" '{print $2}'| sed "s/
//g" `
line1=`grep -n $funName *.pc | awk -F ":" '{print $2}'`
line1=$((line1+1))
pcName=`grep -n "$funName" *.pc | awk -F ":" '{print $1}'`
sCode="SetDictTagString(\"Pub_RspDictTag\", \"_PubRspFlag\", \"TEST\");INFO(\"测试失败超时\"); return 0;"
sCode=`echo $sCode`
sed "${line1}s/{/{$sCode/" $pcName > tmp1.txt
mv tmp1.txt $pcName
}
#恢复超时设置
setTransNormal(){
grep TEST *.pc | awk -F ":" '{print $1}' | xargs rm
svn up >/dev/null 2>&1
#make && ftp_so.sh libBafe_App_${xtmc_dx}.so
}
#打印日志
logEcho(){
echo $1 | tee -a createTest$date1.log
}
clear
echo "===========================================================\n\n\n"
echo " 功能: "
echo " 1:设置成功超时 "
echo " 2:设置失败超时 "
echo " 3:全部恢复正常 "
echo " q:退出 \n\n\n"
echo "===========================================================\n\n\n"
while [ 1 ]
do
echo "\t请输入需要设置的选项值:\c"
read option
echo "-----------------------------------------------------------"
case $option in
"1")
echo "\t请输入需要设置【成功超时】的交易码,输入q退出:"
i=1
while [ 1 ]
do
echo "\t"$i":\c"
read cc1
if [ "$cc1" == "q" ]
then
break
fi
succTransCode[i]=$cc1
i=$((i+1))
done
#进行操作:设置成功超时
setSuccTransOvertime
;;
"2")
echo "\t请输入需要设置【失败超时】的交易码,输入q退出:"
i=1
while [ 1 ]
do
echo "\t"$i":\c"
read dd1
if [ "$dd1" == "q" ]
then
break
fi
failTransCode=$dd1
setFailTransOvertime
i=$((i+1))
done
;;
"3")
echo "\t全部恢复正常"
setTransNormal
;;
"q")
echo "\t退出"
break
;;
*) echo "\tonly accept 1、2、3、q"
esac
echo "-----------------------------------------------------------\n\n"
done
echo "\t设置完成,正在生效,请稍等..."
ftp_so1()
{
ftp -in 10.20.144.32 >/dev/null 2>&1 <<!
user bafe ddd32
bin
put libBafe_App_${xtmc_dx}.so
bye
!
/usr/bin/expect >/dev/null 2>&1 <<!
spawn ssh bafe@10.20.144.32
expect {
"yes/no" { send "yes\r" }
"password:" {send "ddd32\r"}
}
expect "password:" {send "ddd32\r"}
expect "$]" { send "mv libBafe_App_${xtmc_dx}.so ~\/lib\/\.\r " }
send "exit\r"
expect eof
!
echo "\tBAFE环境:10.20.144.32 已经生效!"
ftp -in 10.20.144.33 >/dev/null 2>&1 <<!
user bafe ddd33
bin
put libBafe_App_${xtmc_dx}.so
bye
!
/usr/bin/expect >/dev/null 2>&1 <<!
spawn ssh bafe@10.20.144.33
expect {
"yes/no" { send "yes\r" }
"password:" {send "ddd33\r"}
}
expect "password:" {send "ddd33\r"}
expect "$]" { send "mv libBafe_App_${xtmc_dx}.so ~\/lib\/\.\r " }
send "exit\r"
expect eof
!
echo "\tBAFE环境:10.20.144.33 已经生效!"
}
#make clean >/dev/null 2>&1 ; make >/dev/null 2>&1 ; make uninstall >/dev/null 2>&1 ; make install >/dev/null 2>&1
make >/dev/null 2>&1 ; make uninstall >/dev/null 2>&1 ; make install >/dev/null 2>&1
ftp_so1
echo "\n\n"
echo ">>>>>>>>>>>>>>>>生效完成!!<<<<<<<<<<<<<<<<"
echo "\n\n"
#此脚本作用为,设置中中间业务交易超时,其中具体输入功能如下:
#1:设置成功超时
#2:设置失败超时
#3:恢复正常
#q:退出
#xtmc_dx=Ibps
#xtmc=ibps
#cd ~/bafe/src/$xtmc/busi
if [ $# != 1 ]
then
echo "Usage:$0 系统标识(1:中间业务系统,2:网银互联)"
return
elif [ $1 == 1 ]
then
xtmc_dx=Inbu
xtmc=inbu
elif [ $1 == 2 ]
then
xtmc_dx=Ibps
xtmc=ibps
elif [ $1 == 3 ]
then
xtmc_dx=Fund
xtmc=fund
else
echo "Usage:$0 系统标识(1:中间业务系统,2:网银互联)"
return
fi
cd ~/bafe/src/$xtmc/busi
echo $xtmc
date1=`date +%Y%m%d`
#设置成功超时
setSuccTransOvertime(){
if [ "${succTransCode[1]}" == "" ]
then
echo "\t无需设置成功超时"
else
rm ${xtmc_dx}_PreProcess.pc && svn up ${xtmc_dx}_PreProcess.pc >/dev/null 2>&1
sCode1="if( "
for transCode in ${succTransCode[*]}
do
c=`echo "strcmp( pTransInfo->wwxtjym, \"$transCode\") ==0 || " `
sCode1=$sCode1$c
done
sCode1=$sCode1"){SetDictTagString(\"Pub_RspDictTag\", \"_PubRspFlag\", \"TEST\");INFO(\"测试成功超时\");}"
sCode1=`echo $sCode1 | sed "s/|| )/)/g"`
line=`grep -n App_AftProcess ${xtmc_dx}_PreProcess.pc | grep int | awk -F ":" '{print $1}'`
line=$((line+1))
sed "${line}s/{/{$sCode1/" ${xtmc_dx}_PreProcess.pc > tmp.txt
mv tmp.txt ${xtmc_dx}_PreProcess.pc
fi
}
#设置失败超时
setFailTransOvertime(){
funName=`find ~/bafe/etc/APP -name bafe_$xtmc.conf | xargs grep "$failTransCode=" | awk -F "=" '{print $2}'| sed "s/
//g" `
line1=`grep -n $funName *.pc | awk -F ":" '{print $2}'`
line1=$((line1+1))
pcName=`grep -n "$funName" *.pc | awk -F ":" '{print $1}'`
sCode="SetDictTagString(\"Pub_RspDictTag\", \"_PubRspFlag\", \"TEST\");INFO(\"测试失败超时\"); return 0;"
sCode=`echo $sCode`
sed "${line1}s/{/{$sCode/" $pcName > tmp1.txt
mv tmp1.txt $pcName
}
#恢复超时设置
setTransNormal(){
grep TEST *.pc | awk -F ":" '{print $1}' | xargs rm
svn up >/dev/null 2>&1
#make && ftp_so.sh libBafe_App_${xtmc_dx}.so
}
#打印日志
logEcho(){
echo $1 | tee -a createTest$date1.log
}
clear
echo "===========================================================\n\n\n"
echo " 功能: "
echo " 1:设置成功超时 "
echo " 2:设置失败超时 "
echo " 3:全部恢复正常 "
echo " q:退出 \n\n\n"
echo "===========================================================\n\n\n"
while [ 1 ]
do
echo "\t请输入需要设置的选项值:\c"
read option
echo "-----------------------------------------------------------"
case $option in
"1")
echo "\t请输入需要设置【成功超时】的交易码,输入q退出:"
i=1
while [ 1 ]
do
echo "\t"$i":\c"
read cc1
if [ "$cc1" == "q" ]
then
break
fi
succTransCode[i]=$cc1
i=$((i+1))
done
#进行操作:设置成功超时
setSuccTransOvertime
;;
"2")
echo "\t请输入需要设置【失败超时】的交易码,输入q退出:"
i=1
while [ 1 ]
do
echo "\t"$i":\c"
read dd1
if [ "$dd1" == "q" ]
then
break
fi
failTransCode=$dd1
setFailTransOvertime
i=$((i+1))
done
;;
"3")
echo "\t全部恢复正常"
setTransNormal
;;
"q")
echo "\t退出"
break
;;
*) echo "\tonly accept 1、2、3、q"
esac
echo "-----------------------------------------------------------\n\n"
done
echo "\t设置完成,正在生效,请稍等..."
ftp_so1()
{
ftp -in 10.20.144.32 >/dev/null 2>&1 <<!
user bafe ddd32
bin
put libBafe_App_${xtmc_dx}.so
bye
!
/usr/bin/expect >/dev/null 2>&1 <<!
spawn ssh bafe@10.20.144.32
expect {
"yes/no" { send "yes\r" }
"password:" {send "ddd32\r"}
}
expect "password:" {send "ddd32\r"}
expect "$]" { send "mv libBafe_App_${xtmc_dx}.so ~\/lib\/\.\r " }
send "exit\r"
expect eof
!
echo "\tBAFE环境:10.20.144.32 已经生效!"
ftp -in 10.20.144.33 >/dev/null 2>&1 <<!
user bafe ddd33
bin
put libBafe_App_${xtmc_dx}.so
bye
!
/usr/bin/expect >/dev/null 2>&1 <<!
spawn ssh bafe@10.20.144.33
expect {
"yes/no" { send "yes\r" }
"password:" {send "ddd33\r"}
}
expect "password:" {send "ddd33\r"}
expect "$]" { send "mv libBafe_App_${xtmc_dx}.so ~\/lib\/\.\r " }
send "exit\r"
expect eof
!
echo "\tBAFE环境:10.20.144.33 已经生效!"
}
#make clean >/dev/null 2>&1 ; make >/dev/null 2>&1 ; make uninstall >/dev/null 2>&1 ; make install >/dev/null 2>&1
make >/dev/null 2>&1 ; make uninstall >/dev/null 2>&1 ; make install >/dev/null 2>&1
ftp_so1
echo "\n\n"
echo ">>>>>>>>>>>>>>>>生效完成!!<<<<<<<<<<<<<<<<"
echo "\n\n"