本帖最后由 da11 于 2021-3-16 14:14 编辑
#! /bin/bash
dbip='xx.xx.xx.xx'
dbps='test'
dbuser='test'
dbport='1521'
dbname='mysql'
read -p "请输入游戏账户名 " gameusername
#echo $gameusername
findid=`mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "select id from $dbname.users where username = '$gameusername';" 2> /dev/null`
if [ -z $findid ];then
echo "找不到角色id"
exit
fi
echo $gameusername "找到的角色id是: " $findid
test=0
while [ $test == 0 ]
do
findCoinInfo=`mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "select * from $dbname.user_purse where id = '$findid';" 2> /dev/null`
findCoinuid=`echo $findCoinInfo | awk '{print $1}'` #和findCoinid互换变量名!!!
findCoinid=`echo $findCoinInfo | awk '{print $2}'` #和findCoinuid互换变量名!!!
findCoin=`echo $findCoinInfo | awk '{print $3}'`
findCoinHisMon=`echo $findCoinInfo | awk '{print $4}'`
findFutureCoin=`echo $findCoinInfo | awk '{print $8}'`
if [ -z $findFutureCoin ];then
findFutureCoin=0
fi
#echo $findCoinInfo
echo "用户名: " $gameusername
echo "用户uid是: " $findCoinuid
echo "用户id是: " $findCoinid
echo "点劵: " $findCoin
echo "历史充值金额: " $findCoinHisMon
echo "不删档点劵: " $findFutureCoin
read -p "该用户充值的金额,输入exit退出程序: " UserMoney
if [ $UserMoney == "exit" ];then
exit
fi
if [ -z $UserMoney 2> /dev/null ];then
clear
echo "直接回车无效"
continue
fi
#乘100处理,因为需求计算浮点数
UserMoney=`awk 'BEGIN{print '$UserMoney'*100 }'`
echo ""
if [ $UserMoney == "0" 2> /dev/null ];then
clear
echo "充值0元???!"
continue
fi
findCoinHisMon=`awk 'BEGIN{print '$findCoinHisMon'*100 }'`
findCoinHisMon=$(((findCoinHisMon)+UserMoney))
#findCoinHisMon=`awk 'BEGIN{print '$findCoinHisMon'/100 }'`
findCoin=$((findCoin+(UserMoney*5)))
#findCoin=$((findCoinHisMon/100))
JCCoinBS=120 #基础倍数1.2
if [ $findCoinHisMon -gt 0 -a $findCoinHisMon -le 1000 ];then
CoinBS=120
echo "第一档" $CoinBS
findFutureCoinCache=$((UserMoney*$JCCoinBS))
#echo $findFutureCoin
findFutureCoinCache=$((findFutureCoinCache/100))
findFutureCoin=$((findFutureCoinCache+findFutureCoin))
elif [ $findCoinHisMon -gt 1000 -a $findCoinHisMon -le 5000 ];then
CoinBS=130
JCNum=1000
echo "第二档" $CoinBS
##findCoinHisMon=$((findCoinHisMon/100))
#findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
findFutureCoinCache2=$(((JCNum*$JCCoinBS)/100))
findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2))
##findCoinHisMon=$((findCoinHisMon*100))
echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2
elif [ $findCoinHisMon -gt 5000 -a $findCoinHisMon -le 20000 ];then
CoinBS=140
JCNum=5000
echo "第三档" $CoinBS
#findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
findFutureCoinCache2=$((((JCNum-1000)*130)/100))
findFutureCoinCache3=$((10*$JCCoinBS))
findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2+findFutureCoinCache3))
echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2 " 3: "$findFutureCoinCache3
elif [ $findCoinHisMon -gt 20000 -a $findCoinHisMon -le 100000 ];then
CoinBS=150
JCNum=20000
echo "第四档" $CoinBS
#findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
findFutureCoinCache2=$((((JCNum-5000)*140)/100))
findFutureCoinCache3=$(((50-10)*130))
findFutureCoinCache4=$((10*$JCCoinBS))
findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2+findFutureCoinCache3+findFutureCoinCache4))
echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2 " 3: "$findFutureCoinCache3 " 4: "$findFutureCoinCache4
elif [ $findCoinHisMon -gt 100000 ];then
CoinBS=170
JCNum=100000
echo "第五档" $CoinBS
#findFutureCoinCache1=$(((UserMoney-JCNum)*CoinBS))
findFutureCoinCache1=$((((findCoinHisMon-JCNum)*CoinBS)/100))
findFutureCoinCache2=$((((JCNum-20000)*150)/100))
findFutureCoinCache3=$(((200-50)*140))
findFutureCoinCache4=$(((50-10)*130))
findFutureCoinCache5=$((10*$JCCoinBS))
findFutureCoin=$((findFutureCoinCache1+findFutureCoinCache2+findFutureCoinCache3+findFutureCoinCache4+findFutureCoinCache5))
echo "1: "$findFutureCoinCache1 " 2: "$findFutureCoinCache2 " 3: "$findFutureCoinCache3 " 4: "$findFutureCoinCache4" 5: "$findFutureCoinCache5
fi
echo "请确认以下信息:"
echo "用户名: " $gameusername
echo "用户uid是: " $findCoinuid
echo "用户id是: " $findCoinid
echo "点劵: " $findCoin
findCoinHisMon=`awk 'BEGIN{print '$findCoinHisMon'/100 }'`
echo "历史充值金额: " $findCoinHisMon
echo "不删档点劵: " $findFutureCoin
echo ""
read -p "确认请按y " pd1
if [ $pd1 == "y" ];then
clear
echo '充值操作已确认,将在5秒后插入数据库,中途可以按Ctrl+c紧急停止程序'
echo "用户名: " $gameusername
echo "用户uid是: " $findCoinuid
echo "用户id是: " $findCoinid
echo "点劵: " $findCoin
echo "历史充值金额: " $findCoinHisMon
echo "不删档点劵: " $findFutureCoin
sleep 5
mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "UPDATE $dbname.user_purse SET coin='$findCoin' where id='$findid';"
mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "UPDATE $dbname.user_purse SET history_money='$findCoinHisMon' where id='$findid';"
mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "UPDATE $dbname.user_purse SET future_coin='$findFutureCoin' where id='$findid';"
clear
continue
else
clear
echo "没有确认信息,充值操作没有执行"
#findCoinInfo=`mysql -u $dbuser -h $dbip -P $dbport -p$dbps -N -e "select * from $dbname.user_purse where id = '$findid';" 2> /dev/null`
#
#findCoinuid=`echo $findCoinInfo | awk '{print $1}'`
#findCoinid=`echo $findCoinInfo | awk '{print $2}'`
#findCoin=`echo $findCoinInfo | awk '{print $3}'`
#findCoinHisMon=`echo $findCoinInfo | awk '{print $4}'`
#findFutureCoin=`echo $findCoinInfo | awk '{print $8}'`
#if [ -z $findFutureCoin ];then
# findFutureCoin=0
#fi
continue
fi
done
|