
    Uib                         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 d Zd Zd Zd	 Zd
 Zd Zd Zd Zd ZdedefdZdS )    )ListDictN)B_DB_CONFIG)logger)datetimetimezone	timedeltac                 r   	 t          j        j        di t          }|                                }d}|                    || ||f           |                                 |                                 |                                 d S # t          $ r"}t          j
        d|            Y d }~d S d }~ww xY w)NzGINSERT INTO daily_log (session_id, sender, message) VALUES (%s, %s, %s)zDaily Log Save Error:  )mysql	connectorconnectr   cursorexecutecommitclose	Exceptionr   error)
session_idsendermessageconnr   sqles          #/app/app/models/report_db_module.pysave_daily_logr      s    	3&5555WsZ9:::

 3 3 31a112222222223s   BB
 

B6B11B6c                    	 t          j        j        di t          }|                                }d}|                    || ||||f           |                                 |                                 |                                 t          j	        d| d|             d S # t          $ r"}t          j        d|            Y d }~d S d }~ww xY 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   s	            r   save_structured_diaryr$      s    4&5555 	sZx*MNNN

>>>*>>????? 4 4 42q223333333334s   B"B& &
C0CCc                 t   	 t          j        j        di t          }|                    d          }d}|                    || f           |                                }|                                 |                                 |S # t          $ r#}t          j
        d|            g cY d }~S d }~ww xY 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   s         r   get_daily_log_from_dbr+   0   s    &5555--gsZM***  

   1a11222						   BB
 

B7B2,B72B7c                    	 t          t          d                    }t          j        |                              d          }t          j        j        d	i t          }|	                    d          }d}|
                    || |f           |                                }|                                 |                                 |S # t          $ r#}t          j        d|            g cY d}~S d}~ww xY w)
uX   오늘의 daily_log만 가져오기 (A' 파트용: 과거 대화를 참조하지 않음)	   hours%Y-%m-%dTr&   zqSELECT sender, message, created_at FROM daily_log WHERE session_id = %s AND DATE(created_at) = %s ORDER BY id ASCzToday Daily Log Load Error: Nr   )r   r	   r   nowstrftimer   r   r   r   r   r   r)   r   r   r   r   )r   JST	today_strr   r   r   r*   r   s           r   get_today_daily_logr6   >   s    yq)))**L%%..z::	&5555-- BsZ3444  

   7A77888						s   CC 
C<C71C<7C<c                 t   	 t          j        j        di t          }|                    d          }d}|                    || f           |                                }|                                 |                                 |S # t          $ r#}t          j
        d|            g cY d }~S d }~ww xY w)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   s         r   get_all_daily_notesr9   R   s    &5555--
 	sZM***//##

   7A77888						r,   c                 r   	 t          j        j        di t          }|                    d          }d}|                    || f           |                                }|                                 |                                 |S # t          $ r"}t          j
        d|            Y d }~d S d }~ww xY 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   s         r   get_yesterday_datar=   h   s    &5555-- 	sZM***""

   333444ttttts   BB
 

B6B11B6c                    	 t          t          d                    }t          j        |                              d          }t          j        j        di t          }|	                    d          }d}|
                    || |f           |                                }|                                 |                                 |S # t          $ r"}t          j        d|            Y d }~d S d }~ww xY w)	Nr.   r/   r1   Tr&   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   r2   r3   r   r   r   r   r   r   r;   r   r   r   r   )r   r4   r5   r   r   r   r<   r   s           r   get_today_datar?      s    yq)))**L%%..z::	&5555--esZ3444""

   2q22333ttttts   CC 
C;C66C;c                    	 t          j        j        di t          }|                                }d}|                    |||| f           |                                 |                                 |                                 t          j	        d|             d S # t          $ r"}t          j        d|            Y d }~d S d }~ww xY 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   s          r   update_yesterday_ai_feedbackrB      s    7&5555 QsZ<===

?:??@@@@@ 7 7 75!556666666667s   BB! !
C+CCc                    	 t          j        j        di t          }|                                }d}|                    ||| |f           |                                 |j        }|                                 |                                 t          j
        d|  d| d|            |dk    S # t          $ r"}t          j        d|            Y d }~dS d }~ww xY 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   s           r   update_boss_commentrG      s    &5555 \s\:t<===O	

]
]]]]R[]]^^^1}   6166777uuuuus   B/B2 2
C<CCr   returnc                 \   d }	 t          t          d                    }t          j        |          }|                    d          }t          j        j        di t          }|	                                }d}|
                    || |f           |                                }|                                 |                                 |rdndS # t          $ rL}t          j        d|            |r(|                                r|                                 Y d }~dS d }~ww xY w)	Nr.   r/   r1   zESELECT id FROM daily_note WHERE session_id = %s AND date = %s LIMIT 1TFzCheck Today Log Error: r   )r   r	   r   r2   r3   r   r   r   r   r   r   r;   r   r   r   r   is_connected)	r   r   r4   r2   r5   r   r   rowr   s	            r   check_today_daily_log_existsrL      s,   Dyq)))**l3LL,,	&5555UsZ3444oo

%tt%   2q22333 	D%%'' 	JJLLLuuuuu	s   CC 
D+AD&&D+)typingr   r   mysql.connectorr   app.core.configr   app.corer   r   r   r	   r   r$   r+   r6   r9   r=   r?   rB   rG   strboolrL   r       r   <module>rT      s               ' ' ' ' ' '       2 2 2 2 2 2 2 2 2 2
3 
3 
34 4 4,    (  ,  .  (7 7 7&  .S T      rS   