BiTel

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

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: использование API в отчете
СообщениеДобавлено: 03 июн 2010, 07:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
пытаюсь переделать вот этот отчет с использованием API дошел покачто только до этого, не могу понять как привязать тп к учетке и чтоб он просматривал каждый день какой тп стоит и плюсовал куда надо.
Код:
class PaymentUtil
{
    /**
     * Метод
     * @period из какого периода буудут складываться данные
     * @paymentList список всевозможных платежей
     * @return хеш <id_пользователя, сумма_платежей>
     */
    public static Map<Integer, BigDecimal> getUserMonthSum(Date period, List<Payment> paymentList)
    {
        Map<Integer, BigDecimal> userMonthSum = new HashSet<Integer, BigDecimal>()
        // из Date в Calendar для того, что бы выдирать номер месяца
        Calendar selectedPeriod = Calendar.getInstance();
        selectedPeriod.setTime(period);
        // цикл по всему списку переданных платежей
        for (Payment payment : paymentList)
        {
            Calendar paymentDate = Calendar.getInstance();
            paymentDate.setTime(payment.getPaymentDate());
            // суммировать только по тому месяцу, который нужен
            if (paymentDate.get(Calendar.MONTH) == selectedPeriod.get(Calendar.MONTH))
            {
                // переводим ID пользователя в объект, тк Map другое
                // в качестве параметра не воспринимает
                Integer userID = new Integer(payment.getUserID());
                // сумма платежей пользователя за текущий месяц
                BigDecimal curSum = userMonthSum.get(userID);
                BigDecimal curPay = payment.getSumma();
                // если есть уже какая-то сумма, то складываем
                if (curSum != null)
                    curPay = curPay.add(curSum);
                // складываем в мап
                userMonthSum.put(userID, curPay);
            }
        }
   
        return userMonthSum;
    }
}

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


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

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


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

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


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

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