from accounts import * from bank import * client = pymongo.MongoClient(os.getenv("MONGO_URL")) db = client.VE def get_cash(code): coll = db.economy user = coll.find_one({"account_id": code}) if user is None: print("The user does not have a bank account.") return None return user['cash'] def create_econ_account(code): econ_coll = db.economy bank_coll = db.bank econ_user = econ_coll.find_one({"account_id": code}) bank_user = bank_coll.find_one({"account_id": code}) if econ_user is not None or bank_user is not None: print("User already has an account") return False econ_coll.insert_one({"_id": random.randint(000000, 999999), "account_id": code, "cash": 0}) bank_coll.insert_one({"_id": random.randint(000000, 999999), "account_id": code, "balance": 0, 'active': False}) return True def deposit(code, amount): # TODO: Check if the bank account is active. If not then don't allow the user to deposit bank_coll = db.bank econ_coll = db.economy bank_user = bank_coll.find_one({"account_id": code}) econ_user = econ_coll.find_one({"account_id": code}) if bank_user is None or econ_user is None: print("User does not have an account") return False if econ_user['cash'] < amount: print("You do not have enough money to make this transaction") return False econ_coll.update_one({"account_id": code}, {"$inc": {"cash": -amount}}) bank_coll.update_one({"account_id": code}, {"$inc": {"balance": amount}}) return True def withdraw(code, amount): # TODO: Check if the bank account is active. If not then don't allow the user to withdraw bank_coll = db.bank econ_coll = db.economy bank_user = bank_coll.find_one({"account_id": code}) econ_user = econ_coll.find_one({"account_id": code}) if bank_user is None or econ_user is None: print("User does not have an account") return False if bank_user['balance'] < amount: print("You do not have enough money to make this transaction") return False econ_coll.update_one({"account_id": code}, {"$inc": {"cash": amount}}) bank_coll.update_one({"account_id": code}, {"$inc": {"balance": -amount}}) return True # work function def work(code): job_coll = db.jobs econ_coll = db.economy bank_coll = db.bank econ_user = econ_coll.find_one({"account_id": code}) if econ_user is None: print("User could not be found") return None job_id = get_user_job(code) if job_id is None: print("You do not have a job.") return None job = job_coll.find_one({"_id": job_id}) pph = job['pph'] hours_worked = random.randint(1, 10) total_pay = pph * hours_worked bank_user = bank_coll.find_one({"account_id": code}) if bank_user is None: create_bank_account(code) if bank_user['active'] is True: bank_coll.update_one({"account_id": code}, {"$inc": {"balance": total_pay}}) return hours_worked econ_coll.update_one({"account_id": code}, {"$inc": {"cash": total_pay}}) return hours_worked