Кілька разів помилка моделюється при наступних вступних
1. Наш сервер (ліцензії можуть бути вже клаудні при цьому)
У лозі при цьому слід звернути увагу на ДВІ помилки
2024-07-07 13:26:52,777 (54799) [18] ERROR - Template:[{message} {method} {methodParams}] Values:[OrganizationSettings does not exist. You need to run POS synchronization at first.][/api/v2/getAccessToken][?userName=5294081&password=xxY%2B%5BYto&terminalId=86cf2a95-c2df-4963-b213-4c7ff3d037bc&protocol=20&type=1&rms=8.8.8001.0&machine=SYRVEPOS]
Необхідна первинна синхронізація POS.
Або інший варіант:
Error:Pos settings are not specified.; StackTrace:
в iikoCard5.Pos.Synchronization.Services.UniformSynchronizeService.SynchronizeInternal(Boolean needRecreateDb)
в iikoCard5.Pos.Synchronization.AbstractSynchronizeService.Synchronize(Boolean needRecreateDb);
ERROR - RabbitMq command failed: RabbitMQ: Cannot establish connection with corpit:*****@posmq.iiko.biz:5671. Вирішення:
1) Увійти в web-морду сервера, а саме: /resto/service/maintance/groovy.jsp
2) Прогнати скрипт:
import com.google.common.collect.Iterables; import resto.core.RestoServiceLocator; import resto.db.EntitiesDatabaseSynchronizer; import resto.db.EntityManager; import resto.front.card_processing.iikoCard51.IikoCard51Settings; EntityManager em = RestoServiceLocator.get(EntityManager.class); em.runTransacted() { IikoCard51Settings settings = Iterables.getOnlyElement(em.getAllNotDeletedCopy(IikoCard51Settings.class)); settings.updating(); settings.update(); settings.setMainServerAddress("https://loyalty.syrve.live";); settings.setUseDefaultMqCredentials(false); settings.setMqHost("loyaltymq.syrve.live"); settings.setMqPort(5671); settings.setMqProtocol("amqps"); settings.setMqLogin("corpit"); settings.setMqPassword("xGh4RApm7v"); settings.updating(); settings.update(); out.println("Settings updated."); }; RestoServiceLocator.get(EntitiesDatabaseSynchronizer.class).flushNow(); out.println("Settings flushed."); import com.google.common.collect.Iterables
import resto.core.RestoServiceLocator
import resto.db.EntitiesDatabaseSynchronizer
import resto.db.EntityManager
import resto.front.card_processing.iikoCard51.IikoCard51Settings
EntityManager em = RestoServiceLocator.get(EntityManager.class)
em.runTransacted {
IikoCard51Settings settings =
Iterables.getOnlyElement(em.getAllNotDeletedCopy(IikoCard51Settings.class))
settings.updating()
settings.setMainServerAddress("https://loyalty.syrve.live")
settings.setUseDefaultMqCredentials(false)
settings.setMqHost("loyaltymq.syrve.live")
settings.setMqPort(5671)
settings.setMqProtocol("amqps")
settings.setMqLogin("corpit")
settings.setMqPassword("xGh4RApm7v")
settings.update()
out.println("Settings updated.")
}
RestoServiceLocator
.get(EntitiesDatabaseSynchronizer.class)
.flushNow()
out.println("Settings flushed.") import com.google.common.collect.Iterables
import resto.core.RestoServiceLocator
import resto.db.EntitiesDatabaseSynchronizer
import resto.db.EntityManager
import resto.front.card_processing.iikoCard51.IikoCard51Settings
def em = RestoServiceLocator.get(EntityManager)
em.runTransacted({
IikoCard51Settings settings =
Iterables.getOnlyElement(em.getAllNotDeletedCopy(IikoCard51Settings))
settings.updating()
settings.update()
settings.setMainServerAddress("https://loyalty.syrve.live";)
settings.setUseDefaultMqCredentials(false)
settings.setMqHost("loyaltymq.syrve.live")
settings.setMqPort(5671)
settings.setMqProtocol("amqps")
settings.setMqLogin("corpit")
settings.setMqPassword("xGh4RApm7v")
settings.updating()
settings.update()
println "Settings updated."
} as Runnable)
RestoServiceLocator.get(EntitiesDatabaseSynchronizer).flushNow()
println "Settings flushed." Script output:
Settings updated. Settings flushed.