|
@@ -14,7 +14,6 @@ import threading
|
|
import jsonAndRequest as jsreq
|
|
import jsonAndRequest as jsreq
|
|
|
|
|
|
global tasklist
|
|
global tasklist
|
|
-global process_status
|
|
|
|
|
|
|
|
#В этом файле содержится только то, что запускает конкретный обработчик
|
|
#В этом файле содержится только то, что запускает конкретный обработчик
|
|
|
|
|
|
@@ -54,7 +53,6 @@ def message_handler(conn, mess):
|
|
orderObj = jsreq.jsonToOrderTicket(text)
|
|
orderObj = jsreq.jsonToOrderTicket(text)
|
|
print (orderObj)
|
|
print (orderObj)
|
|
tasklist.append(orderObj)
|
|
tasklist.append(orderObj)
|
|
- #process_status.append(0)
|
|
|
|
bot.bot_log(str(datetime.now())+" Поступивший заказ успешно добавлен в очередь обработки\n")
|
|
bot.bot_log(str(datetime.now())+" Поступивший заказ успешно добавлен в очередь обработки\n")
|
|
|
|
|
|
def open_bot_template_wait(period, i,localtask):
|
|
def open_bot_template_wait(period, i,localtask):
|
|
@@ -65,8 +63,7 @@ def open_bot_template_wait(period, i,localtask):
|
|
localtask.title=localtask.title+"1"
|
|
localtask.title=localtask.title+"1"
|
|
|
|
|
|
#обязательно данный обработчик должен заканчиваться передачей заказа куда-то на обработку дальше - обратно или другому, иначе оно потеряется
|
|
#обязательно данный обработчик должен заканчиваться передачей заказа куда-то на обработку дальше - обратно или другому, иначе оно потеряется
|
|
- jsonTicket = json.dumps(localtask.__dict__)
|
|
|
|
- bot.proceed_status(proceed_to[0],jsonTicket)
|
|
|
|
|
|
+ bot.proceed_status(proceed_to[0],localtask)
|
|
bot.bot_log(botname+" "+str(datetime.now())+" "+str(i)+" "+"Заказ подождал и возвращен в очередь\n")
|
|
bot.bot_log(botname+" "+str(datetime.now())+" "+str(i)+" "+"Заказ подождал и возвращен в очередь\n")
|
|
|
|
|
|
def open_bot_template_process(localtask):
|
|
def open_bot_template_process(localtask):
|
|
@@ -75,8 +72,7 @@ def open_bot_template_process(localtask):
|
|
#ВАЖНО! Надо через API редактировать заказ, иначе возможна потеря данных
|
|
#ВАЖНО! Надо через API редактировать заказ, иначе возможна потеря данных
|
|
#localtask.title +=1
|
|
#localtask.title +=1
|
|
|
|
|
|
- jsonTicket = json.dumps(localtask.__dict__)
|
|
|
|
- bot.proceed_status(proceed_to[1],jsonTicket)
|
|
|
|
|
|
+ bot.proceed_status(proceed_to[1],localtask)
|
|
bot.bot_log(botname+" "+str(datetime.now())+" "+str(i)+" "+"Заказ успешно обработан\n")
|
|
bot.bot_log(botname+" "+str(datetime.now())+" "+str(i)+" "+"Заказ успешно обработан\n")
|
|
|
|
|
|
|
|
|
|
@@ -86,13 +82,11 @@ def open_bot_template():
|
|
#проверяем элемент tasklist[i]
|
|
#проверяем элемент tasklist[i]
|
|
bot.bot_log(botname + " " + datetime.now().strftime('%Y-%m-%d') + " " + str(i) + " " + "Заказ в очереди на обработке\n")
|
|
bot.bot_log(botname + " " + datetime.now().strftime('%Y-%m-%d') + " " + str(i) + " " + "Заказ в очереди на обработке\n")
|
|
print ("EACH TASKLIST", tasklist[i])
|
|
print ("EACH TASKLIST", tasklist[i])
|
|
- #print ("EACH TASKLIST", tasklist[i], process_status[i])
|
|
|
|
localtask=tasklist.pop(i)
|
|
localtask=tasklist.pop(i)
|
|
|
|
|
|
#если боту почему-то пришла не его заявка - это явно ошибка движения процессов и отдаем в форсмажор - этот обработчик указывать стоит всегда последним
|
|
#если боту почему-то пришла не его заявка - это явно ошибка движения процессов и отдаем в форсмажор - этот обработчик указывать стоит всегда последним
|
|
if (localtask.status!=operating_status):
|
|
if (localtask.status!=operating_status):
|
|
- jsonTicket = json.dumps(localtask.__dict__)
|
|
|
|
- bot.proceed_status(proceed_to[-1],jsonTicket)
|
|
|
|
|
|
+ bot.proceed_status(proceed_to[-1],localtask)
|
|
bot.bot_log(botname+" "+str(datetime.now())+" "+str(i)+" "+"Заказ не по адресу, перенаправляем на форсмажор\n")
|
|
bot.bot_log(botname+" "+str(datetime.now())+" "+str(i)+" "+"Заказ не по адресу, перенаправляем на форсмажор\n")
|
|
continue
|
|
continue
|
|
|
|
|
|
@@ -105,8 +99,7 @@ def open_bot_template():
|
|
t1.start()
|
|
t1.start()
|
|
|
|
|
|
#если никакие обработчики не подошли - отправляем обратно в очередь
|
|
#если никакие обработчики не подошли - отправляем обратно в очередь
|
|
- jsonTicket = json.dumps(localtask.__dict__)
|
|
|
|
- bot.proceed_status(proceed_to[0],jsonTicket)
|
|
|
|
|
|
+ bot.proceed_status(proceed_to[0],localtask)
|
|
print("Заказ возвращен в очередь\n")
|
|
print("Заказ возвращен в очередь\n")
|
|
print (tasklist)
|
|
print (tasklist)
|
|
|
|
|
|
@@ -117,26 +110,15 @@ tasklist = []
|
|
|
|
|
|
#надо инициализировать tasklist при запуске из API
|
|
#надо инициализировать tasklist при запуске из API
|
|
token = jsreq.requestGetToken(botname, PASSWORD, config.API_URL+"/auth/token/login/")
|
|
token = jsreq.requestGetToken(botname, PASSWORD, config.API_URL+"/auth/token/login/")
|
|
-#requestGetList(token, API_URL+"/tickets/api/tickets")
|
|
|
|
|
|
|
|
#ВАЖНО! Надо еще фильтровать список по статусу обработки заявки
|
|
#ВАЖНО! Надо еще фильтровать список по статусу обработки заявки
|
|
tasklist=jsreq.requestGetList(token, config.API_URL+"/tickets/api/tickets/?list_id=10")
|
|
tasklist=jsreq.requestGetList(token, config.API_URL+"/tickets/api/tickets/?list_id=10")
|
|
#tasklist=jsreq.requestGetList(token, config.API_URL+"/tickets/api/tickets")
|
|
#tasklist=jsreq.requestGetList(token, config.API_URL+"/tickets/api/tickets")
|
|
-#надо дописать таким образом, чтобы tasklist пополнялся тикетами определенного листа, а не всех
|
|
|
|
-#print ("TASKLIST ", tasklist)
|
|
|
|
print (len(tasklist))
|
|
print (len(tasklist))
|
|
|
|
|
|
-#список статусов обработки заказов
|
|
|
|
-#process_status = []
|
|
|
|
-#while len(process_status)<len(tasklist):
|
|
|
|
-# process_status.append(0)
|
|
|
|
-
|
|
|
|
|
|
|
|
bot = JabberBot(JID, PASSWORD, PORT)
|
|
bot = JabberBot(JID, PASSWORD, PORT)
|
|
|
|
|
|
-#загружаем список заказов для обработки из базы (по идее, сюда попадаем в случае первого запуска или перезапуска)
|
|
|
|
-bot.fake_api_call("Получаем список заказов по названию бота-обработчика")
|
|
|
|
-
|
|
|
|
bot.register_handler('message', message_handler)
|
|
bot.register_handler('message', message_handler)
|
|
bot.start(open_bot_template)
|
|
bot.start(open_bot_template)
|
|
|
|
|