Exemplo n.º 1
0
def withdraw_interface(login_user, money):
    #手续费5%
    money2 = float(money) * 1.05
    user_dict = db_handler.check(login_user)
    balance = user_dict["balance"]
    if float(balance) >= money2:
        user_dict["balance"] -= money2
        flow = f"{common.gettime()}: {login_user} 提现成功,提现金额为{money},余额为{user_dict.get('balance')}, 本次手续费为{money2-float(money)}"
        user_dict['flow'].append(flow)
        ATM_logger.info(flow)
        db_handler.save(user_dict)
        return True, flow
    flow = f"{login_user} 提现失败,余额不足,余额为{user_dict.get('balance')},请重新输入提现金额。"
    ATM_logger.warning(flow)
    return False, flow
Exemplo n.º 2
0
def register_interface(name, pwd, balance=15000):
    pwd = common.get_md5(pwd)
    user_dic = {
        'name': name,
        'pwd': pwd,
        'balance': balance,
        'flow': [],
        'shop_cart': {},
        'lock': False
    }
    db_handler.save(user_dic)
    msg = f"用户{name}注册成功"
    user_logger.info(msg)

    return msg
Exemplo n.º 3
0
def register_interface(user, pwd):
    if db_handler.select(user):
        return False, "用户已存在"

    user_dic = {
        "name": user,
        "password": pwd,
        "balance": 15000,
        "flow": [],
        "shopping_cart": {}
    }

    db_handler.save(user_dic)

    return True, "用户:%s 注册成功" % user
Exemplo n.º 4
0
def shopping_pay_interface(user, shopping_cart):
    user_dic = db_handler.select(user)
    goods_list = get_goods_interface()
    total = 0

    for k, num in shopping_cart.items():
        total += goods_list[k][1] * num

    if total <= user_dic["balance"]:
        user_dic["balance"] -= total
        user_dic["flow"].append("结算成功,此次花费金额%s" % total)
        db_handler.save(user_dic)
        return True, "结算成功,此次花费金额%s" % total
    else:
        return False, "余额不足,请先还款"
Exemplo n.º 5
0
def add_shopping_cart(login_user, shopping_car):
    user_dic = db_handler.select(login_user)
    if not user_dic:
        return False, '用户不存在'

    shop_car = user_dic['shop_car']
    for shop_name, shop_info in shopping_car.items():
        number = shop_info[1]

        if shop_name in shop_car:
            user_dic['shop_car'][shop_name][1] += number
        else:
            user_dic['shop_car'].update({shop_name: shop_info})

    db_handler.save(user_dic)
    return True, f'用户{login_user}添加购物车成功'
Exemplo n.º 6
0
def transfer_interface(username, to_username, money):
    user_dic = db_handler.select(username)
    to_user_dic = db_handler.select(to_username)
    if not to_user_dic:
        return False, '目标用户不存在'
    if user_dic['balance'] >= money:
        user_dic['balance'] -= money
        to_user_dic['balance'] += money
        flow = f'用户{username}给用户{to_username}转账{money}'
        user_dic['flow'].append(flow)
        to_user_dic['flow'].append(flow)
        db_handler.save(user_dic)
        db_handler.save(to_user_dic)
        return True, flow
    else:
        return False, '余额不够'
Exemplo n.º 7
0
def resister_interface(user_name,password,balance=15000):
    user_dic=db_handler.select(user_name)
    if user_dic:
        return False,'用户名已存在'
    password=common.get_pwd_md5(password)
    user_dic = {
        'username': user_name,
        'password': password,
        'balance': balance,
        'flow': [],
        'shop_car': {},
        'locaked': False
    }
    db_handler.save(user_dic)
    shop_logger.info(f'{user_name}注册成功')
    return True,f'{user_name}注册成功'
Exemplo n.º 8
0
def register_interface(username, password, balance=15000):
    dic = db_handler.select(username)
    if dic:
        return 0, '用户名已存在!'
    else:
        password = common.get_pwd_md5(password)
        user_dict = {
            'username': username,
            'password': password,
            'balance': balance,
            'flow': [],
            'shop_car': {},
            'locked': 0
        }
        db_handler.save(user_dict)
        return 1, '注册成功!'
Exemplo n.º 9
0
def pay_interface(name, cost):

    user_dic = db_handler.select(name)

    if user_dic['balance'] >= cost:

        user_dic['balance'] -= cost

        user_dic['shopping_cart'] = {}

        db_handler.save(user_dic)

        return True, '支付成功!'

    else:
        return False, '消费失败!'
Exemplo n.º 10
0
 def add_course(self, name):
     sch = db_handler.select(settings.sch_DB, self.school_id)
     for item in self.courses:
         if item.name == name:
             return False, '这门课程已在学习课程内'
     for item in sch.courses:
         if item.name == name:
             item.students.append(self)
             self.courses.append(item)
             db_handler.save(settings.stu_DB, self)
             db_handler.save(settings.sch_DB, sch)
             stu_logger.info('学生姓名%s,id:%s,增加了课程%s' %
                             (self.name, self.id, name))
             return True, '课程已加入清单'
     else:
         return False, '课程不存在'
Exemplo n.º 11
0
def pay_interface(username,cost):
    #查用户
    user_dic=db_handler.select(username)
    #查用户当前金额
    # user_dic.get('money')
    #判断用户当前金额是否可以支付购物车商品的总金额
    if user_dic.get('money') >= cost:
        #用户账户当前金额减去购物车商品总金额
        user_dic['money'] -=cost
        #记录流水
        msg=f'{username},购物支付{cost}元成功!!'
        user_dic['money_water'].append(msg)
        db_handler.save(user_dic)
        return True,msg

    return False
Exemplo n.º 12
0
def register_inter_face(name, pwd2):
    user_dict = db_handler.get_user_dic(name)
    if user_dict:
        return False, "你输入的账号已经存在请登录"
    else:
        user_dict = {
            "name": name,
            "pwd": pwd2,
            "balance": 15000,
            "flow": [],
            "shopping_car": {},
            "status": None,
            "time": None
        }
        db_handler.save(user_dict)
        return True, "注册成功"
Exemplo n.º 13
0
def shopping_interface(name, money, shoppingcart):
    '''
    购物接口.
    :param name:用户名
    :param money: 消费金额
    :param shoppingcart: 购物车清单
    :return:True,False
    '''
    flag, msg = bank.consume_interface(name, money)
    if flag:
        user_dic = db_handler.select(name)
        user_dic['shoppingcart'] = shoppingcart
        db_handler.save(user_dic)
        return True, '购买成功'
    else:
        return False, '余额不足'
Exemplo n.º 14
0
def transfer_interface(current_user,to_user,money):
    to_user_dic = db_handler.select(to_user)
    current_user_dic = db_handler.select(current_user)

    if current_user_dic.get('balance') >= money:
        current_user_dic['balance'] -= money
        to_user_dic['balance'] += money
        # 记录流水
        msg= f'{current_user}向{to_user}转账{money}元成功'
        to_user_flow = f'{to_user}收到{current_user}转账{money}元成功'
        current_user_dic['bank_flow'].append(msg)
        to_user_dic['bank_flow'].append(msg)

        db_handler.save(to_user_dic)
        return True,msg
    return False, f'钱不够,请充值或者重新输入'
Exemplo n.º 15
0
def withdraw_interface(name, balance):
    '''
    取款接口.
    :param name: 取款用户
    :param balance: 取款金额
    :return:True,False
    '''
    user_dic = db_handler.select(name)
    if user_dic['balance'] >= balance * 1.05:  # 0.5%的手续费
        user_dic['balance'] -= balance * 1.05
        user_dic['bankflow'].append('取款%s,手续费%s' % (balance, balance * 0.05))
        bank_logger.info('你取款了%s元,手续费%s元' % (balance, balance * 0.05))
        db_handler.save(user_dic)
        return True, '取款成功,取出金额%s' % balance
    else:
        return False, '余额不足'
Exemplo n.º 16
0
def repay_interface(name, balance):
    '''
    还款接口.
    :param name: 还款用户
    :param balance: 还款金额
    :return:True,False
    '''
    user_dic = db_handler.select(name)
    if user_dic['balance'] >= balance:
        user_dic['balance'] -= balance
        user_dic['bankflow'].append('还款%s' % balance)
        bank_logger.info('%s还款了%s元' % (name, balance))
        db_handler.save(user_dic)
        return True, '还款成功'
    else:
        return False, '余额不足以还款'
Exemplo n.º 17
0
def shopping_pay_interface(username,shopping_car,cost):
    flag = bank_interface.repay_interface(username,cost)

    user_dic = db_handler.select(username)

    if flag:

        user_dic['shop_car'] = {}
        db_handler.save(user_dic)
        return True,'购物并支付成功'

    #若失败,保存购物车
    else:
        user_dic['shop_car'] = shopping_car
        db_handler.save(user_dic)
        return False,'支付失败,保存购物车'
Exemplo n.º 18
0
def shop_pay_interface(username, shop_car, cost):
    # 1.调用银行支付接口
    flag = bank_interface.pay_interface(username, cost)
    # 获取当前用户
    user_dic = db_handler.select(username)
    # 2.判断是否支付成功!
    # 若支付成功,清空购物车
    if flag:
        user_dic['shop_car'] = {}
        db_handler.save(user_dic)
        return True, '购物并支付成功!'
    # 若支付失败,保存购物车
    else:
        user_dic['shop_car'] = shop_car
        db_handler.save(user_dic)
        return False, '支付失败, 保存购物车'
Exemplo n.º 19
0
def withdraw_interface(balance, name):
    user_dic = db_handler.select(name)
    balancel = balance * 1.05

    if user_dic["balance"] >= balancel:

        user_dic["balance"] -= balancel
        user_dic["bankflow"].append("you have withdraw {}".format(balance))

        db_handler.save(user_dic)
        bank_logger.info("you have withdraw {}".format(balance))

        return True, "you withdraw money successfully"

    else:
        return False, "your money is not enough"
Exemplo n.º 20
0
 def set_score(self, course, id, score):
     stu = db_handler.select(settings.stu_DB,
                             id)  # 取出学生对象,学生的课程列表里存放着课程对象,将对象的分数属性设置为想要的值
     if stu:
         for item in stu.courses:
             if item.name == course:
                 item.score = score
                 db_handler.save(settings.stu_DB, stu)
                 teac_logger.info(
                     '教师:姓名-%s,id-%s,修改了id为:%s学生的%s课的分数' %
                     (src.user_obj.name, src.user_obj.id, id, course))
                 return True, '设置成功'
         else:
             return False, '课程不存在'
     else:
         return False, '学生ID错误'
Exemplo n.º 21
0
Arquivo: shop.py Projeto: wickteam/ATM
def shopping_interface(username, cost, shop_cart):
    user_dic = db_handler.select(username)

    if user_dic['balance'] >= cost:
        user_dic['balance'] -= cost
        flow_str = f'{username}消费{cost}元成功'
        user_dic['flow'].append(flow_str)
        user_dic['shop_cart'].update(shop_cart)

        db_handler.save(user_dic)
        return flow_str

    else:
        user_dic['shop_cart'].update(shop_cart)
        db_handler.save(shop_cart)
        return '没钱'
Exemplo n.º 22
0
def lock():
    user = input('请输入你要修改的用户').strip()
    userdict = db_handler.select(user)
    print(userdict['locked'])
    sure = input('是否继续修改(T/F)').strip()
    if sure == 'T':
        state = input('修改为(True/False):>>>')
        userdict['locked'] = state
        db_handler.save(userdict)
        flow=f'修改账户{user}状态成功,当前状态为{state}'

        return True,flow
    else:
        flow = '用户取消操作'
        user_logger.info(flow)
        return False,flow
Exemplo n.º 23
0
def shop_pay_interface(username,shopping_car,cost):
    #1、调用银行支付接口
    flag=bank_interface.pay_interface(username,cost)
    #获取当前用户
    user_dic=db_handler.select(username)
    #判断是否支付成功!
    #如果支付成功,清空购物车
    if flag:
        user_dic['shopping_car']={}
        db_handler.save(user_dic)
        return True,f'购物并支付成功'
    #若支付失败,保存购物车
    else:
        user_dic['shopping_car']=shopping_car
        db_handler.save(user_dic)
        return False,f'支付失败,保存购物车'
Exemplo n.º 24
0
def zhuanzhang_interface(name, to_user, to_money):
    user_dic = db_handler.select(name)
    to_user_dic = db_handler.select(to_user)
    if not to_user_dic:
        return False, '转账用户%s不存在' % to_user
    else:
        if user_dic['balance'] < to_money:
            return False, '转账金额比余额大,转账失败'
        else:
            user_dic['balance'] -= to_money
            to_user_dic['balance'] += to_money
            info = '用户%s转账%s元给用户%s成功' % (name, to_money, to_user)
            logger1.info(info)
            user_dic['flow'].append(info)
            db_handler.save(user_dic)
            db_handler.save(to_user_dic)
            return True, info
Exemplo n.º 25
0
 def add_course(self, option):
     sch = db_handler.select(settings.sch_DB, self.school_id)
     for item in self.courses:
         if option == item:
             return False, '课程已存在'
     else:
         for cour in sch.courses:
             if option == cour.name:
                 self.courses.append(option)  # 课程名称放入老师的课程列表
                 cour.teacher = self  # 将该门课程的教师属性设置为当前教师对象
                 db_handler.save(settings.sch_DB, sch)
                 db_handler.save(settings.teac_DB, self)
                 teac_logger.info('教师:姓名-%s,id-%s,增加了课程%s' %
                                  (self.name, self.id, option))
                 return True, '成功选择课程'
         else:
             return False, '没有目标课程'
Exemplo n.º 26
0
def transfer_interface(from_user, to_user, balance):
    '''转账接口'''
    from_user_dic = db_handler.select(from_user)
    to_user_dic = db_handler.select(to_user)
    if not to_user_dic:
        return False, '对方用户不存在'
    if from_user_dic['balance'] < balance:
        return False, '余额不足'
    from_user_dic['balance'] -= balance
    to_user_dic['balance'] += balance
    from_user_dic['bankflow'].append('向%s用户成功转帐%s' % (to_user, balance))
    to_user_dic['bankflow'].append('从%s用户成功收帐%s' % (from_user, balance))
    bank_logger.info('向%s用户成功转帐%s' % (to_user, balance))
    bank_logger.info('从%s用户成功收帐%s' % (from_user, balance))
    db_handler.save(from_user_dic)
    db_handler.save(to_user_dic)
    return True  #, '向%s用户成功转帐%s' % (to_user, balance)
Exemplo n.º 27
0
def transfer_interface(src_user, dst_user, money):
    src_dic = db_handler.select(src_user)
    dst_dic = db_handler.select(dst_user)

    if money <= src_dic["balance"]:
        src_dic["balance"] -= money
        dst_dic["balance"] += money

        src_dic["flow"].append("转账成功,%s 转入目标账户 %s 金额 %s" % (src_user, dst_user, money))
        dst_dic["flow"].append("转账成功,由%s 转入 %s 金额 %s" % (src_user, dst_user, money))

        db_handler.save(src_dic)
        db_handler.save(dst_dic)
        logger.info("用户 %s :转账成功,由%s 转入 %s 金额 %s" % (src_user, src_user, dst_user, money))
        return True, "转账成功,%s 转入 %s 金额 %s" % (src_user, dst_user, money)
    else:
        return False, "余额不足,转账失败"
Exemplo n.º 28
0
def withdraw_interface(money,username):
    #查询到用户的信息
    user_dict = db_handler.select(username)

    money = int(money)
    # 判断余额是否够取出,需要5%的手续费
    if user_dict['balance'] >= money*1.05:
        user_dict['balance'] -= money*1.05
        msg = '%s用户提现金额%s元'%(username,money)
        #用户流水信息
        user_dict['flow'].append(msg)
        db_handler.save(user_dict)
        bank_logger.info('%s用户提现金额%s元'%(username,money))
        return True,msg
    else:
        bank_logger.info('余额不足')
        return False,'余额不足'
Exemplo n.º 29
0
def pay_interface(username, cost):
    user_dic = db_handler.select(username)

    if user_dic.get('balance') >= cost:

        user_dic['balance'] -= cost

        # 记录流水
        flow = f'{username}购物支付{cost}成功!'

        user_dic['bank_flow'].append(flow)

        db_handler.save(user_dic)

        return True

    return False
Exemplo n.º 30
0
Arquivo: user.py Projeto: shx-1999/ATM
def register_interface(name, password, balance=15000):
    '''
    注册接口.
    :param name:用户名
    :param password: 密码
    :param balance: 确认密码
    :return:True,False
    '''
    user_dic = db_handler.select(name)
    if user_dic:
        return False, '用户已存在'
    else:
        user_dic = {'name': name, 'password': password, 'balance': balance,
                    'locked': False, 'bankflow': [], 'shoppingcart': {}}
        db_handler.save(user_dic)
        user_logger.info('用户%s注册成功' % name)
        return True, '注册成功'