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 "2) Exact User Search"
echo "3) User Search" echo "3) User Search"
echo "" echo ""
echo "0) Go back." echo "q) Go back."
echo "" echo ""
read -n1 -p "*Balance Menu: Select from the above: " ii read -n1 -p "*Balance Menu: Select from the above: " ii
echo "" echo ""
@ -102,7 +102,7 @@ do
echo "3) Transfer" echo "3) Transfer"
echo "4) Quick balance check" echo "4) Quick balance check"
echo "" echo ""
echo "0) Go Back" echo "q) Go Back"
echo "" echo ""
read -n1 -p "*Banking Menu: Select from the above: " ii_bank read -n1 -p "*Banking Menu: Select from the above: " ii_bank
echo "" echo ""
@ -137,24 +137,59 @@ do
read -p "Transer to user: " tran_user2 read -p "Transer to user: " tran_user2
read -p "Amount to transfer: " tran_amt read -p "Amount to transfer: " tran_amt
# Grabs user IDs. # 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_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}') 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. # 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') 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') 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. # 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 = '$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';"
4 ) $db_conn "select id,username,balance from account join balance using (id) where username='$LAST_USER';" ;; # 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 ;; * ) clear ;;
esac esac
done 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 clear
while true while true
do do
@ -165,6 +200,7 @@ do
echo "2) List user accounts." echo "2) List user accounts."
echo "3) List user(s) balance." echo "3) List user(s) balance."
echo "4) Banking Menu (Deposit, withdraw, transfer)" echo "4) Banking Menu (Deposit, withdraw, transfer)"
echo "5) Transaction Menu"
echo "" echo ""
echo "9) Clear contents of screen" echo "9) Clear contents of screen"
echo "0) Exit" echo "0) Exit"
@ -175,6 +211,7 @@ do
2 ) list_user ;; 2 ) list_user ;;
3 ) list_balance ;; 3 ) list_balance ;;
4 ) bank_menu ;; 4 ) bank_menu ;;
5 ) tran_menu ;;
9 ) clear ;; 9 ) clear ;;
0 ) break ;; 0 ) break ;;
* ) clear ;; * ) clear ;;