Day26.还款功能

1.还款功能_用户视图层(src.py)和银行相关业务接口(bank_interface.py)

  还款功能:src.py中的代码

# 5. 还款功能
@common.login_auth
def repay():
    '''
    银行卡还款,无论是信用卡或储蓄卡,是否能充任意大小的金额
    '''
    while True:
        # 1) 让用户输入还款金额
        input_money = input('请输入需要还款的金额:').strip()
        print('input_money.isdigit():{}'.format(input_money.isdigit()))
        # 2)判断用户输入的是否是数字
        if not input_money.isdigit():
            print('请输入正确的金额')
            continue
        input_money = int(input_money)
        # 3)判断用户输入的金额大于0
        if input_money > 0:
            # 4)调用还款接口
            flag, msg = bank_interface.repay_interface(login_user, input_money)
            if flag:
                print(msg)
                break
        else:
            print('输入的金额不能小于0')

  还款功能:bank_interface.py中的代码

# 还款接口
def repay_interface(username, input_money):
    '''
    1.获取用户的金额
    2.给用户的金额做加钱的操作
    '''
    # 1.获取用户的字典
    user_dic = db_handler.select(username)

    # 2.直接做加钱的操作
    user_dic['balance'] = user_dic['balance'] + input_money
    
    # 3.调用数据处理层,将修改后的数据更新
    db_handler.save(user_dic)

    return True, '用户:{} 还款:{} 成功,当前可以用额度:{}'.format(username, input_money, user_dic['balance'])

   查询余额:db_handler.py 的代码

# 查看数据
def select(username):
    # 1) 接收接口层传过来的username用户名,拼接用户json文件路径
    user_path = os.path.join(
        settings.USER_DATA_PATH, '{}.json'.format(username)
    )
    # 2) 校验用户json文件是否存在
    if os.path.exists(user_path):
        # 3) 打开数据,并返回分接口层
        with open(user_path, 'r', encoding='utf-8') as f:
            user_dic = json.load(f)
            return user_dic
    # 3) 不return, 默认return None

2.还款功能_程序运行结果

 

posted on 2024-06-12 15:03  与太阳肩并肩  阅读(4)  评论(0编辑  收藏  举报

导航