a
    à<.j  ã                   @   s<   d dl Z d dlZd dlmZmZmZmZ dd„ Zdd„ ZdS )é    N)Úregistrar_logÚenviar_whatsappÚconsultar_deepseekÚobter_mensagem_dbc                    st   |   ¡ ‰ t‡ fdd„dD ƒƒr"dS t‡ fdd„dD ƒƒr<dS t‡ fdd„d	D ƒƒrVd
S t‡ fdd„dD ƒƒrpdS d S )Nc                 3   s   | ]}|ˆ v V  qd S ©N© ©Ú.0Úp©Úmsgr   ú$/var/www/html/fluxo_classificacao.pyÚ	<genexpr>
   ó    z$classificar_local.<locals>.<genexpr>)ZboletoZfaturaZpagaru	   cobranÃ§aZpixu   cÃ³digo de barraszcodigo de barrasÚ
FINANCEIROc                 3   s   | ]}|ˆ v V  qd S r   r   r   r   r   r   r      r   )ZlentoZcaiuZquedazsem internetÚsuporteZtecnicoÚSUPORTEc                 3   s   | ]}|ˆ v V  qd S r   r   r   r   r   r   r      r   )Z	contratarZplanoZassinarÚvendasÚVENDASc                 3   s   | ]}|ˆ v V  qd S r   r   r   r   r   r   r      r   )ÚencerrarZsairZtchauÚENCERRAR)ÚlowerÚany)Úmensagemr   r   r   Úclassificar_local   s    r   c                 C   sÆ  |d }|d }|  dd¡}|  d¡}	|	r4t |	¡ni }
|dkrÂt|ƒ}|sšt|dƒ}|ršt|||ƒ}|r‚t|tƒr‚|  d¡}n|r–t|tƒr–|}nd }|s¢d}t|tƒr´| 	¡ nd}t
d	d
|› ƒ ddddddddœ}|  |d¡}|dkrt||dƒ | d|f¡ |  ¡  d S | d| 	¡ |f¡ |  ¡  zDt d|› ¡}t|ƒ}| 	¡ |d< d|d< | | |||||¡ W nH tyÀ   t
d	d|› dƒ t||dƒ | d|f¡ |  ¡  Y n0 d S )NÚidÚcliente_numeroÚestado_atualZAGUARDANDO_MENSAGEMÚcontexto_jsonZprompt_classificacao_internaZdecisaoÚGERALZCLASSIFICACAOu   IntenÃ§Ã£o: Z
financeiror   r   Zgeralr   Zidentificacao)r   ZSUPORTE_TECNICOr   r   r   r   ZFUGA_RETORNOu!   Atendimento encerrado. AtÃ© logo!z:UPDATE atendimentos SET status = 'encerrado' WHERE id = %sz}
            UPDATE atendimentos
            SET fluxo_atual = %s, estado_atual = 'INICIO'
            WHERE id = %s
        Úfluxo_Úfluxo_atualÚINICIOu   MÃ³dulo fluxo_u    nÃ£o encontradozTransferindo para um atendente.z¶
                UPDATE atendimentos
                SET status = 'fila', setor_id = 1, fluxo_atual = 'HUMANO', estado_atual = 'AGUARDANDO'
                WHERE id = %s
            )ÚgetÚjsonÚloadsr   r   r   Ú
isinstanceÚdictÚstrÚupperr   r   ÚexecuteÚcommitÚ	importlibÚimport_moduleÚ	processarÚImportError)ÚconnÚcursorÚjobÚatendimentoÚconfigsÚmensagem_brutaÚatendimento_idÚnumeroÚestadoÚraw_ctxÚctxZintencaoÚprompt_sistemaZresposta_iaZ	fluxo_mapZfluxo_destinoÚmoduloÚ
novo_atendr   r   r   r.      sf    


ù


üür.   )	r$   r,   Úutils_hibridor   r   r   r   r   r.   r   r   r   r   Ú<module>   s   