o
    i                     @   s   d dl Z d dlZd dlmZmZ d dlmZmZmZm	Z	 d dl
mZmZmZ e eZeddZdZded	efd
dZded	efddZded	efddZded	efddZded	efddZeejdkdefddZdS )    N)RouterF)CallbackQueryMessageInlineKeyboardMarkupInlineKeyboardButton)get_user_languageget_language_textget_button_textmy_order)namezmenu:button9langreturnc              
   C   s   d}z@ddl m} t|}| }|d| f | }|  |r:|d r=t|d 	 r@t|d 	 }W |S W |S W |S W |S  t
y` } ztd|  d|  W Y d}~|S d}~ww )u3   Получает текст кнопки назадu   ⬅️ Назадr   )MENU_DBz+SELECT button9 FROM language WHERE name = ?z get_button9_text error for lang=: N)dbr   sqlite3connectcursorexecutefetchoneclosestrstrip	Exceptionloggererror)r   labelr   conncurrowe r"   D/var/www/www-root/data/www/magazinbotpanel.site/handlers/my_order.pyget_button9_text   s,   
 r$   c                 C   s   t tt| tdggdS )u@   Создает клавиатуру с кнопкой назад)textcallback_data)inline_keyboard)r   r   r$   BACK_CB)r   r"   r"   r#   build_back_keyboard   s   r)   
product_idc              
   C   s   z+t d}| }|d| f | }|  |r&|d r&t|d W S d|  W S  tyM } zt	d|  d|  d|  W  Y d}~S d}~ww )u>   Получает название товара по product_iddata.dbz6SELECT product_name FROM products WHERE product_id = ?r   u   Товар #z"Error getting product name for id r   N)
r   r   r   r   r   r   r   r   r   r   )r*   r   r   r    r!   r"   r"   r#   get_product_name$   s   
r,   user_idc              
   C   sv   zt d}| }|d| f | }|  |W S  ty: } ztd|  d|  g W  Y d}~S d}~ww )u=   Получает все заказы пользователяr+   z
            SELECT order_id, product_id, price_order, order_date, order_time, order_status
            FROM orders 
            WHERE order_user_id = ? 
            ORDER BY order_date DESC, order_time DESC
        zError getting user orders for r   N)	r   r   r   r   fetchallr   r   r   r   )r-   r   r   ordersr!   r"   r"   r#   get_user_orders3   s   
r0   statusc                 C   s   dddd}| | | S )ua   Форматирует статус заказа для красивого отображенияu   🔄 В обработкеu   ✅ Завершенu   ❌ Отменен)load	completedcanceled)get)r1   
status_mapr"   r"   r#   format_order_statusE   s
   r7   zmenu:button3cbc                    s  | j j}t|}z
| j I dH  W n	 ty   Y nw t|}|s@t|dp)d}| jj|t	|dI dH  |  I dH  dS t|dpFd}|dg}t
|dD ]k\}}|d	 }	|d }
|d
 }|d }|d }t|dkrr|d nd}t|
}|d|	  |d|  |d| d |d|  |d|  |dt|  |t|k r|d |d qPd|}t|dkrK|dd }|dddg}t
|dD ]l\}}|d	 }	|d }
|d
 }|d }|d }t|dkr|d nd}t|
}|d|	  |d|  |d| d |d|  |d|  |dt|  |t|k r@|d |d qd|}| jj|t	|dI dH  |  I dH  dS )u:   
    Открывает мои заказы (button3)
    Ntext25u(   У вас пока нет заказов)reply_markuptext30u   📦 Ваши заказы:    r               r2   u   🆔 Заказ #u   📦 Товар: u   💰 Сумма: z $u   📅 Дата: u   ⏰ Время: u   📊 Статус: uZ   ──────────────────────────────
i  
   u=   ⚠️ Показаны последние 10 заказов:)	from_useridr   messagedeleter   r0   r	   answerr)   	enumeratelenr,   appendr7   join)r8   r-   r   r/   r9   r;   message_linesiorderorder_idr*   price
order_date
order_timer1   product_nameorders_messager"   r"   r#   open_my_ordersN   sr   



rV   )loggingr   aiogramr   r   aiogram.typesr   r   r   r   r   r   r	   r
   	getLogger__name__r   routerr(   r   r$   r)   intr,   listr0   r7   callback_querydatarV   r"   r"   r"   r#   <module>   s    

	