Exemplo n.º 1
0
    def sign_up(user, **kwargs):
        selected = kwargs.get('class', False)
        if not selected:
            print("班级参数异常")
            return False
        student = LuffyStudent.fetch_one(user.sn)
        course = LuffyCourse.fetch_one(selected.course_sn)

        if float(student.get_balance()) < float(course.price):
            print('余额不足')
            return False
        # 更新学生余额及消费记录信息
        student.add_balance(-1 * float(course.price))
        student.add_transaction(
            '%s 报名课程:%s 价格:%s' % (utils.calculate_date(time_format=True), course.title, str(course.price)))
        student.save()
        # 更新班级学生列表
        selected.add_student(student.sn)
        selected.save()
        # 更新班级讲师的学生列表
        teacher = LuffyTeacher.fetch_one(selected.teacher_sn)
        teacher.add_student(student.sn)
        teacher.save()
        return {'status': 0, 'logger': kwargs.get('logger'),
                'msg': "报名课程:%s 价格:%s" % (course.title, str(course.price))}
Exemplo n.º 2
0
def add_user(**kwargs):
    """
    添加用户
    :param kwargs: 
    :return: 
    """
    username = input("请输入用户名,(b,返回):>>").strip()
    if username.lower() == 'b':
        return False
    password = input("请输入用户密码:>>").strip()
    credit = input("请输入用户额度:>>").strip()

    if check_exists(settings.USER_TABLE,
                    **{'where': [{
                        'field': 'username',
                        'value': username
                    }]}):
        print("用户已存在")
        return False
    if not credit.isdigit() and not utils.is_float_num(credit):
        print("请输入数字字符")
        return False
    entry = settings.DATABASE['tables'][settings.USER_TABLE]['structure']
    entry.update({
        'id':
        get_increment_id(settings.USER_TABLE),
        'username':
        username,
        'password':
        utils.hash_md5(password),
        'credit':
        float(credit),
        'balance':
        float(credit),
        'enroll_date':
        utils.calculate_date(),
        'expire_date':
        utils.calculate_date(years=settings.USER_EFFECTIVE_YEARS),
    })
    ret = db_handler.data_api('add', settings.USER_TABLE, **{'fields': entry})
    if ret:
        return {
            'status': ret,
            'logger': kwargs.get('logger'),
            'msg': "管理员添加用户 %s" % username
        }
    return False
Exemplo n.º 3
0
 def add_duty(user, **kwargs):
     """
     给学生打分
     :param user: 
     :param kwargs: 
     :return: 
     """
     selected = kwargs.get('class', False)
     if not selected:
         print("班级参数异常")
         return False
     selected.add_duty("%s 讲师 %s 在班级 %s 上课" %
                       (utils.calculate_date(time_format=True),
                        user.username, selected.title))
     selected.save()
     user.add_duty("%s 在班级 %s 上课" %
                   (utils.calculate_date(time_format=True), selected.title))
     user.save()
     return {
         'status': 0,
         'logger': kwargs.get('logger'),
         'msg': "讲师 %s 添加上课记录:在班级%s上课" % (user.username, selected.title)
     }
Exemplo n.º 4
0
    def recharge(user, **kwargs):
        """
        创建班级
        :param user: 
        :param kwargs: 
        :return: 
        """
        amount = input("请输入充值金额,(b,返回):>>").strip()
        if amount.lower() == 'b':
            return False
        if not amount.isdigit() and not utils.is_float_num(amount):
            print("请输入数字字符")
            return False

        entry = LuffyStudent.fetch_one(user.sn)
        entry.add_balance(float(amount))
        entry.add_transaction('%s 充值:%s' % (utils.calculate_date(time_format=True), amount))
        entry.save()
        return {'status': 0, 'logger': kwargs.get('logger'), 'msg': "学生 %s 成功充值 %s " % (entry.username, amount)}
Exemplo n.º 5
0
Arquivo: models.py Projeto: lxorz/ATM
def add_cart(user, product):
    """
    添加商品到用户购物车
    :param user:
    :param product:
    :return:
    """
    user['cart'].append({
        'product_id': product['id'],
        'title': product['title'],
        'amount': product['price'],
        'number': 1,
        'created_at': utils.calculate_date(time_format=True)
    })
    return db_handler.data_api(
        'update', settings.USER_TABLE, **{
            'set': {
                'cart': user['cart']
            },
            'where': [{
                'field': 'id',
                'value': user['id']
            }]
        })