Added transaction menu.

master
Matt Theissen 4 years ago
parent 31aedba049
commit 7abf7d5f3c

@ -72,7 +72,7 @@ list_balance() {
echo "2) Exact User Search"
echo "3) User Search"
echo ""
echo "0) Go back."
echo "q) Go back."
echo ""
read -n1 -p "*Balance Menu: Select from the above: " ii
echo ""
@ -102,7 +102,7 @@ do
echo "3) Transfer"
echo "4) Quick balance check"
echo ""
echo "0) Go Back"
echo "q) Go Back"
echo ""
read -n1 -p "*Banking Menu: Select from the above: " ii_bank
echo ""
@ -137,24 +137,59 @@ do
read -p "Transer to user: " tran_user2
read -p "Amount to transfer: " tran_amt
# Grabs user IDs.
tran_user1_id=$($db_conn "select id,username,balance from account join balance using (id) where username='$tran_user1';" | awk 'FNR == 3' | awk -F\| '{print $1}')
tran_user2_id=$($db_conn "select id,username,balance from account join balance using (id) where username='$tran_user2';" | awk 'FNR == 3' | awk -F\| '{print $1}')
tran_user1_id=$($db_conn "select id,username,balance from account join balance using (id) where username='$tran_user1';" | awk 'FNR == 3' | awk -F\| '{print $1}') || echo "Invalid user!";
tran_user2_id=$($db_conn "select id,username,balance from account join balance using (id) where username='$tran_user2';" | awk 'FNR == 3' | awk -F\| '{print $1}') || echo "Invalid user!";
# Does the math to complete the transfer.
tran1_new_amt=$($db_conn "select balance - '$tran_amt' from balance where id = '$tran_user1_id';" | awk 'FNR ==3')
tran2_new_amt=$($db_conn "select balance + '$tran_amt' from balance where id = '$tran_user2_id';" | awk 'FNR ==3')
# Updates the database with the new amounts.
$db_conn "update balance set balance = '$tran1_new_amt' where id = '$tran_user1_id';"
$db_conn "update balance set balance = '$tran2_new_amt' where id = '$tran_user2_id';" ;;
$db_conn "update balance set balance = '$tran2_new_amt' where id = '$tran_user2_id';"
# Transactioning
$db_conn "insert into transaction (id,username,amount,timestamp) values ('$tran_user1_id','$tran_user1','-$tran_amt','now');"
LAST_USER=$tran_user1 ;;
4 ) $db_conn "select id,username,balance from account join balance using (id) where username='$LAST_USER';" ;;
* ) clear ;;
esac
done
}
tran_menu() {
clear
while true
do
echo ""
echo "1) Show Transactions for user"
echo "2) Show last # Transactions."
echo ""
echo "q) Go back."
echo ::
read -n1 -p "*Transaction Menu: Select from above: " ii_tmenu
case $ii_tmenu in
1 ) echo ""
read -p "Transactions for user: " tmenu_user
read -p "Number of transactions: (0 for no limit) " tmenu_num1
if [ $tmenu_num1 = 0 ]; then {
tmenu_num1=all
} fi
$db_conn "select id,username,amount,timestamp from transaction where username = '$tmenu_user' order by timestamp DESC limit $tmenu_num1;" ;;
2 ) echo ""
read -p "Number of transactions: " tmenu_num2
if [ $tmenu_num2 = 0 ]; then {
tmenu_num2=all
} fi
$db_conn "select id,username,amount,timestamp from transaction order by timestamp DESC limit $tmenu_num2;"
;;
[0q] ) break ;;
* ) clear ;;
esac
done
}
clear
while true
do
@ -165,6 +200,7 @@ do
echo "2) List user accounts."
echo "3) List user(s) balance."
echo "4) Banking Menu (Deposit, withdraw, transfer)"
echo "5) Transaction Menu"
echo ""
echo "9) Clear contents of screen"
echo "0) Exit"
@ -175,6 +211,7 @@ do
2 ) list_user ;;
3 ) list_balance ;;
4 ) bank_menu ;;
5 ) tran_menu ;;
9 ) clear ;;
0 ) break ;;
* ) clear ;;