Beispiel #1
0
def make_basket_record(user_id):
    # get user
    user = db.get_user_byid(user_id)
    # get basket
    basket = db.get_basket_by_userid(user_id)
    # use creds to create a client to interact with the Google Drive API
    scope = ['https://spreadsheets.google.com/feeds']
    creds = ServiceAccountCredentials.from_json_keyfile_name('config/client_secret.json', scope)
    client = gspread.authorize(creds)
    # Find a workbook by key and open the first sheet
    sheet = client.open_by_key(ORDER_KEY).sheet1
    now = datetime.datetime.now()
    date = str(now.date()) + '.' + str(now.month) + '.' + str(now.year) + ' ' + str(now.hour) + ':' + str(now.minute)
    user_name = user[2]
    telegram_username = user[7]
    user_telephone = user[3]
    order_number = basket[6]
    order_list = calculate_order(user_id)
    order_list_final = ''
    for a in order_list:
        order_list_final = order_list_final + a + 'шт., '
    comments = basket[3]
    payment_metode = basket[5]
    delivery_adress = user[5]
    delivery_date = basket[4]
    total_price = basket[2]
    data = [date, user_id, user_name, telegram_username, user_telephone, order_number, order_list_final, comments,
            payment_metode, delivery_adress, delivery_date, total_price]
    sheet.append_row(data)
Beispiel #2
0
def get_basket(message):
    user_id = message.from_user.id
    try:
        basket = db.get_basket_by_userid(user_id)
        return basket
    except TypeError:
        return None
Beispiel #3
0
def get_list_of_order(message):
    user_id = message.from_user.id
    try:
        basket = db.get_basket_by_userid(user_id)
        orders = basket[1]
        orders = orders.split(';')
        orders = orders[0:-1]
        return orders
    except TypeError:
        return None
Beispiel #4
0
def calculate_order(user_id):
    try:
        basket = db.get_basket_by_userid(user_id)
        orders = basket[1]
        orders = orders.split('; ')
        orders = orders[0:-1]
        count = Counter(orders)
        lists_of_count = list(count)
        result = []
        for element in lists_of_count:
            result.append(str(element) + ' x ' + str(count[element]))
        return result
    except TypeError:
        return None
Beispiel #5
0
def add_order_to_basket(message, journal):
    user_id = message.from_user.id
    basket = db.get_basket_by_userid(user_id)
    order = 'vol: ' + str(journal[0]) + ' ' + str(journal[1]) + '; '
    journal_price = 300
    if basket:
        basket_order = basket[1]
        basket_order = basket_order + order
        basket_price = basket[2]
        basket_price = basket_price + journal_price
        db.add_order_to_basket(user_id, basket_order)
        db.add_price_to_basket(user_id, basket_price)

    elif not basket:
        db.add_new_order_to_basket(user_id, order)
Beispiel #6
0
def add_cover_to_basket(message):
    user_id = message.from_user.id
    user = db.get_user_byid(user_id)
    cover_price = 30
    if user[6] == 1:
        cover = 'в подарочной упаковке; '
    elif user[6] == 2:
        cover = 'в святковій обкладинці; '
    # db.add_cover_to_basket(user_id)
    basket = db.get_basket_by_userid(user_id)
    basket_order = basket[1]
    basket_order = basket_order[0:-2]
    basket_order = basket_order + ' ' + cover
    db.add_order_to_basket(user_id, basket_order)
    basket_price = basket[2]
    basket_price = basket_price + cover_price
    db.add_price_to_basket(user_id, basket_price)