o
    áþÝiÍ	  ã                   @   sŽ   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	Z	ddl
mZ ddlmZ dd	lmZ dd
lmZ dedededdfdd„ZdS )uA   Phase 2bï¼šè¡¥å¡« superseded_by ä¿®è®¢å…³ç³»ï¼ˆä¸¤é˜¶æ®µé—®é¢˜ï¼‰é    N)Úlogger)Útext)ÚSession)ÚSessionLocal)ÚTaxDocumenté   )ÚREQUEST_DELAY)ÚImportStateÚstateÚbase_urlÚtokenÚreturnc                 C   sÎ  |   d¡rt d¡ d S d|› ddœ}d}tƒ }| tdƒ¡ ¡ }W d   ƒ n1 s-w   Y  t dt|ƒ› d	¡ tj	||d
dd‰}|D ]~}|\}	}
}tƒ }| tdƒd|i¡ 
¡ }W d   ƒ n1 sjw   Y  |ru|d st d|› d¡ qI|d }z!|jd|
› d|id}| ¡  |d7 }t d|
› d|› ¡ W n tyÁ } zt d|
› d|› ¡ W Y d }~nd }~ww t t¡ qIW d   ƒ n1 sÒw   Y  t d|› d¡ |  d¡ d S )NÚ2bu   Phase 2b å·²å®Œæˆï¼Œè·³è¿‡zBearer zapplication/json)ÚAuthorizationzContent-Typer   zû
            SELECT t.id, t.knowledge_doc_id, t.superseded_by_doc_id
            FROM tax_documents t
            WHERE t.is_imported = true
              AND t.knowledge_doc_id IS NOT NULL
              AND t.superseded_by_doc_id IS NOT NULL
        u#   éœ€è¦è¡¥å¡«ä¿®è®¢å…³ç³»çš„æ–‡æ¡£: u    æ¡é   T)r   ÚheadersÚtimeoutÚfollow_redirectszLSELECT knowledge_doc_id FROM tax_documents WHERE id=:id AND is_imported=trueÚidu    è¢«æ›¿ä»£æ–‡æ¡£æœªå¯¼å…¥: dc_id=u	   ï¼Œè·³è¿‡z/api/v1/knowledge/documents/Úsuperseded_by_doc_id)Újsonr   u%   è¡¥å¡«ä¿®è®¢å…³ç³»: knowledge_doc_id=u    â†’ superseded_by=u   è¡¥å¡«å¤±è´¥: knowledge_doc_id=z error=u   âœ“ Phase 2b å®Œæˆï¼šè¡¥å¡« u    æ¡ä¿®è®¢å…³ç³»)Úis_phase_doner   Úinfor   Úexecuter   ÚfetchallÚlenÚhttpxÚClientÚfetchoneÚdebugÚputÚraise_for_statusÚ	ExceptionÚerrorÚtimeÚsleepr   Úmark_phase_done)r
   r   r   r   ÚupdatedÚdbÚrowsÚclientÚrowÚtax_idÚknowledge_doc_idÚsuperseded_by_dc_idÚresultÚsuperseded_by_kb_idÚrespÚe© r3   úV/lsinfo/ai/hellotax_ai/data_center/backend/app/services/import_kb/phase2b_relations.pyÚrun_phase2b   sV   

úþ

þýÿþ"€ÿåÿr5   )Ú__doc__Úasyncior$   Úlogurur   Ú
sqlalchemyr   Úsqlalchemy.ormr   r   Úapp.databaser   Úapp.models.tax_datar   Úconfigr   r
   r	   Ústrr5   r3   r3   r3   r4   Ú<module>   s    