forum.bitel.ru
http://forum.bitel.ru/

странный глюк
http://forum.bitel.ru/viewtopic.php?f=21&t=9349
Страница 1 из 1

Автор:  bpoleg [ 18 июн 2014, 12:22 ]
Заголовок сообщения:  странный глюк

Доброе время суток.
Сделали автоматическое создание заявки переподключение при погашении долга. Но появился интересный глюк.
Код:
      if (contr.getStatus()!=0) {
          ContractAddressParamValue CAPV=cPM.getAddressParam(event_cid, 1);
         lg.logWrite("номер договора="+event_cid);
         lg.logWrite("contr.getStatus()="+contr.getStatus());
        String vParam = CAPV.getAddress();
        if (event1.getPayment().getSumma().compareTo(BigDecimal.valueOf(0.0))>0) {
             lg.logWrite("vParam="+vParam);
           RegisterTaskManager register_task_manager = new RegisterTaskManager(con);
           RegisterTask task = new RegisterTask();
              // Создали таск и заполним его
           task.setContractId( event_cid );
           task.setTypeId(12); // Задача с кодом 12 - 
           task.setGroupId(getGroup(con, event_cid)); // Группа решения    
           task.setOpenUserId( event1.getUserId()) ; // Пользователь, открывший задачу 0 - Сервер
             lg.logWrite("event1.getUserId()= "+event1.getUserId());
           task.setOpenTime( cl.getTime() ); // Задача создана - текущая дата!!!
           task.setComment( "Повторка" ); // Комментарий к задаче - определен выше
           task.setAddressParamId( 1 ); // Адрес установки - параметр договора 1
           cl.add(Calendar.DATE, 1);
           task.setTargetDate( cl.getTime()); //
              // запишем таск в базу
              register_task_manager.updateTask(task,task.getGroupId());      
          }
      }

Иногда, при автоматических платежах, event1.getUserId() выдает не id сервера =0 в какого-то левого пользователя, закрытого. Event1 это объект PaymentEvent event1.
Подскажите пожалуйста, куда смотреть?

Автор:  bpoleg [ 18 июн 2014, 12:22 ]
Заголовок сообщения:  Re: странный глюк

прошу прощения, забыл версия 5.2

Автор:  stark [ 18 июн 2014, 12:23 ]
Заголовок сообщения:  Re: странный глюк

А этот закрытый пользователь случайно не платит ?

Автор:  dimOn [ 18 июн 2014, 12:24 ]
Заголовок сообщения:  Re: странный глюк

так значит от этого юзера добавляется платёж. что за юзер? как так "закрытый"?

Автор:  dimOn [ 18 июн 2014, 12:25 ]
Заголовок сообщения:  Re: странный глюк

проверьте по журналу запросов например итд

Автор:  bpoleg [ 18 июн 2014, 12:33 ]
Заголовок сообщения:  Re: странный глюк

в журнале запросов смотрели, нет записей вообще по этой дате.
Платеж был от сбербанка.
в платежах стоит исполнитель "Сервер"
заходим в "crm - задачи" - исполнитель "Сервер", смотрим лог задачи, и тут выплывает левый пользователь.....

Автор:  stark [ 18 июн 2014, 12:42 ]
Заголовок сообщения:  Re: странный глюк

bpoleg писал(а):
в журнале запросов смотрели, нет записей вообще по этой дате.
Платеж был от сбербанка.
в платежах стоит исполнитель "Сервер"
заходим в "crm - задачи" - исполнитель "Сервер", смотрим лог задачи, и тут выплывает левый пользователь.....

А как платеж заносится ? какой-то скрипт или модуль ? или сторонняя система?

Автор:  dimOn [ 18 июн 2014, 12:55 ]
Заголовок сообщения:  Re: странный глюк

в платежах в смысле именно на этом платеже юзер - 0 (сервер), а в событии PaymentEvent пришёл другой юзер? с большой вероятностью вы что-то напутали

Автор:  bpoleg [ 18 июн 2014, 13:08 ]
Заголовок сообщения:  Re: странный глюк

в самом платеже в таблице contract_payment стоит uid=0
в таблице register_task у тасков, соответствующиъ этому платежу стоит open_uid=0
в таблице register_task_log стоит change_uid =24
вот тут я и запутался....

Автор:  dimOn [ 18 июн 2014, 13:17 ]
Заголовок сообщения:  Re: странный глюк

так у вас же setOpenUserId устанавливается в саму задачу, а не change_uid в register_task_log.
оно потом просто менялось тем юзером и всё, открыл и сохранил, например. предыдущую запись в логе (register_task_log) поглядите для этого task_id, их там две скорее всего
в этот лог пишется при каждом updateTask

Автор:  bpoleg [ 18 июн 2014, 13:28 ]
Заголовок сообщения:  Re: странный глюк

так куда посмотреть что бы тыкнуть пользователя носом?
И почему он зашел пользователем, который заблокирован?

Автор:  dimOn [ 18 июн 2014, 14:37 ]
Заголовок сообщения:  Re: странный глюк

так есть в register_task_log несколько записей с этим task_id? первый с нулём а далее с этим юзером?

Автор:  bpoleg [ 18 июн 2014, 14:51 ]
Заголовок сообщения:  Re: странный глюк

нет, нету.
только с отличным от 0 например 24

Автор:  dimOn [ 18 июн 2014, 15:09 ]
Заголовок сообщения:  Re: странный глюк

что значит, "например"? найдите конкретную запись, конкретный таск, и установите в чём косяк и есть ли он.

Автор:  bpoleg [ 18 июн 2014, 15:20 ]
Заголовок сообщения:  Re: странный глюк

select * from register_task t where t.cid=349073 and id in (237496,237497);; вывод:
237496 349073 0 1 12 2014-06-17T19:52:15 (вот это поле open_uid->)0(т.е. сервер) 2014-06-18T09:15:30 131 2014-06-18T11:19:22 131 2014-06-18T11:19:22 131 2 0 2014-06-18T19:52:00 Повторка
24 дубль- заявка 0 2014-06-18
237497 349073 0 1 12 2014-06-17T20:02:27 (вот это поле open_uid->)0(т.е. сервер) 2014-06-18T09:15:51 131 {null} -10 2014-06-18T09:15:51 131 1 0 2014-06-18T20:02:00 Повторка
24 0 {null}
select * from register_task_log l where l.task_id in (237496,237497); Вывод:
237496 2014-06-17T19:52:20 0 (вот это поле change_uid->)24(т.е. не сервер)
237497 2014-06-17T20:02:32 0 (вот это поле change_uid->)24(т.е. не сервер)
237496 2014-06-18T09:15:30 1 131
237497 2014-06-18T09:15:51 1 131
237496 2014-06-18T11:19:22 2 131

Автор:  dimOn [ 18 июн 2014, 16:10 ]
Заголовок сообщения:  Re: странный глюк

тьфу, я понял чего вы хотите и нашёл вашу проблему

register_task_manager.updateTask(task,task.getGroupId());

вот здесь второй параметр - userId а не группа какая-то там

http://bgbilling.ru/v6.1/javadoc/ru/bitel/bgbilling/plugins/crm/server/dao/RegisterTaskManager.html#updateTask(ru.bitel.bgbilling.plugins.crm.common.model.RegisterTask, int)

Автор:  bpoleg [ 18 июн 2014, 16:53 ]
Заголовок сообщения:  Re: странный глюк

Спасибо. моя не внимательность.
все заработало.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/