def paycash_interface(username, cash): #先获取用户字典 user_dic = db_handler.select(username) #获取账户中的金 user_dic['balance'] += cash #更新账户中的金额 db_handler.save(user_dic) return True, f'用户[{username}] 还款金额[{cash}$]成功,余额为: {user_dic["balance"]}$]'
def transfer_interface(login_user, username, money): # 先获取转入用户字典 to_user_dic = db_handler.select(username) # 获取转出用户字典 from_user_dic = db_handler.select(login_user) # 获取转入账号中的金额,并转换为数字型 # balance_in = int(user_dic.get('balance')) if from_user_dic['balance'] >= money > 0: # 转入账户增加转入金额 to_user_dic['balance'] += money # 获取转出账户中的金额 from_user_dic['balance'] -= money # balance_out = int(user_dic.get('balance')) # 更新转入账户中的金额 db_handler.save(to_user_dic) # 更新转出账户中的金额 db_handler.save(from_user_dic) else: print('你的余额不足,请重新输入...') return True, f'用户[{login_user}] 转出金额[{money}]成功 剩余金额 [{from_user_dic["balance"]}],用户[{username}] 转入金额为: [{money}]'
def register_interface(username,password,balance): # 1,查看用户是否存在 # 2,调用数据处理层中的select 函数 会返回用户字典或者None user_dic = db_handler.select(username) #{user:user,pwd:pwd...} or None # 2,若用户不存在,则保存用户信息 if user_dic: # return (False,'用户名已存在!') return False, '用户名已存在!' password = common.get_pwd_md5(password) # 3,组织用户的数据字典信息 user_dic = { 'username': username, 'password': password, 'balance': balance, # 用于记录用户流水的列表 'flow': [], # 用于记录用户的购物车 'shop_car': {}, # locked: 用于记录用户是否被冻结 # False: 未冻结 True: 已被冻结 'locaked': False } # 记录流水 # 保存数据 db_handler.save(user_dic) return True,f'{username} 注册成功!' # 存不是目的,目的是为了更方便的取数据 # 文件名:用户名.json # 拼接用户json文件的路径 user_path = os.path.join( settings.USER_DATA_PATH, f'{username}.json' ) # 查看用户是否存在 # 若不存在,则让用户重新受保护 if os.path.exists(user_path): print('请重新输入!') with open(user_path, 'r', encoding='utf-8') as f: user_dic = json.load(f) if user_dic: print('用户已存在,请重新输入!') # 若用户不存在,则保存用户数据 # 组织用户的数据字典信息 user_path = os.path.join( settings.USER_DATA_PATH, f'{username}.json' ) with open(user_path, 'w', encoding='utf-8') as f1: json.dump(user_dic, f1, ensure_ascii=False)
def login_interface(username,password): # 先查看当前用户数据是否存在 # {用户数据字典} or None user_dic = db_handler.select(username) # 用于判断用户是否存在 if user_dic: # 给用户输入的密码做加密 password = common.get_pwd_md5(password) # 校验密码是否一致 if password == user_dic.get('password'): return True,f'用户: [{username}] 登录成功!' else: return False, '密码错误' return False, '用户不存在,请重新输入!'
def withdraw_interface(username, money): # 先获取用户字典 user_dic = db_handler.select(username) # 帐户中的金额 balance = int(user_dic.get('balance')) # 提现本金+ 手续费 money2 = int(money) * 1.05 #判断用户输入的金额是否大于用户字典里的金额 if balance > money2: # 修改用户字典中的金额 balance -= money2 user_dic['balance'] = balance # 记录流水 flow = f'用户[{username}] 提现金额[{money}$]成功,手续费为: [{money2 - float(money)}$],余额为: [{balance - money2}$]' user_dic['flow'].append(flow) # 再保存数据,更新数据 db_handler.save(user_dic) return True, f'用户[{username}] 提现金额[{money}$]成功,手续费为: [{money2 - float(money)}$],余额为: [{balance - money2}$]' return False, '提现金额不足,请重新输入!'
def check_balance(username): user_dic = db_handler.select(username) return user_dic['balance']