from card import Card
from user import User
import random
class ATM(object):
def __init__(self,all_users):
self.all_users=all_users
def create_user(self):
name=input("请输入您的姓名:").strip()
id_card=input("输入您的身份证号码:").strip()
phone=input("请输入您的电话号码").strip()
pre_store_money=int(input("请输入预存款金额:").strip())
if pre_store_money<0:
print("预存款输入有误,开户失败")
return -1
one_passwd=input("请输入密码").strip()
if not self.check_password(one_passwd):
print("秘密输入错误,开户失败。")
return -1
card_str=self.random_card_id()
card=Card(card_str,one_passwd,pre_store_money)
user=User(name,id_card,phone,card)
self.all_users[card_str]=user
print("开户成功,请牢记卡号:%s和密码:%s"%(card_str,one_passwd))
def search_user_info(self):
car_num=input("请输入您的卡号").strip()
user=self.all_users.get(car_num)
if not user:
print("该卡号不存在!查询失败。。。。。")
return -1
if user.card.card_lock:
print("该卡已经被锁定!!请解锁后再使用其他功能。。。。")
if not self.check_password(user.card.card_passwd):
user.card.card_lock = True
print("秘密错误。该卡已经被锁定!!请解锁后再使用其他功能。。。。")
return -1
print("账号:%s 余额:%d"%(user.card.card_id,user.card.card_money))
def get_money(self):
car_num = input("请输入您的卡号").strip()
user = self.all_users.get(car_num)
if not user:
print("该卡号不存在!取款失败。。。。。")
return -1
if user.card.card_lock:
print("该卡已经被锁定!!请解锁后再使用其他功能。。。。")
if not self.check_password(user.card.card_passwd):
user.card.card_lock = True
print("秘密错误。该卡已经被锁定!!请解锁后再使用其他功能。。。。")
return -1
money=int(input("请输入要取款金额").strip())
if money>user.card.card_money:
print("余额不足,取款失败。")
return -1
if money<user.card.card_money:
print("金额错误,取款失败。")
return -1
user.card.card_money-=money
print("取款成功!!!账号:%s 余额:%d" % (user.card.card_id, user.card.card_money))
def save_money(self):
pass
def transfer_money(self):
pass
def change_passwd(self):
pass
def lock_user(self):
car_num=input("请输入您的卡号").strip()
user=self.all_users.get(car_num)
if not user:
print("该卡号不存在!锁卡失败。。。。。")
return -1
if user.card.card_lock:
print("该卡已经被锁定!!请解锁后再使用其他功能。。。。")
if not self.check_password(user.card.card_passwd):
print("秘密错误。锁卡失败。。。。。。。")
return -1
temp_id_card=input("请输入 您的身份证号码:").strip()
if temp_id_card != user.id_card:
print("身份证号码验证错误。锁卡失败。。。。。。。")
return -1
user.card.card_lock=True
print("锁卡成功")
def unlock_user(self):
car_num = input("请输入您的卡号").strip()
user = self.all_users.get(car_num)
if not user:
print("该卡号不存在!解锁失败。。。。。")
return -1
if not user.card.card_lock:
print("该卡没有被锁定!!无需解锁。。。。")
if not self.check_password(user.card.card_passwd):
print("秘密错误。解卡失败。。。。。。。")
return -1
temp_id_card=input("请输入 您的身份证号码:").strip()
if temp_id_card != user.id_card:
print("身份证号码验证错误。解卡失败。。。。。。。")
return -1
user.card.card_lock=False
print("解卡成功")
def new_card(self):
pass
def kill_user(self):
pass
def check_password(self,real_passwd):
for i in range(3):
temp_passwd=input("请输入密码")
if temp_passwd == real_passwd:
return True
else:
print("密码输入错误。")
return False
def random_card_id(self):
while True:
str1=""
for i in range(6):
ch=chr(random.randrange(ord("0"),ord("9")+1))
str1+=ch
if not self.all_users.get(str1):
return str1
# if str1 in self.all_users:
# print("有人,重新来过。")
# else:
# self.all_users[str1]=None
# return str1