o
    $gi8                  
   @   s   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ e 	e
ZdZdedB fddZd	ed
edededef
ddZdedefddZdS )    N)datetime)Bot)DATA_DBzadmin_chat.jsonreturnc               
   C   s   zTt jtr,ttddd} t| }|dW  d   W S 1 s$w   Y  W dS ddi}ttddd} tj|| dd	d
 W d   W dS 1 sMw   Y  W dS  t	yr } zt
dt d|  W Y d}~dS d}~ww )uF   
    Получает ID админ чата из JSON файла
    rzutf-8)encodingadmin_chat_idNltJV wF   )ensure_asciiindentz!Error reading admin chat ID from : )ospathexistsADMIN_CHAT_FILEopenjsonloadgetdump	Exceptionloggererror)fdatadefault_datae r   R/var/www/www-root/data/www/app.magazinbotpanel.site/bots/01/handlers/order_save.pyget_admin_chat_id   s$   
(
r    
state_datauser_idpayment_methodbotc                    s  z|  d}|  d}|  d}|  d}|  d}|  d}	tt}
|
 }|d|f | }|rB|d rBt|d  nd	}|d
|f | }|r]|d r]t|d  nd}t	
 }|d}|d}|d||	||d|d||df
 |j}|
  |
  td|  t|||||||||	|||dI dH  W dS  ty } ztd| d|  W Y d}~dS d}~ww )u|   
    Сохраняет заказ в базу данных и отправляет уведомление админу
    
product_idcity_id	tag_indextag_namedistrictproduct_base_pricez6SELECT product_name FROM products WHERE product_id = ?r   u!   Неизвестный товарz,SELECT city_name FROM city WHERE city_id = ?u!   Неизвестный городz%Y-%m-%dz%H:%M:%Sa  
            INSERT INTO orders (
                product_id, price_order, payment_method, delivery_adress, 
                order_status, order_user_id, order_manager_id, order_date, order_time, tip_delivery
            ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
        r   Nu   самовывозzOrder saved successfully: ID )order_idr"   	city_namer)   product_namer%   r#   pricer(   
order_date
order_timeTzError saving order for user r   F)r   sqlite3connectr   cursorexecutefetchonestrstripr   nowstrftime	lastrowidcommitcloseprintsend_admin_notificationr   r   r   )r!   r"   r#   r$   r%   r&   r'   r(   r)   
base_priceconncurproduct_rowr-   city_rowr,   r8   r/   r0   r+   r   r   r   r   
save_order!   s^   






  


rD   
order_datac                    s  zt  }tt}| }|d|d f | }|  |r)|d r)|d nd}|r5|d r5|d nd}|d }|dkrBd	}	n|d
krId}	n|dkrPd}	n	|dkrWd}	n|}	d|d  d|d  d|d  d|d  d|d  d|d  d|	 d|d  d|d  d | d!| d"|d#  d$|d%  d& }
|r| 	||
I d'H  t
d(|  W d'S t
d) t
|
 W d'S  ty } ztd*|  t
d*|  W Y d'}~d'S d'}~ww )+u]   
    Отправляет уведомление админу о новом заказе
    z8SELECT first_name, username FROM users WHERE user_id = ?r"   r   u   Не указано   u   Не указанr#   button14u   Банковская картаbutton16u    Со своего баланса	cryptobot	CryptoBotoperator_walletu!   Кошелек оператораu   
📦 Поступил новый заказ
Войдите в раздел заказы в админ панели.

🆔 ID заказа: r+   u   
🏙️ Город: r,   u   
📍 Район: r)   u   
📦 Товар: r-   z (ID: r%   u   )
💰 Вариант: r(   u   
💳 Тип оплаты: u   
💵 Цена: r.   u&    $

👤 ID пользователя: u   
👤 Имя: u   
👤 Username: @u   

📅 Дата: r/   u   
⏰ Время: r0   u:   
🚚 Тип доставки: самовывоз
        Nz Admin notification sent to chat z0ADMIN NOTIFICATION (no ADMIN_CHAT_ID specified):z"Error sending admin notification: )r    r1   r2   r   r3   r4   r5   r<   r7   send_messager=   r   r   r   )r$   rE   ADMIN_CHAT_IDr@   rA   user_row
first_nameusernamer#   payment_displaymessage_textr   r   r   r   r>   h   sv   
	
r>   )loggingr1   r   r   r   aiogramr   dbr   	getLogger__name__r   r   intr    dictr6   boolrD   r>   r   r   r   r   <module>   s    
G