BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 14:40

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
СообщениеДобавлено: 21 окт 2015, 12:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
v 5.2

Насколько я помню, изначально модуль не пооддерживал date1, date2 для почтовых ящиков на договорах.
Потом они появились, но при переоформлении до сих пор происходит перенос ящиков целиком.

Кусок кода из bitel.billing.server.email.Module.moduleAction(...) :

Код:
else if ((event instanceof ContractWrapEvent))
    {
      ContractWrapEvent cwEvent = (ContractWrapEvent)event;
      if (!cwEvent.isCheck())
      {
        Connection con = ctx.getConnection();

        AccountManager manager = new AccountManager(con, mid);
        for (Account account : manager.getContractAccountList(cwEvent.getContractId()))
        {
          account.setContractId(cwEvent.getToContractId());
          manager.updateAccount(account);
        }
      }
    }


Можете пофиксить?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2015, 23:02 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Вам кажется, что не надо переносить, если account более не действует?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 окт 2015, 15:55 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ну да, в том числе.
Но у меня вылезло в обратной ситуации - переоформляем будущим числом, и email утекает без дат на новый договор, а на текущем пропадает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 ноя 2015, 14:35 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
5.2 выложен. Прошу обновиться и протестировать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 дек 2015, 10:01 
Не в сети

Зарегистрирован: 03 авг 2009, 10:28
Сообщения: 31
Откуда: Иркутск
Карма: 0
А можно добавить возможность ручного переноса email с договора на договор с определенной даты? Сейчас можно только как и прежде перенести весь email целиком без учета дат, либо закрывать руками датой на старом договоре и открывать на новом, что очень неудобно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 дек 2015, 08:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Плюсую


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2016, 11:41 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
В следующей версии будет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 май 2016, 12:05 
Не в сети

Зарегистрирован: 22 окт 2015, 10:00
Сообщения: 5
Карма: 0
Версия 5.2

Сломалась почта при переоформление договора, починили тем что вручную обновили таблицу email_attribute. Покопался в документации и коде в итоге, что нашел. Есть две таблицы в которых хранятся email-атрибуты: email_account_{mid} - e-mail aккаунты пользователей, email_attribute_{mid} - дополнительные ldap атрибуты. При переоформление договора выполняется следующий код
Код:
bitel.billing.server.email.Module.moduleAction(...)...
else if(event instanceof ContractWrapEvent) {
                ContractWrapEvent cwEvent2 = (ContractWrapEvent)event;
                if(!cwEvent2.isCheck()) {
                    manager1 = new AccountManager(ctx.getConnection(), mid);
                    am1 = manager1.getContractAccountList(cwEvent2.getContractId(), cwEvent2.getDateOpen()).iterator();

                    while(true) {
                        do {
                            if(!am1.hasNext()) {
                                return;
                            }

                            account1 = (Account)am1.next();
                            accountTransfer1 = new Account();
                            accountTransfer1.setContractId(cwEvent2.getToContractId());
                            accountTransfer1.setAccount(account1.getAccount());
                            accountTransfer1.setDomainId(account1.getDomainId());
                            accountTransfer1.setQuota(account1.getQuota());
                            accountTransfer1.setStatus(account1.getStatus());
                            accountTransfer1.setComment(account1.getComment());
                            accountTransfer1.setPassword(account1.getPassword());
                            accountTransfer1.setDate1(cwEvent2.getDateOpen());
                            accountTransfer1.setDate2(account1.getDate2());
                            accountTransfer1.setNeedOpenAndNeedClose(new Date());
                            manager1.updateAccount(accountTransfer1);
                        } while(account1.getDate2() != null && !TimeUtils.dateBefore(cwEvent2.getDateClose(), account1.getDate2()));

                        this.closeAccount(account1, cwEvent2.getDateClose(), manager1);
                    }
                }
            }

Создается новый аккаунт, через аккаунт менеджер, в который заносятся параметры аккаунта email_account, но email_attribute игнорируются. Залез в AccountManager при updateAccount обновляется только email_account. При удаление, кстати, остаются висеть email_attribute.
Вот такой вот баг


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 май 2016, 13:19 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Спасибо, были добавлены атрибуты и пересылки. Обновление для 5.2 выкладывается, скоро будет доступно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 май 2016, 14:06 
Не в сети

Зарегистрирован: 22 окт 2015, 10:00
Сообщения: 5
Карма: 0
Быстро, спасибо.)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 окт 2016, 09:48 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Наконец обновились, проверил - работает наполовину: атрибуты переносятся, а пересылки - нет.
Вернее, пересылки дублируются на старом договоре.

Посмотрел по коду - проблема в логике updateForwardList:

Код:
 List forwardList = forwardManager.getForwardList(account.getId());
          if (!forwardList.isEmpty())
          {
            forwardManager.updateForwardList(accountTransfer.getId(), forwardList);
          }


Код:
public void updateForwardList(int accountID, List<Forward> forwardList)
  {
    try
    {
      String query = "DELETE FROM email_forward_" + this.mid + " WHERE aid=?";
      PreparedStatement ps = this.con.prepareStatement(query);

      ps.setInt(1, accountID);
      ps.executeUpdate();

      ps.close();

      query = "INSERT INTO email_forward_" + this.mid + " ( aid, email ) VALUES (?, ?)";
      ps = this.con.prepareStatement(query);

      for (Forward forward : forwardList)
      {
        ps.setInt(1, forward.getAccountId());
        ps.setString(2, forward.getEmail());
        ps.executeUpdate();
      }

      ps.close();
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
  }


Тут ещё нужно аккуратно фиксить, чтобы после фикса он не удалял форварды на старом договоре, т.к. при переоформлении будущим числом форварды не будут работать до наступления даты переоформления.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 дек 2016, 12:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
up?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 дек 2016, 14:48 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Поправил. Перенос пересылок теперь идентичен атрибутам. Накатил до 5.2.
Выложить обновление на 5.2 ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 дек 2016, 18:40 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
да, спасибо


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 дек 2016, 10:27 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Ок, выложил.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 янв 2017, 07:42 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Обновился, потестировал - всё красиво, атрибуты и пересылки переносятся на новый и остаются на старом.
Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 ноя 2018, 16:00 
Не в сети

Зарегистрирован: 03 авг 2009, 10:28
Сообщения: 31
Откуда: Иркутск
Карма: 0
Selena писал(а):
А можно добавить возможность ручного переноса email с договора на договор с определенной даты? Сейчас можно только как и прежде перенести весь email целиком без учета дат, либо закрывать руками датой на старом договоре и открывать на новом, что очень неудобно.



Привет всем ) а про это так и забыли, да? тогда был 5-й биллинг, сейчас 7-й %) Обещали в следующей версии )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 ноя 2018, 12:12 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Selena писал(а):
Привет всем ) а про это так и забыли, да? тогда был 5-й биллинг, сейчас 7-й %) Обещали в следующей версии )


Нет, вроде не забыли. Правой кнопкой мыши по строке с email-ом.


Вложения:
Снимок экрана.png
Снимок экрана.png [ 41.46 КБ | Просмотров: 8138 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2018, 14:18 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
7.0 нет такого. В 7.1 мб?
В коммитах не вижу такого:
https://bgbilling.ru/v7.1/download/email/fixed

email: вер. 7.0.185 / 14.03.2018 16:03:39


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2018, 14:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Да, это в 7.1.
В коммитах и не должно быть, тогда и 7.1 еще не было. Оно должно было быть тут - https://bgbilling.ru/v7.1/download/kernel/changes.txt , но я видать забыл его туда добавить.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.066s | 60 Queries | GZIP : On ]