Example #1
0
def tranfser_interface(username, touser, money):
    """
    判断用户是否存在,存在触发转账否则返回用户不存在
    判断用户余额是否支持转账,支持则转账否则账户余额不足
    :param username: 当前登录账户账号
    :param touser: 目标用户账户账号
    :param money: 转账金额
    :return:
    """
    # 获取登录用户以及目标用户数据信息
    login_user_data_dic = db_handle.select_user(username)
    to_user_data_dic = db_handle.select_user(touser)

    # 判断目标用户是否存在
    if not to_user_data_dic:
        return False, '目标用户不存在'

    # 判断账户余额大于等于转账金额则触发转账操作
    if login_user_data_dic['balance'] >= money:
        login_user_data_dic['balance'] -= money
        to_user_data_dic['balance'] += money

        # 记录流水
        flow_user = f'向用户 [{touser}] 成功转账 [{money}$],'
        login_user_data_dic['flow'].append(flow_user)

        flow_touser = f'用户 [{username}] 转入 [{money}$] ,'
        to_user_data_dic['flow'].append(flow_touser)

        # 调用数据修改接口,保存用户修改数据
        db_handle.update_user(login_user_data_dic)
        db_handle.update_user(to_user_data_dic)

        return True, flow_user
    return False, '转账失败,当前账户余额不足'
Example #2
0
def register_interface(user_name, user_passwd):
    """
    判断用户是否存在,存在返回False,不存在则注册新用户
    :param user_name: 用户名
    :param user_passwd: 用户密码
    :return:
    """

    # 查看用户是否存在
    user_dic = db_handle.select_user(user_name)

    # 判断用户是否存在,存在返回false以及提示信息
    if user_dic:
        msg = f'用户名 [f{user_name}] 重复,请重新输入新的用户名'
        user_logger.warn(msg)
        return False, msg

    # 用户密码MD5数据加密
    user_passwd = common.get_pwd_md5(user_passwd)

    # 用户不存在则注册
    db_handle.save_user(username=user_name, userpasswd=user_passwd)
    # 记录日志功能
    msg = f'用户 [{user_name}] 注册成功!'
    user_logger.info(msg)
    return True, msg
Example #3
0
def pay_interface(username, money):
    """

    :param username: 登录用户账户
    :param money: 购物车金额总计
    :return:
        True : 支付成功
        False : 支付失败
    """
    user_data_dic = db_handle.select_user(username)

    # 判断用户账户余额是否足够商品结算
    if user_data_dic.get('balance') >= money:
        # 商品结算
        user_data_dic['balance'] -= money

        # 记录流水
        flag = f'用户 [{username}] 总计消费 [{money}$]'
        user_data_dic['flow'].append(flag)

        # 保存用户数据
        db_handle.update_user(user_data_dic)

        return True
    return False
Example #4
0
def lock_user_interface(username):
    user_data_dir = db_handle.select_user(username)
    if user_data_dir:
        user_data_dir['locked'] = True
        db_handle.update_user(user_data_dir)

        msg = f'管理员冻结用户[{username}]'
        admin_logger.log(msg)
        return True, msg

    else:
        msg = f'冻结账户[{username}]不存在'
        admin_logger.error(msg)
        return False, msg
Example #5
0
def change_balance_interface(target_user, target_user_balance):
    user_data_dir = db_handle.select_user(target_user)

    if user_data_dir:
        user_data_dir['balance'] = target_user_balance

        db_handle.update_user(user_data_dir)

        msg = f'管理员修改用户:[{target_user}] 账户余额修改为 [{target_user_balance}$]'
        admin_logger.info(msg)
        return True, msg

    else:
        msg = f'查询无 [{target_user}] 用户 '
        admin_logger.error(msg)
        return False
Example #6
0
def top_up_interface(username, money):
    # 获取用户信息
    user_date_dic = db_handle.select_user(username)

    # 计算用户充值后账户余额
    user_date_dic['balance'] += money

    # 记录流水
    flow = f'用户 [{username}] 成功充值 [{money}$]'
    user_date_dic['flow'].append(flow)

    # 调用数据修改功能存储用户数据
    db_handle.update_user(user_date_dic)

    bank_logger.info(flow)

    return True, flow
Example #7
0
def login_interface(user_name, user_passwd):
    # 获取用户数据
    user_data_dic = db_handle.select_user(user_name)

    if user_data_dic:
        user_passwd = common.get_pwd_md5(user_passwd)
        if user_passwd == user_data_dic.get('password'):
            msg = f'用户 [{user_name}] 登录成功!'
            user_logger.info(msg)
            return True, msg
        else:
            msg = '用户名或密码错误'
            user_logger.warn(msg)
            return False, msg
    else:
        msg = '用户名或密码错误'
        user_logger.warn(msg)
        return False, msg
Example #8
0
def withdraw_interface(username, money):
    """
    :param username: 已登录用户的用户名
    :param money: 提现金额
    :return:
        True ,  成功提示
        False , 失败提示
    """
    # 获取用户数据
    user_data_dic = db_handle.select_user(username)

    # 获取用户账户余额
    user_balance = int(user_data_dic.get('balance'))

    # 提现本金加税费
    money2 = money * 1.05

    # 判断账户余额是否大于等于提现金额加税费
    if user_balance >= money2:

        # 用户提余额计算
        user_balance -= money2
        user_data_dic['balance'] = user_balance

        # 记录流水
        flow = f'用户 [{username}] 提现 [{money}$] 成功,手续费为: [{money2 - money}$]'
        user_data_dic['flow'].append(flow)

        # 调用用户数据修改接口
        db_handle.update_user(user_data_dic)

        # 记录日志
        bank_logger.info(flow)

        return True, flow
    else:
        return False, '账户余额不支持转账'
Example #9
0
def add_shop_car_interface(username, shopping_car):
    user_data_dir = db_handle.select_user(username)

    # {'海底捞': [399, 2], '广东凤爪': [28, 1]}

    shop_car = user_data_dir.get('shop_car')

    # 添加购物车
    for shop_name, price_number in shopping_car.items():
        # 获取每个商品添加个数
        count = price_number[1]

        # 计算购物车
        if shop_name in shop_car:
            # 统计 商品新增数 与 购物车已有商品数
            user_data_dir['shop_car'][shop_name][1] += count
        else:
            # 原购物车无该类商品则添加
            user_data_dir['shop_car'].update({shop_name: price_number})

    # 保存用户数据
    db_handle.update_user(user_data_dir)

    return True, '添加购物车成功'
Example #10
0
def check_bal_interface(user_name):
    user_data_dic = db_handle.select_user(user_name)
    return user_data_dic['balance']
Example #11
0
def check_flow_interface(username):
    user_data_dic = db_handle.select_user(username)
    return user_data_dic.get('flow')
Example #12
0
def check_shop_car_interface(username):
    user_data_dic = db_handle.select_user(username)
    return user_data_dic.get('shop_car')