forum.bitel.ru http://forum.bitel.ru/ |
|
Создание договора при авторизации в ЛК http://forum.bitel.ru/viewtopic.php?f=19&t=12304 |
Страница 1 из 1 |
Автор: | Bazhutyan [ 20 мар 2017, 19:01 ] |
Заголовок сообщения: | Создание договора при авторизации в ЛК |
Мне нужно, чтобы при авторизации в ЛК, т.е. когда вводят логин/пароль (авторизация по модулю Inet) и такого логина еще нет, то создавался бы договор по шаблону и указанным логином и паролем. Через свой ModuleAuth не получится, т.к. туда не передаётся пароль. Какие варианты есть? BGAuthFilter или можно как-то попроще? |
Автор: | skn [ 20 мар 2017, 19:22 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
а если человек опечатается в пароле, как он потом в ЛК попадет? |
Автор: | Bazhutyan [ 20 мар 2017, 19:30 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
skn писал(а): а если человек опечатается в пароле, как он потом в ЛК попадет? Никак. Придумает новый логин и сгенерится новый договор. Это нужно для предоставления платного WiFi в местах где нет сотовой связи и соответственно нет смс. Клиента редиректит на страницу входа в ЛК, он попадет в ЛК с придуманным логином/паролём, выбирает тариф, оплачивает банковской картой услугу через платёжный модуль и ему включается интернет. |
Автор: | skn [ 20 мар 2017, 20:27 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
вход в ЛК и регистрация это должно быть две разные формы если при ошибке ввода логина и пароля человек будет попадать в новый ЛК или его будет не пускать у вас же потом будет куча лишних вопросов... |
Автор: | skn [ 20 мар 2017, 20:29 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
Bazhutyan писал(а): skn писал(а): а если человек опечатается в пароле, как он потом в ЛК попадет? Никак. Придумает новый логин и сгенерится новый договор. Это нужно для предоставления платного WiFi в местах где нет сотовой связи и соответственно нет смс. Клиента редиректит на страницу входа в ЛК, он попадет в ЛК с придуманным логином/паролём, выбирает тариф, оплачивает банковской картой услугу через платёжный модуль и ему включается интернет. обычно оплатой банковской картой требует подтверждения СМС, но СМС нет... странно |
Автор: | Bazhutyan [ 20 мар 2017, 21:01 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
skn писал(а): обычно оплатой банковской картой требует подтверждения СМС, но СМС нет... странно Это туристический объект, популярный у иностранцев, есть спутниковый канал и всё. У иностранных банков смс используется редко. |
Автор: | Bazhutyan [ 21 мар 2017, 08:34 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
И всё-таки, как сделать создание договора при авторизации в ЛК? |
Автор: | Bazhutyan [ 18 авг 2017, 04:39 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
В продолжении этой темы появилась одна проблема. Договор создаётся по событию WiFiActivateEvent. Абонент заполняет ФИО и Телефон и создаётся договор с этими параметрами, в частности логином в InetServ является номер телефона. Проблема в том, что иногда события с одинаковыми параметрами происходят почти одновременно и выполняются параллельно. Я не знаю из-за чего это происходит, возможно абонент на странице регистрации два раза успевает кнопку нажать, а может и не в этом дело. Но получается, что код проверки существования договора с такими же параметрами выполняется одновременно и в итоге создаются два договора с одинаковыми параметрами. Что придумать можно, чтобы этого избежать? Вот недавний пример: Код: 08-17/16:33:36 INFO [http-bio-0.0.0.0-8080-exec-3] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.wifi.common.event.WiFiActivateEvent 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-3] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.R 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-3] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.invento 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-3] myActivation - service with login 9993352354 not found 08-17/16:33:36 INFO [dyn-clss-evnt-lstnr-p-4-t-3] CommonKernelEventProcessor - Process event cid:0; event:Event[ru.bitel.bgbilling.kernel.event.events.system.ContractCreateEvent] moduleId: 0; pluginId: no; cid: 0; scid: -1; userId: 0; timestamp: 1502944416875 08-17/16:33:36 INFO [http-bio-0.0.0.0-8080-exec-2] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.wifi.common.event.WiFiActivateEvent 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-3] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.devicePortService ru.bitel.oss.systems.inventory. 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-3] ResourceManager - Inject to ru.bitel.bgbilling.modules.inet.api.common.service.InetServService ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.inetServService ru.bitel.bgbilling.modules.inet.api. 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-4] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.R 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-4] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.invento 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-4] myActivation - service with login 9993352354 not found 08-17/16:33:36 INFO [dyn-clss-evnt-lstnr-p-4-t-4] CommonKernelEventProcessor - Process event cid:0; event:Event[ru.bitel.bgbilling.kernel.event.events.system.ContractCreateEvent] moduleId: 0; pluginId: no; cid: 0; scid: -1; userId: 0; timestamp: 1502944416941 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-4] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.devicePortService ru.bitel.oss.systems.inventory. 08-17/16:33:36 DEBUG [dyn-clss-evnt-lstnr-p-4-t-4] ResourceManager - Inject to ru.bitel.bgbilling.modules.inet.api.common.service.InetServService ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.inetServService ru.bitel.bgbilling.modules.inet.api. 08-17/16:33:36 INFO [dyn-clss-evnt-lstnr-p-4-t-4] CommonKernelEventProcessor - Process event cid:293; event:Event[ru.bitel.bgbilling.kernel.event.events.system.ContractCreateEvent] moduleId: 0; pluginId: no; cid: 293; scid: -1; userId: 0; timestamp: 1502944416989 08-17/16:33:37 INFO [dyn-clss-evnt-lstnr-p-4-t-3] CommonKernelEventProcessor - Process event cid:292; event:Event[ru.bitel.bgbilling.kernel.event.events.system.ContractCreateEvent] moduleId: 0; pluginId: no; cid: 292; scid: -1; userId: 0; timestamp: 1502944417063 08-17/16:33:38 INFO [http-bio-0.0.0.0-8080-exec-3] ScriptEventListener - Process time => 1503 08-17/16:33:38 INFO [http-bio-0.0.0.0-8080-exec-3] ScriptEventListener - WiFi Activation {phone=9993352354, fio=Иванов Иван Ивнович} fio=Иванов Иван Ивнович phone=9993352354 договор не найден, создаем новый sms: логин: 9993352354, пароль: BrnGVX result 0 = 63998 result 1 = 1 result 2 = 1.7 result 3 = 94849.104 id = 63998 sms count = 1 cost = 1.7 balance = 94849.104 08-17/16:33:38 INFO [http-bio-0.0.0.0-8080-exec-2] ScriptEventListener - Process time => 1670 08-17/16:33:38 INFO [http-bio-0.0.0.0-8080-exec-2] ScriptEventListener - WiFi Activation {phone=9993352354, fio=Иванов Иван Ивнович} fio=Иванов Иван Ивнович phone=9993352354 договор не найден, создаем новый sms: логин: 9993352354, пароль: 7G3pCT result 0 = 63999 result 1 = 1 result 2 = 1.7 result 3 = 94847.404 id = 63999 sms count = 1 cost = 1.7 balance = 94847.404 Вот в логах сообщение Код: myActivation - service with login 9993352354 not found это проверка в самом начале события
|
Автор: | Bazhutyan [ 04 сен 2017, 11:11 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
up |
Автор: | stark [ 26 сен 2017, 17:28 ] |
Заголовок сообщения: | Re: Создание договора при авторизации в ЛК |
Bazhutyan писал(а): В продолжении этой темы появилась одна проблема. Договор создаётся по событию WiFiActivateEvent. Абонент заполняет ФИО и Телефон и создаётся договор с этими параметрами, в частности логином в InetServ является номер телефона. Проблема в том, что иногда события с одинаковыми параметрами происходят почти одновременно и выполняются параллельно. Я не знаю из-за чего это происходит, возможно абонент на странице регистрации два раза успевает кнопку нажать, а может и не в этом дело. Но получается, что код проверки существования договора с такими же параметрами выполняется одновременно и в итоге создаются два договора с одинаковыми параметрами. Что придумать можно, чтобы этого избежать? Я сталкивался с таким тоже, когда тоже в скрипте создавались договоры для WiFi. Можно просто синхронизовать это место ( на уровне метода или объекта). Вот тут есть пример ( synchronized): http://wiki.bitel.ru/index.php/WiFi-%D0 ... %B7_assist |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |