o
    æi×  ã                   @   s¢   d dl mZmZ d dlZd dlmZ d dlmZ d dl	m	Z	m
Z
mZ edƒZdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdedefdd„ZdS )é    )ÚListÚDictN)Úget_db_config)Úlogger)ÚdatetimeÚtimezoneÚ	timedeltaÚ
Sales_B_DBc              
   C   s†   z't jjdi t¤Ž}| ¡ }d}| || ||f¡ | ¡  | ¡  | ¡  W d S  tyB } zt	 
d|› ¡ W Y d }~d S d }~ww )NzGINSERT INTO daily_log (session_id, sender, message) VALUES (%s, %s, %s)zDaily Log Save Error: © )ÚmysqlÚ	connectorÚconnectÚB_DB_CONFIGÚcursorÚexecuteÚcommitÚcloseÚ	Exceptionr   Úerror)Ú
session_idÚsenderÚmessageÚconnr   ÚsqlÚer
   r
   ú=/home/air/goalskill_sales/back/app/models/report_db_module.pyÚsave_daily_log   s   €ÿr   c           	   
   C   s    z4t jjdi t¤Ž}| ¡ }d}| || ||||f¡ | ¡  | ¡  | ¡  t 	d|› d| › ¡ W d S  t
yO } zt d|› ¡ W Y d }~d S d }~ww )Nzš
            INSERT INTO daily_note 
            (session_id, date, learning, today_mindset, ai_comment) 
            VALUES (%s, %s, %s, %s, %s)
        zDaily Note Saved: z - zDaily Note Save Error: r
   ©r   r   r   r   r   r   r   r   r   Úinfor   r   )	r   ÚdateÚlearningÚmindsetÚ
ai_commentr   r   r   r   r
   r
   r   Úsave_structured_diary   s   €ÿr#   c              
   C   óˆ   z't jjdi t¤Ž}|jdd}d}| || f¡ | ¡ }| ¡  | ¡  |W S  tyC } zt	 
d|› ¡ g W  Y d }~S d }~ww )NT©Ú
dictionaryzWSELECT sender, message, created_at FROM daily_log WHERE session_id = %s ORDER BY id ASCzDaily Log Load Error: r
   ©r   r   r   r   r   r   Úfetchallr   r   r   r   )r   r   r   r   Úrowsr   r
   r
   r   Úget_daily_log_from_db1   s   €þr*   c              
   C   r$   )NTr%   zz
            SELECT * FROM daily_note 
            WHERE session_id = %s 
            ORDER BY date DESC, id DESC
        zAll Daily Notes Load Error: r
   r'   )r   r   r   r   Úresultsr   r
   r
   r   Úget_all_daily_notesA   s   €þr,   c              
   C   s†   z't jjdi t¤Ž}|jdd}d}| || f¡ | ¡ }| ¡  | ¡  |W S  tyB } zt	 
d|› ¡ W Y d }~d S d }~ww )NTr%   z
            SELECT * FROM daily_note 
            WHERE session_id = %s 
            ORDER BY date DESC, id DESC 
            LIMIT 1
        zLatest Data Load Error: r
   )r   r   r   r   r   r   Úfetchoner   r   r   r   )r   r   r   r   Úresultr   r
   r
   r   Úget_yesterday_dataW   s   €þr/   c              
   C   s¦   z7t tddƒ}t |¡ d¡}tjjdi t¤Ž}|j	dd}d}| 
|| |f¡ | ¡ }| ¡  | ¡  |W S  tyR } zt d|› ¡ W Y d }~d S d }~ww )	Né	   ©Úhoursú%Y-%m-%dTr%   zUSELECT * FROM daily_note WHERE session_id = %s AND date = %s ORDER BY id DESC LIMIT 1zToday Data Load Error: r
   )r   r   r   ÚnowÚstrftimer   r   r   r   r   r   r-   r   r   r   r   )r   ÚJSTÚ	today_strr   r   r   r.   r   r
   r
   r   Úget_today_datan   s    €þr8   c              
   C   s–   z/t jjdi t¤Ž}| ¡ }d}| |||| f¡ | ¡  | ¡  | ¡  t 	d| › ¡ W d S  t
yJ } zt d|› ¡ W Y d }~d S d }~ww )Nz@UPDATE daily_note SET ai_comment = %s, advice = %s WHERE id = %szUpdated AI Feedback for ID: zAI Feedback Update Error: r
   r   )r   r"   Úadvicer   r   r   r   r
   r
   r   Úupdate_yesterday_ai_feedback‚   s   €ÿr:   c              
   C   s¬   z:t jjdi t¤Ž}| ¡ }d}| ||| |f¡ | ¡  |j}| ¡  | ¡  t	 
d| › d|› d|› ¡ |dkW S  tyU } zt	 d|› ¡ W Y d }~dS d }~ww )	NzKUPDATE daily_note SET boss_comment = %s WHERE session_id = %s AND date = %szUpdated Boss Comment for z on z. Affected: r   zBoss Comment Update Error: Fr
   )r   r   r   r   r   r   r   Úrowcountr   r   r   r   r   )r   r   Úboss_commentr   r   r   Ú	row_countr   r
   r
   r   Úupdate_boss_comment•   s    
€þr>   r   Úreturnc           	   
   C   sÈ   d }z<t tddƒ}t |¡}| d¡}tjjdi t¤Ž}| 	¡ }d}| 
|| |f¡ | ¡ }| ¡  | ¡  |r<dW S dW S  tyc } zt d|› ¡ |rX| ¡ rX| ¡  W Y d }~dS d }~ww )	Nr0   r1   r3   zESELECT id FROM daily_note WHERE session_id = %s AND date = %s LIMIT 1TFzCheck Today Log Error: r
   )r   r   r   r4   r5   r   r   r   r   r   r   r-   r   r   r   r   Úis_connected)	r   r   r6   r4   r7   r   r   Úrowr   r
   r
   r   Úcheck_today_daily_log_exists¬   s(   

€ürB   )Útypingr   r   Úmysql.connectorr   Úapp.core.configr   Úapp.corer   r   r   r   r   r   r#   r*   r,   r/   r8   r:   r>   ÚstrÚboolrB   r
   r
   r
   r   Ú<module>   s    