
    .%h1                        d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
mZ d dlm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  e       Z G d de      Z G d de      Zej7                  de       ee       ee      fdededefd       Zej;                  d       ee       ee      fdedefd       Zy	)    )	APIRouterDependsHTTPException)Session)	BaseModelEmailStr)OptionalLiteral)datetime)get_db)get_current_user)UserN)MIMEText)MIMEMultipartc                       e Zd ZU ed   ed<   eed<   eed<   ed   ed<   dZee   ed<   dZ	ee   ed	<   dZ
ee   ed
<   eed<   y)FeedbackCreatebugfeaturequestionpaymentintegrationothercategorysubjectmessage)emailtelegramvkchannelNcontact_emailcontact_telegram
contact_vk	timestamp)__name__
__module____qualname__r
   __annotations__strr!   r	   r   r"   r#        */var/www/notifications/app/api/feedback.pyr   r      sU    UVVLL.//(,M8H%,&*hsm* $J$Nr+   r   c                   6    e Zd ZU eed<   eed<   dZee   ed<   y)FeedbackResponsesuccessr   N	ticket_id)r%   r&   r'   boolr(   r)   r0   r	   r*   r+   r,   r.   r.      s    ML#Ix}#r+   r.    )response_modelfeedbackcurrent_userdbc                   K   dt        j                         j                  d       d|j                   dt        j                         j                  d       }d}| j                  dk(  r| j
                  r| j
                  }nO| j                  dk(  r| j                  r| j                  }n'| j                  dk(  r| j                  r| j                  }d	}d
dddddd}d| d|j                  | j                  | j                         d| j                   d|j                   d|j                   d| j                  j                          d| d| j                   d| j                  j!                  t#        d      d       d}d| d|j                  | j                  | j                         d| j                   d |j                   d!|j                   d"| j                  j                          d#| d$| j                   d%| j                   d&}	 t%        d'|        t%        d(| j                          t%        d)| j                          t%        d*|        t%        d+| j                          t%        d,| j                  d-d.  d/       t'        d0d1|2      S # t(        $ r }	t%        d3|	        t+        d4d56      d-}	~	ww xY ww)7uP   
    Создание обращения в службу поддержки
    zTKT-z%Y%m%d-z%H%M%Sr2   r   r   r   zsupport@company.comu!   🐛 Ошибка в работеu3   💡 Предложение по улучшениюu0   ❓ Вопрос по использованиюu#   💳 Вопрос по оплатеu+   🔌 Помощь с интеграциейu   📝 Другоеr   u  
    <html>
    <body style="font-family: Arial, sans-serif; line-height: 1.6; color: #333;">
        <div style="max-width: 600px; margin: 0 auto; padding: 20px;">
            <h2 style="color: #1890ff;">Новое обращение в службу поддержки</h2>
            
            <div style="background: #f5f5f5; padding: 15px; border-radius: 5px; margin: 20px 0;">
                <p><strong>Ticket ID:</strong> u=   </p>
                <p><strong>Категория:</strong> u3   </p>
                <p><strong>Дата:</strong> u   </p>
            </div>
            
            <div style="margin: 20px 0;">
                <h3>Информация о пользователе:</h3>
                <p><strong>Email:</strong> z1</p>
                <p><strong>Tenant:</strong> u@   </p>
                <p><strong>Канал связи:</strong> u9   </p>
                <p><strong>Контакт:</strong> u   </p>
            </div>
            
            <div style="margin: 20px 0;">
                <h3>Тема обращения:</h3>
                <p style="font-size: 16px;"><strong>u   </strong></p>
            </div>
            
            <div style="margin: 20px 0;">
                <h3>Сообщение:</h3>
                <div style="background: white; padding: 15px; border-left: 3px solid #1890ff;">
                    
   z<br>u&  
                </div>
            </div>
            
            <hr style="margin: 30px 0; border: none; border-top: 1px solid #ddd;">
            
            <p style="color: #666; font-size: 12px;">
                Это автоматическое сообщение от системы уведомлений.<br>
                Пожалуйста, ответьте пользователю через указанный канал связи в течение 24 часов.
            </p>
        </div>
    </body>
    </html>
    uN   
Новое обращение в службу поддержки

Ticket ID: u   
Категория: u   
Дата: u;   

Информация о пользователе:
Email: z	
Tenant: u   
Канал связи: u   
Контакт: u   

Тема: u   

Сообщение:
u  

---
Это автоматическое сообщение от системы уведомлений.
Пожалуйста, ответьте пользователю через указанный канал связи в течение 24 часов.
    u   📧 New feedback ticket: z
Category: z	Channel: z	Contact: z	Subject: z	Message: Nd   z...Tut   Спасибо за обратную связь! Мы свяжемся с вами в ближайшее время.)r/   r   r0   zError sending feedback: i  u   Ошибка при отправке сообщения. Пожалуйста, попробуйте позже или напишите напрямую на support@company.com)status_codedetail)r   nowstrftimeidr    r!   r"   r#   getr   r$   r   	tenant_idupperr   r   replacechrprintr.   	Exceptionr   )
r4   r5   r6   r0   contact_infosupport_emailcategory_labelshtml_contenttext_contentes
             r,   create_feedbackrM   !   s?     x||~..x89<??:K1X\\^MdMdemMnLopI L7"x'='=--			Z	'H,E,E00			T	!h&9&9** *M 3HF8D$O0 1:{ ;99H9L9LXM^M^`h`q`q9r8s t//7/A/A.B C,
 -9,>,>+? @--9-C-C,D E<<D<L<L<R<R<T;U V55AN C5
 6>5E5E4F G %%--c"gv>? @9)LX ; $(():):H<M<MNO P
  	 				  ! ((..01 2 
  
  !L.0
 	*9+67
8,,-./	(**+,-	,()	(**+,-	(**4C01564   K
 	
  
(,- F
 	

s+   HK
BJ K
	K'KKK
z/ticketsc                    K   g ddS w)ud   
    Получить список обращений текущего пользователя
    u5   История обращений пока пуста)ticketsr   r*   )r5   r6   s     r,   get_user_ticketsrP      s      J s   )fastapir   r   r   sqlalchemy.ormr   pydanticr   r   typingr	   r
   r   app.db.sessionr   app.api.depsr   app.db.modelsr   smtplibemail.mime.textr   email.mime.multipartr   routerr   r.   postrM   r@   rP   r*   r+   r,   <module>r]      s    5 5 " ( $  ! )   $ .	Y $y $ R 01 !!12&/V
V
V
 	V
 2V
r J !12&/ r+   