def repay(*args): if len(args) > 0: account = args[0] action = '转账' action_mes = '收到%s转账' % (login.now_account) else: account = login.now_account action = '还款' action_mes = '还款' data = readinfo.readinfo(account) print("%10s余额:" % (account), data['balance']) print("%10s应还:" % (account), 15000 - data['balance']) repay_value = input("输入%s的金额:" % (action)).strip() if repay_value.isdigit(): repay_value = int(repay_value) if repay_value > 0 and repay_value <= 15000 - data['balance']: if len(args) > 0: consume(repay_value, account) data['balance'] += repay_value writeinfo.writeinfo(account, data) message = "-----%s------%s金额:%10s ,余额:%10s" % ( account, action_mes, repay_value, data['balance']) log.wlog('../logs/consume.log', 'repay', message) elif repay_value > 15000 - data['balance']: print("还款数额超出目标账户的额度") else: print("还款必须是正数!!!!") else: print("还款金额必须是数字!!")
def inner(*args, **kwargs): global logined_account global now_account if now_account not in logined_account or logined_account[ now_account] == 0: print("请登陆".center(50, '#')) user_name = input('输入用户名:').strip() if os.path.exists('../infodb/' + user_name): data = readinfo.readinfo(user_name) if data['status'] == 0: print("用户已被冻结") return password = input('输入密码:').strip() if password == data['password']: print("%s 先生/女士,登录成功" % (user_name)) message = '%10s登陆成功!' % (user_name) now_account = user_name logined_account[now_account] = True log.wlog('../logs/login.log', 'login', message) else: print("密码错误") else: print("账户不存在") else: pass if now_account in logined_account: func(*args, **kwargs)
def consume(spend, *args): if len(args) > 0: action = '转账给 %s' % (args[0]) else: action = '消费' data = readinfo.readinfo(login.now_account) if spend <= data['balance']: data['balance'] = data['balance'] - spend writeinfo.writeinfo(login.now_account, data) message = "-----%s------%s金额:%10s ,余额:%10s" % ( login.now_account, action, spend, data['balance']) log.wlog('../logs/consume.log', 'consume', message) else: print("余额不足")
def frozen_account(flag): if flag == 0: action = '冻结' else: action = '解冻' if login.now_account == 'admin': target_account = input("输入要冻结的账户").strip() if os.path.exists('../infodb/' + target_account): data = readinfo.readinfo(target_account) data['status'] = flag writeinfo.writeinfo(target_account, data) message = '%s账号:%10s成功!' % (action, target_account) log.wlog('../logs/login.log', 'frozen_account', message) else: print("目标账号不存在") else: print('当前账户:%s,没有冻结账户的权限。' % (login.now_account))
def withdraw(): data = readinfo.readinfo(login.now_account) print("余额:", data['balance']) withdraw_va = input("输入要取现的数额:").strip() if withdraw_va.isdigit(): withdraw_va = int(withdraw_va) service_charge = withdraw_va * 0.05 total = withdraw_va + service_charge if total <= data['balance']: data['balance'] -= total writeinfo.writeinfo(login.now_account, data) message = "-----%s------取现金额:%10s,手续费:%10s,余额:%10s" % ( login.now_account, withdraw_va, service_charge, data['balance']) log.wlog('../logs/consume.log', 'withdraw', message) else: print("取现额度超出余额!!!") else: print("取现金额必须是数字!!")
def creat_acount(): if login.now_account == 'admin': account_name = input("输入要创建的账号名:").strip() if os.path.exists('../infodb/' + account_name): print("账号已存在") return account_pass = input("为新账号设置密码:").strip() account_amount = input("新账号的额度").strip() if account_amount.isdigit(): account_amount = int(account_amount) data = { 'name': account_name, 'password': account_pass, 'balance': account_amount, 'status': 1 } writeinfo.writeinfo(account_name, data) message = '创建账号:%10s成功!' % (account_name) log.wlog('../logs/login.log', 'creat_account', message) else: print("账号额度只能是数字!!!") else: print('当前账户:%s,没有创建账户的权限。' % (login.now_account))