2 Commits c09e208440 ... 31af320388

Author SHA1 Message Date
  blezz-tech 31af320388 reminder for tickets with status IN_PROCESS 2 weeks ago
  blezz-tech c09e208440 reminder for tickets with status IN_PROCESS 2 weeks ago
1 changed files with 31 additions and 28 deletions
  1. 31 28
      handlers/st_request_in_process.py

+ 31 - 28
handlers/st_request_in_process.py

@@ -30,46 +30,49 @@ def send_reminder(user, ticket):
     message = f"Напоминание: необходимо принять решение по тикету {ticket.id}"
 
     # Здесь должен быть код для отправки сообщения пользователю
-    bot.send_notification("st_request_in_process@ej.sharix-app.org", "message")
+
+    bot.send_notification("st_request_in_process@ej.sharix-app.org", message)
 
     print(f"Отправлено напоминание пользователю {user} о тикете {ticket.id}")
 
-# def send_wontfix_notification(user, ticket):
-#     message = f"Уведомление: тикет {ticket.id} был отмечен как WONTFIX из-за отсутствия действий"
-#     # Здесь должен быть код для отправки сообщения пользователю
-#     print(f"Отправлено уведомление пользователю {user} о WONTFIX для тикета {ticket.id}")
+def send_wontfix_notification(user, ticket):
+    message = f"Уведомление: тикет {ticket.id} был отмечен как WONTFIX из-за отсутствия действий"
+
+    # Здесь должен быть код для отправки сообщения пользователю
+
+    bot.send_notification("st_request_in_process@ej.sharix-app.org", message)
 
-def process_in_progress_ticket(ticket, max_reminders, default_reminder_interval, is_infinite_reminder, start_time):
-    bot.bot_log(botname+" "+str(datetime.now())+" "+"Тикет в обработчике\n")
+    print(f"Отправлено уведомление пользователю {user} о WONTFIX для тикета {ticket.id}")
+
+
+
+def process_in_progress_ticket(ticket, start_time):
     tickets_new=jsreq.requestGetTicket_user(token, config.API_URL+f"tickets/api/ticket_list/{ticket.id}")
-    if tickets_new:
-        if not ticket.id in tickets:
-            tickets[ticket.id] = {}
-        for ticket_new in tickets_new:
-            if ticket_new.id in tickets[ticket.id]:
-                tickets[ticket.id][ticket_new.id] = {
-                    "reminders": 0,
-                    "last_date_reminder": start_time
-                }
-            
-            if is_infinite_reminder or tickets[ticket.id][ticket_new.id]['reminders'] < max_reminders:
-                if (start_time - tickets[ticket.id][ticket_new.id]["last_date_reminder"]) > default_reminder_interval:
-                    send_reminder("st_request_in_process@ej.sharix-app.org", ticket_new)
-
-                    tickets[ticket.id][ticket_new.id]["reminders"] += 1
-                    tickets[ticket.id][ticket_new.id]["last_date_reminder"] += start_time
-            elif not is_infinite_reminder and tickets[ticket.id][ticket_new.id]['reminders'] >= max_reminders:
-                del tickets[ticket.id][ticket_new.id] 
-                # Функция смены статуса на WONTFIX
+    for ticket_new in tickets_new:
+        if ticket_new.id in tickets:
+            tickets[ticket_new.id] = {
+                "reminders": 0,
+                "last_date_reminder": start_time
+            }
+        
+        if IS_INFINITE_REMINDER or tickets[ticket_new.id]['reminders'] < MAX_REMINDERS:
+            if (start_time - tickets[ticket_new.id]["last_date_reminder"]) > DEFAULT_REMINDER_INTERVAL:
+                send_reminder("st_request_in_process@ej.sharix-app.org", ticket_new)
+
+                tickets[ticket_new.id]["reminders"] += 1
+                tickets[ticket_new.id]["last_date_reminder"] += start_time
+        elif not IS_INFINITE_REMINDER and tickets[ticket_new.id]['reminders'] >= MAX_REMINDERS:
+            del tickets[ticket_new.id] 
+            # Функция смены статуса на WONTFIX
 
 
 def status_changer():
     while True:
         ticketlist = jsreq.requestGetList(token, config.API_URL + "tickets/api/ticket_list/")
         for ticket in ticketlist:
-            bot.bot_log(f"{botname} {datetime.now().strftime('%Y-%m-%d')} Тикет {ticket.id} в обработке\n")
             start_time = datetime.now()
-            t1 = threading.Thread(target=process_in_progress_ticket, args=(ticket, MAX_REMINDERS, DEFAULT_REMINDER_INTERVAL, IS_INFINITE_REMINDER, start_time))
+            bot.bot_log(f"{botname} {start_time.strftime('%Y-%m-%d')} Тикет {ticket.id} в обработке\n")
+            t1 = threading.Thread(target=process_in_progress_ticket, args=(ticket, start_time))
             t1.start()
             t1.join()  # Ожидаем завершения обработки тикета
         time.sleep(DEFAULT_CHECK_INTERVAL)