예제 #1
0
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"]}$]'
예제 #2
0
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}]'
예제 #3
0
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)
예제 #4
0
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, '用户不存在,请重新输入!'
예제 #5
0
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, '提现金额不足,请重新输入!'
예제 #6
0
def check_balance(username):
    user_dic = db_handler.select(username)
    return user_dic['balance']