示例#1
0
def calc_debs(user_id, status):
    group_id = user.get_current_group(user_id)
    if status:
        members = group.get_members_by_group_id(group_id)
        debt_amount = round(bill.get_data(user_id, 'amount') / len(members), 2)
    else:
        members = bill.get_selected(user_id)
        debt_amount = round(
            bill.get_data(user_id, 'amount') / (len(members) + 1), 2)
    for _id in members:
        if not _id == user_id:
            data = db.select_debts(_id, user_id)
            if data:
                if data[0] >= debt_amount:
                    db.update_debt(-debt_amount, _id - user_id)
                else:
                    db.update_debt(-data[0], _id - user_id)
                    db.insert_debt(user_id - _id, user_id,
                                   debt_amount - data[0], _id)
            else:
                db.insert_debt(user_id - _id, user_id, debt_amount, _id)
            db.insert_debt_to_history_debt(
                bill.get_data(user_id, 'payment_id'), _id, debt_amount)
        alert.send_debt_msg(user_id, _id,
                            bill.get_data(user_id, 'description'), debt_amount)
    bill.insert_payment(user_id)
示例#2
0
def update_user_online(user_id, group_id, online):
    if group_id:
        user.set_group(user_id, group_id)
        db.update_user_online(online, group_id, user_id)
    else:
        group_id = user.get_current_group(user_id)
        db.update_user_online(online, group_id, user_id)
        user.set_group(user_id, None)
示例#3
0
def get_group_info(user_id):
    group_id = user.get_current_group(user_id)
    data = groups_dict[group_id]
    msg = 'Группа:' + group_id + '\n' \
          'Пароль:' + data['password'] + '\n' \
          'Участники: \n'
    for member in data['members']:
        msg = msg + user.get_user_fullname(member) + '\n'
    return msg
示例#4
0
def get_bills_msg(user_id):
    group_id = user.get_current_group(user_id)
    bills = db.select_bills(group_id)
    msg = ""
    for b in bills:
        msg = msg + 'Оплатил:' + user.get_user_fullname(b[0]) + '\n' \
                    'Описание:' + b[1] + '\n' \
                    'Сумма:' + str(b[2]) + '\n' \
                    'Дата:' + str(b[3]) + '\n\n'
    return msg
示例#5
0
def get_users_keyboard(user_id):
    markup = telebot.types.InlineKeyboardMarkup()
    group_id = user.get_current_group(user_id)
    users_id = group.get_members_by_group_id(group_id)
    for _id in users_id:
        if not _id == user_id:
            btn = telebot.types.InlineKeyboardButton(
                text=user.get_user_fullname(_id),
                callback_data='u_' + str(_id))
            markup.row(btn)
    return markup
示例#6
0
def create_bill(user_id):
    temp[user_id] = {
        'payment_id': str(uuid.uuid4()),
        'group_id': user.get_current_group(user_id)
    }
示例#7
0
def get_bills_for_edit(user_id):
    group_id = user.get_current_group(user_id)
    data = db.select_payments_by_user_id_and_group_id(user_id, group_id)
    return data