o
    Ղi                     @   s   d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZmZmZmZ ddlmZ ddlmZ G dd deZG d	d
 d
eZG dd deZG dd deZG dd deZdS )u   税务数据模型    )datetime)Optional)ColumnIntegerStringTextDateTimeBooleanDateJSONFloat
ForeignKeyIndex)func)Basec                   @   s   e Zd ZdZdZeeddZeeddddZ	eeddd	Z
eed
dd	Zeed
dd	Zeed
Zeeddd	ZeeZeeddZeedZeeddZeeddZeeddZeeddZeeZeee dZdS )
DataSourceu   数据源配置表data_sourcesT)primary_key2   F)uniquenullable   r      defaultg      ?g      @   N)__name__
__module____qualname____doc____tablename__r   r   idr   codenamesource_typeregion_levelregion_codeadapter_classr   adapter_configr	   has_categoriescrawl_scheduler   request_delay_minrequest_delay_maxmax_retries	is_activer   last_crawled_atr   now
created_at r3   r3   C/lsinfo/ai/hellotax_ai/data_center/backend/./app/models/tax_data.pyr      s&    r   c                   @   s   e Zd ZdZdZeedddZeedddddZ	eeddZ
eeed	ddZeed
ddZeed
dddZeeddZeeddZeeddZeeddZeeZeeZeeZeee dZeee e dZeddeddfZdS )DataProcessingTasku   数据处理任务表data_processing_tasksTr   indexr   Fr   r8   r   r8   data_sources.idr   r   pending)r   r   r   r   r   onupdateidx_task_statusstatusidx_task_createdr2   N)r   r   r   r    r!   r   r   r"   r   task_idcategory_idr   	source_idmoder@   progresstotal_countsuccess_countfailed_countr   error_messager   
started_atcompleted_atr   r1   r2   
updated_atr   __table_args__r3   r3   r3   r4   r5   0   s*    r5   c                   @   s  e Zd ZdZdZeedddZeedddddZ	eedddZ
eed	dd
ZeedddZeedZeeZeeZeeddd
ZeeZeedZeedZeedZeeZeeZeeZeeZeeZeedZeeZeeZeeZ eedddZ!eee"ddd
Z#eeddd
Z$eeddd
Z%eeZ&eeZ'eeddd
Z(eedddZ)eedZ*ee+Z,ee-ddZ.eeZ/ee+e01 dZ2ee+e01 e01 dZ3e4dde4dde4dde4dde4dde4ddfZ5d S )!TaxDocumentu   税务文档记录表tax_documentsTr7     Fr9   )r8   r   d   r:   r   r   r   normalr   r;   r<   @   r=   idx_doc_categoryrC   idx_doc_statusprocessing_statusidx_doc_importedis_importedidx_doc_issue_date
issue_dateidx_doc_hashcontent_hashidx_doc_interp_forminterpretation_formN)6r   r   r   r    r!   r   r   r"   r   
source_urlrC   
doc_numbertitleissuing_authorityr
   r[   effective_date
doc_statussuperseded_by_doc_idsuperseded_by_doc_numbersuperseded_by_titlesuperseded_by_source_urlr   content_htmlcontent_markdowncontent_textr   
supersedes
references	file_pathattachmentsinline_imagesinline_videosfetch_strategyr   rD   doc_typer'   qa_question	qa_answerr_   rW   r]   r   last_check_timer	   rY   knowledge_doc_idr   r1   r2   rM   r   rN   r3   r3   r3   r4   rO   K   s\    rO   c                   @   sj   e Zd ZdZdZeedddZeeedddddd	Z	eedd
Z
eeZeee dZeddfZdS )TaxDocumentVersionu   文档版本历史表tax_document_versionsTr7   ztax_documents.idCASCADE)ondeleteF)r   r8   r   r   idx_docver_doc_iddoc_idN)r   r   r   r    r!   r   r   r"   r   r~   version_numberr   rk   r   r   r1   r2   r   rN   r3   r3   r3   r4   ry      s    
ry   c                   @   s   e Zd ZdZdZeedddZeedddZ	eedZ
eedd	d
Zeed	d
ZeeZeee dZeddeddeddfZdS )ProcessingLogu   处理日志表processing_logsTr7   r   r:   rQ   r   Fr   r   idx_log_taskrB   idx_log_level	log_levelidx_log_createdr2   N)r   r   r   r    r!   r   r   r"   r   rB   document_urlr   r   message	exceptionr   r   r1   r2   r   rN   r3   r3   r3   r4   r      s    r   N)r    r   typingr   
sqlalchemyr   r   r   r   r   r	   r
   r   r   r   r   sqlalchemy.sqlr   app.databaser   r   r5   rO   ry   r   r3   r3   r3   r4   <module>   s    4D