Example usage for org.apache.commons.lang.time DateUtils addHours

List of usage examples for org.apache.commons.lang.time DateUtils addHours

Introduction

In this page you can find the example usage for org.apache.commons.lang.time DateUtils addHours.

Prototype

public static Date addHours(Date date, int amount) 

Source Link

Document

Adds a number of hours to a date returning a new object.

Usage

From source file:org.sonar.plugins.dbcleaner.purges.PurgeUnprocessed.java

public void purge(PurgeContext context) {
    int minimumPeriodInHours = PurgeUtils.getMinimumPeriodInHours(configuration);
    final Date beforeDate = DateUtils.addHours(new Date(), -minimumPeriodInHours);
    Logs.INFO.info("Deleting unprocessed data before " + beforeDate);

    Query query = getSession().createQuery("SELECT s.id FROM " + Snapshot.class.getSimpleName()
            + " s WHERE s.last=false AND status=:status AND s.createdAt<:date");
    query.setParameter("status", Snapshot.STATUS_UNPROCESSED);
    query.setParameter("date", beforeDate);
    List<Integer> snapshotIds = query.getResultList();

    PurgeUtils.deleteSnapshotsData(getSession(), snapshotIds);
}

From source file:org.vosao.dao.impl.PageDaoImpl.java

@Override
public List<PageEntity> getCurrentHourPublishedPages() {
    Date endDate = new Date();
    Date startDate = DateUtils.addHours(endDate, -1);
    Query q = newQuery();//from  w  w w .java2s. com
    q.addFilter("publishDate", FilterOperator.GREATER_THAN_OR_EQUAL, startDate);
    q.addFilter("publishDate", FilterOperator.LESS_THAN_OR_EQUAL, endDate);
    return select(q, "getCurrentHourPublishedPages", params(startDate, endDate));
}

From source file:org.vosao.dao.impl.PageDaoImpl.java

@Override
public List<PageEntity> getCurrentHourUnpublishedPages() {
    Date endDate = new Date();
    Date startDate = DateUtils.addHours(endDate, -1);
    Query q = newQuery();//from w ww.j a  v a2  s .  com
    q.addFilter("endPublishDate", FilterOperator.GREATER_THAN_OR_EQUAL, startDate);
    q.addFilter("endPublishDate", FilterOperator.LESS_THAN_OR_EQUAL, endDate);
    return select(q, "getCurrentHourUnpublishedPages", params(startDate, endDate));
}

From source file:org.vosao.dao.PageDaoTest.java

public void testGetCurrentHourPublishedPages() throws ParseException {
    Date dt = DateUtils.addMinutes(new Date(), -15);
    Date dt2 = DateUtils.addHours(new Date(), 1);
    Date dt3 = DateUtils.addMinutes(new Date(), -30);
    PageEntity page1 = addPage("test1", dt);
    PageEntity page2 = addPage("test2", dt2);
    PageEntity page3 = addPage("test3", dt3);
    List<PageEntity> list = getDao().getPageDao().getCurrentHourPublishedPages();
    assertEquals(2, list.size());/*  w  w  w . j  ava 2  s  .c  o m*/
}

From source file:ru.altruix.commons.impl.util.Utils.java

public static Date addHours(final Date aDateTime, final double aHours) {
    final int hours = (int) aHours;
    final int minutes = (int) ((aHours - (double) hours) * MINUTES_IN_HOUR);

    final Date timeWithHoursAdded = DateUtils.addHours(aDateTime, hours);

    return DateUtils.addMinutes(timeWithHoursAdded, minutes);
}

From source file:ubic.gemma.analysis.preprocess.batcheffects.BatchInfoPopulationHelperServiceImpl.java

/**
 * @param earlierDate/*from w w  w  . ja v a  2  s .  c o  m*/
 * @param date
 * @return false if 'date' is considered to be in the same batch as 'earlierDate', true if we should treat it as a
 *         separate batch.
 */
private boolean gapIsLarge(Date earlierDate, Date date) {
    return !DateUtils.isSameDay(date, earlierDate)
            && DateUtils.addHours(earlierDate, MAX_GAP_BETWEEN_SAMPLES_TO_BE_SAME_BATCH).before(date);
}

From source file:ubic.gemma.util.DateUtil.java

/**
 * Turn a string like '-7d' into the date equivalent to "seven days ago". Supports 'd' for day, 'h' for hour, 'm'
 * for minutes, "M" for months and "y" for years. Start with a '-' to indicate times in the past ('+' is not
 * necessary for future). Values must be integers.
 * /* ww  w  . ja v  a2  s  .  co  m*/
 * @param date to be added/subtracted to
 * @param dateString
 * @author Paul Pavlidis
 * @return Date relative to 'now' as modified by the input date string.
 */
public static Date getRelativeDate(Date date, String dateString) {

    if (date == null)
        throw new IllegalArgumentException("Null date");

    Pattern pat = Pattern.compile("([+-]?[0-9]+)([dmhMy])");

    Matcher match = pat.matcher(dateString);
    boolean matches = match.matches();

    if (!matches) {
        throw new IllegalArgumentException(
                "Couldn't make sense of " + dateString + ", please use something like -7d or -8h");
    }

    int amount = Integer.parseInt(match.group(1).replace("+", ""));
    String unit = match.group(2);

    if (unit.equals("h")) {
        return DateUtils.addHours(date, amount);
    } else if (unit.equals("m")) {
        return DateUtils.addMinutes(date, amount);
    } else if (unit.equals("d")) {
        return DateUtils.addDays(date, amount);
    } else if (unit.equals("y")) {
        return DateUtils.addYears(date, amount);
    } else if (unit.equals("M")) {
        return DateUtils.addMonths(date, amount);
    } else {
        throw new IllegalArgumentException(
                "Couldn't make sense of units in " + dateString + ", please use something like -7d or -8h");
    }

}

From source file:ume.pareva.veeo.VeeoDR.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from  w w  w. j a va 2  s  .  c  o  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs action   mp_report id   the unique
 * message id number number   the originating telephone number report   the
 * delivery report (e.g. delivered/acked/failed)
 * Status
 *  1: delivery success   Delivered to handset
 *  2: delivery failure   Message failed
 *  4: message buffered   Message in queue
 *  8: smsc submit   Submitted to SMSC
 *  16: smsc reject   Rejected by SMSC
 *  32: (smsc intermediate notifications)   Non-final statuses
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    Calendar deliverytime = new GregorianCalendar();
    String serviceId = "6119598063441KDS";
    String defClubDomain = "5510024809921CDS";
    String transactionId = Misc.generateUniqueIntegerId() + "";
    boolean cpaqueue = true;

    Enumeration parameterList = request.getParameterNames();
    while (parameterList.hasMoreElements()) {
        String sName = parameterList.nextElement().toString();
        System.out.println("VeeoDR: callback VeeoDR " + sName + ":" + request.getParameter(sName));
    }
    Map<String, String> callbackMap = mappingUtil.mapRequestToCallback(request);

    String id = callbackMap.get("id");
    String report = callbackMap.get("status"); // This can be DELIVERED, ACKNOWLEDGED, FAILED
    String msisdn = callbackMap.get("msisdn");

    if (id.contains("-")) {
        serviceId = getClubId(id, "-").trim();
        System.out.println("VeeoDR INSIDE - condition SERVICE ID IS " + serviceId);
    }
    MobileClub club = UmeTempCmsCache.mobileClubMap.get(serviceId);
    UmeClubDetails clubdetail = UmeTempCmsCache.umeClubDetailsMap.get(club.getUnique());

    quizsmsdao.updateResponse(id, report, sdf.format(deliverytime.getTime()), report, "");
    umesmsdao.updateResponse(id, report, sdf.format(deliverytime.getTime()), report, "");

    if (report.equals("1")) {
        MobileClubBillingPlan mobileClubBillingPlan = null;
        String successResponse = "00";

        SdcSmsSubmit smsrecord = quizsmsdao.getSmsMsgLog(id);
        if (smsrecord != null && smsrecord.getMsgType().equalsIgnoreCase("premium")) {

            //====================== USER- CLUBUSER - BILLING PLANS =============================== 
            UmeUser user = null;
            SdcMobileClubUser clubUser = null;
            String userUnique = umeuserdao.getUserUnique(msisdn, "msisdn", defClubDomain);
            if (!userUnique.equals("")) {
                user = umeuserdao.getUser(msisdn);
            }

            if (user != null) {
                clubUser = user.getClubMap().get(club.getUnique());

                if (clubUser == null) {
                    clubUser = umemobileclubuserdao.getClubUserByMsisdn(msisdn, club.getUnique());
                }
                if (clubUser != null) {
                    mobileClubBillingPlan = billingplandao.getActiveBillingPlanByMsisdnAndClubUnique(msisdn,
                            club.getUnique());
                    //System.out.println("IEBillingSuccess  BillingPlan is " + mobileClubBillingPlan.toString());
                }
            } //====================== USER- CLUBUSER - BILLING PLANS =============================== 

            boolean cpaLog = false;
            if (smsrecord.getLogUnique().equals(id) && smsrecord.getMsgType().equalsIgnoreCase("premium")) { //Billable 
                //===================================================================

                if (user != null && clubUser != null) {
                    //boolean cpaLog = false;
                    //BillingTry Logging for first success
                    if (DateUtils.isSameDay(new Date(), clubUser.getSubscribed())) {
                        successResponse = "003";
                        cpaLog = true;
                    }

                    String biloggednetwork = mobilenetwork.getMobileNetwork(club.getRegion().toUpperCase(),
                            clubUser.getNetworkCode());
                    MobileClubBillingTry mobileClubBillingTry = new MobileClubBillingTry();
                    mobileClubBillingTry.setUnique(id);
                    mobileClubBillingTry.setLogUnique(id);
                    mobileClubBillingTry.setAggregator("TXT");
                    mobileClubBillingTry.setClubUnique(club.getUnique());
                    mobileClubBillingTry.setCreated(new Date());
                    mobileClubBillingTry.setNetworkCode(biloggednetwork.toLowerCase());
                    mobileClubBillingTry.setParsedMsisdn(msisdn);
                    mobileClubBillingTry.setRegionCode(club.getRegion().toUpperCase());
                    mobileClubBillingTry.setResponseCode(successResponse);
                    mobileClubBillingTry.setResponseDesc("successful");
                    mobileClubBillingTry.setResponseRef(transactionId);
                    mobileClubBillingTry.setStatus("success");
                    mobileClubBillingTry.setTariffClass(club.getPrice());
                    mobileClubBillingTry.setTransactionId(transactionId);
                    mobileClubBillingTry.setCampaign(clubUser.getCampaign());

                    //End BillingTry Logging
                    if (mobileClubBillingPlan != null) {
                        Calendar c = Calendar.getInstance();
                        mobileClubBillingPlan.setLastSuccess(c.getTime());
                        mobileClubBillingPlan.setLastPaid(c.getTime());
                        mobileClubBillingPlan.setPushCount(mobileClubBillingPlan.getPushCount() + 1);
                        //Date nextPush = new Date();

                        if (mobileClubBillingPlan.getLastPush().before(mobileClubBillingPlan.getSubscribed())) {
                            mobileClubBillingPlan.setLastPush(new Date());
                        }

                        if (mobileClubBillingPlan.getServiceDateBillsRemaining() > 0) {
                            mobileClubBillingPlan.setServiceDateBillsRemaining(
                                    mobileClubBillingPlan.getServiceDateBillsRemaining() - 1);
                        }

                        Date nextPush = DateUtils.addDays(mobileClubBillingPlan.getLastPush(), 7);
                        nextPush = DateUtils.setHours(nextPush, 9);
                        nextPush = DateUtils.truncate(nextPush, Calendar.HOUR_OF_DAY);

                        mobileClubBillingPlan.setNextPush(nextPush);
                        mobileClubBillingPlan.setLastSuccess(new Date());

                        if (clubdetail.getBillingType().equalsIgnoreCase("Adhoc")) {
                            Calendar cal = Calendar.getInstance();
                            cal.setTime(new Date());
                            cal.add(Calendar.HOUR, 1);

                            cal.set(Calendar.MINUTE, 0);
                            cal.set(Calendar.SECOND, 0);

                            mobileClubBillingPlan.setNextPush(cal.getTime());
                            if (mobileClubBillingPlan.getServiceDateBillsRemaining() > 0D) {
                                mobileClubBillingPlan.setServiceDateBillsRemaining(
                                        mobileClubBillingPlan.getServiceDateBillsRemaining() - 1);
                            }

                            if ((mobileClubBillingPlan.getPartialsRequired()
                                    - mobileClubBillingPlan.getServiceDateBillsRemaining()) <= 2) {
                                cpaqueue = true;
                            }

                            else {
                                cpaqueue = false;
                            }
                            System.out.println("IEMODR == ADHOC BILLING UPDATE  to "
                                    + mobileClubBillingPlan.getParsedMobile() + " --- "
                                    + mobileClubBillingPlan.getNextPush());

                        } else {
                            /*
                             @Date- 2016-04-05
                             @Author Madan
                             Trying weeks of subscription and their success
                             */
                            //=========== START WEEK Calculation for User Total Bill ====================
                            try {
                                Date subscribedDate = clubUser.getSubscribed();
                                Date today = new Date();
                                DateTime dateTime1 = new DateTime(subscribedDate);
                                DateTime dateTime2 = new DateTime(today);
                                int weeks = Weeks.weeksBetween(dateTime1, dateTime2).getWeeks();

                                int totalSuccess = billingplandao.getTotalSuccessAfterEachSubscription(
                                        clubUser.getParsedMobile(), clubUser.getClubUnique(),
                                        clubUser.getSubscribed());
                                int pendingTickets = 0;
                                int expectedSuccesses = weeks * clubdetail.getFrequency(); //We need to use Frequency here... 
                                if (totalSuccess == expectedSuccesses) { // User is upto-date 
                                    mobileClubBillingPlan
                                            .setServiceDateBillsRemaining(clubdetail.getFrequency() * 1D);
                                    mobileClubBillingPlan.setLastPaid(new Date());
                                    mobileClubBillingPlan.setNextPush(nextPush);

                                } else if (totalSuccess < expectedSuccesses) { //UnderBill Users
                                    pendingTickets = expectedSuccesses - totalSuccess;
                                    if (pendingTickets >= clubdetail.getFrequency()) {
                                        mobileClubBillingPlan
                                                .setServiceDateBillsRemaining(1D + clubdetail.getFrequency());
                                    } else {
                                        mobileClubBillingPlan.setServiceDateBillsRemaining(1D * pendingTickets);
                                    }

                                    nextPush = DateUtils.addHours(new Date(), 1);
                                    //nextPush = DateUtils.setHours(nextPush, 9);
                                    //nextPush = DateUtils.truncate(nextPush, Calendar.HOUR_OF_DAY);
                                    mobileClubBillingPlan.setNextPush(nextPush);
                                } else if (totalSuccess > expectedSuccesses) { //overbill users Or can be ok due to week calculation. 
                                    mobileClubBillingPlan.setLastPaid(new Date());
                                    int weekdifference = (totalSuccess - expectedSuccesses)
                                            / clubdetail.getFrequency();
                                    nextPush = DateUtils.addWeeks(mobileClubBillingPlan.getLastPush(),
                                            weekdifference); //Adding not to overbill continuously
                                    mobileClubBillingPlan.setNextPush(nextPush);
                                }

                                if (!mobileClubBillingPlan.getExternalId().toLowerCase().startsWith("adhoc")) {
                                    Date billingEnd = DateUtils.addDays(nextPush, 7);
                                    mobileClubBillingPlan.setBillingEnd(billingEnd);
                                }

                                System.out.println("weeks VEEO Billing -- " + clubUser.getParsedMobile() + "-- "
                                        + clubUser.getClubUnique() + "-- " + clubUser.getSubscribed()
                                        + "-- no. of weeks " + weeks + " noofsuccess " + totalSuccess
                                        + " successfrequency " + expectedSuccesses + " pending tickets "
                                        + pendingTickets + " ------- ");

                            } catch (Exception e) {
                            }

                            //=============End Calculating the User's Week of billings =================================
                        }

                        umemobileclubuserdao.updateBillingRenew(clubUser.getUserUnique(), club.getUnique());
                        billingplandao.update(mobileClubBillingPlan);
                        MobileClubBillingSuccesses mobileClubBillingSuccesses = new MobileClubBillingSuccesses(
                                mobileClubBillingPlan, mobileClubBillingTry);

                        try {
                            mobilebillingdao.insertBillingSuccess(mobileClubBillingSuccesses);
                            mobilebillingdao.insertBillingTry(mobileClubBillingTry);

                        } catch (Exception e) {
                        }

                    }

                    //                        QuizUserAttempted quizUserAttempted = new QuizUserAttempted();
                    //                        quizUserAttempted.setaParsedMsisdn(msisdn);
                    //                        quizUserAttempted.setClubUnique(club.getUnique());
                    //                        quizUserAttempted.setType("Entry Confirmation");
                    //                        quizUserAttempted.setStatus("true");
                    //                        quizUserAttempted.setaUnique(String.valueOf(transactionId));
                    //                        quizUserAttempted.setaCreated(new Date());
                    //                        umequizdao.saveQuizUserAttempted(quizUserAttempted);

                } //END thirdbillable user!=null

                //=====================================================================
            } //End of third billable 

            CpaVisitLog visitorLog = cpavisitlogdao.getDetails(msisdn, clubUser.getCampaign());
            if (visitorLog != null && cpaqueue) {

                String campaignId = visitorLog.getaCampaignId();
                if (null != campaignId && !"".equals(campaignId)) {
                    MobileClubCampaign cmpg = UmeTempCmsCache.campaignMap.get(campaignId);
                    if (cmpg != null) {
                        if (cmpg.getSrc().toLowerCase().endsWith("cpa")
                                && cmpg.getCpaType().equalsIgnoreCase("billing")) {
                            // 2016.01.13 - AS - Removed commented code, check repo history if needed
                            if (cpaLog) {
                                // 2016.01.13 - AS - Removed commented code, check repo history if needed
                                int insertedRows = cpaloggerdao.insertIntoCpaLogging(msisdn, campaignId,
                                        club.getUnique(), 10, clubUser.getNetworkCode(), cmpg.getSrc());
                            }

                        }
                    }
                }

            }

        } //End smsrecord!=null

    } //end if report equals delivered
    else { //FOR ALL FAILURE 
        SdcSmsSubmit smsrecord = quizsmsdao.getSmsMsgLog(id);
        if (smsrecord != null && smsrecord.getMsgType().equalsIgnoreCase("premium")) {
            UmeUser user = null;
            MobileClubBillingPlan mobileClubBillingPlan = null;
            SdcMobileClubUser clubUser = null;
            String userUnique = "";
            try {
                userUnique = umeuserdao.getUserUnique(msisdn, "msisdn", defClubDomain);
            } catch (Exception e) {
                System.out.println("IE Exception for at line 365 EngageDR " + msisdn);
                e.printStackTrace();
            }
            if (!userUnique.equals("")) {
                user = umeuserdao.getUser(msisdn);
            }

            if (user != null) {
                clubUser = user.getClubMap().get(club.getUnique());

                if (clubUser == null) {
                    clubUser = umemobileclubuserdao.getClubUserByMsisdn(msisdn, club.getUnique());

                }
            }
            if (clubUser != null) {
                mobileClubBillingPlan = billingplandao.getActiveBillingPlanByMsisdnAndClubUnique(msisdn,
                        club.getUnique());
            }
            String biloggednetwork = "unknown";
            try {
                biloggednetwork = mobilenetwork.getMobileNetwork("IE", clubUser.getNetworkCode());
            } catch (Exception e) {
                biloggednetwork = "unknown";
            }

            if (report.equals("REJECTED")) {// || report.equals("INVALID_MSISDN")){
                //DEACtivate user as we can't bill them 
                if (clubUser != null && clubUser.getActive() == 1) {
                    // 2016-05-10 Alex Sanchez if (smsrecord != null) {
                    MobileClubBillingTry mobileClubBillingTry = new MobileClubBillingTry();
                    mobileClubBillingTry.setUnique(id);
                    mobileClubBillingTry.setLogUnique(id);
                    mobileClubBillingTry.setAggregator("TXT");
                    mobileClubBillingTry.setClubUnique(club.getUnique());
                    mobileClubBillingTry.setCreated(new Date());
                    mobileClubBillingTry.setNetworkCode(biloggednetwork.toLowerCase());
                    mobileClubBillingTry.setParsedMsisdn(msisdn);
                    mobileClubBillingTry.setRegionCode(club.getRegion().toUpperCase());
                    mobileClubBillingTry.setResponseCode("99");
                    mobileClubBillingTry.setResponseDesc(report.toLowerCase());
                    mobileClubBillingTry.setResponseRef(transactionId);
                    mobileClubBillingTry.setStatus("fail");
                    mobileClubBillingTry.setTransactionId(transactionId);
                    mobileClubBillingTry.setCampaign(clubUser.getCampaign());
                    mobileClubBillingTry.setTariffClass(club.getPrice());
                    mobilebillingdao.insertBillingTry(mobileClubBillingTry);

                    //stopuser.stopSingleSubscription(msisdn, club.getUnique(), null, null);
                    /*
                     SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     String unSubscribed = sdf2.format(new Date());
                     clubUser.setActive(0);
                     clubUser.setUnsubscribed(SdcMiscDate.parseSqlDateString(unSubscribed));
                     umemobileclubuserdao.saveItem(clubUser);
                            
                     String stop = "STOP";
                     try {
                     if (DateUtils.isSameDay(clubUser.getSubscribed(), clubUser.getUnsubscribed())) {
                     stop = "STOPFD";
                     }
                     campaigndao.log("iedr", clubUser.getLandingpage(), clubUser.getParsedMobile(), clubUser.getParsedMobile(), null, null, clubUser.getCampaign(), clubUser.getClubUnique(), stop, 0, null, null, biloggednetwork.toLowerCase());
                     } catch (Exception e) {
                     System.out.println("Exception EngageDr while campaignlog for stops " + e);
                     e.printStackTrace();
                     }
                     //umemobileclubuserdao.disable(clubUser.getUnique());
                     if (mobileClubBillingPlan != null) {
                     billingplandao.disableBillingPlan(msisdn, club.getUnique());
                            
                     }
                     */
                    // 2016-05-10 Alex Sanchez } //end smsrecord!=null 
                } // If ClubUser is active 
            } //end rejected or invalid msisdn
            else if (report.equalsIgnoreCase("ACKNOWLEDGED") || report.equalsIgnoreCase("ACCEPTED")) {
                //Don't do anything here as nextpush will be 7 days set from billing daemon
                //This is treated as the msg might have been delivered !! We will receive
                //notification of Delivered later on. 

            } else { //For all other 
                //NO_CREDIT, FAILED,VALIDITY_EXPIRED,UNKNOWN,OPERATOR_ERROR

                //DATETIME SCHEDULER FOR FAILURE 
                Calendar cal = Calendar.getInstance();
                cal.setTime(new Date());
                if (clubdetail.getPaymentType().equalsIgnoreCase("Adhoc")) {
                    cal.set(Calendar.HOUR_OF_DAY, 21);
                } else {
                    cal.add(Calendar.HOUR, 3);
                }
                //cal.add(Calendar.HOUR, 72);

                if (cal.get(Calendar.HOUR_OF_DAY) > 18) {
                    cal.add(Calendar.DATE, 1);
                    cal.set(Calendar.HOUR_OF_DAY, 9);
                } else if (cal.get(Calendar.HOUR_OF_DAY) > 12) {
                    cal.set(Calendar.HOUR_OF_DAY, 18);
                } else if (cal.get(Calendar.HOUR_OF_DAY) > 9) {
                    cal.set(Calendar.HOUR_OF_DAY, 12);
                } else {
                    cal.set(Calendar.HOUR_OF_DAY, 9);
                }
                cal.set(Calendar.MINUTE, 0);
                cal.set(Calendar.SECOND, 0);

                MobileClubBillingTry mobileClubBillingTry = new MobileClubBillingTry();
                mobileClubBillingTry.setUnique(id);
                mobileClubBillingTry.setLogUnique(id);
                mobileClubBillingTry.setAggregator("TXT");
                mobileClubBillingTry.setClubUnique(club.getUnique());
                mobileClubBillingTry.setCreated(new Date());
                mobileClubBillingTry.setNetworkCode(biloggednetwork.toLowerCase());
                mobileClubBillingTry.setParsedMsisdn(msisdn);
                mobileClubBillingTry.setRegionCode(club.getRegion().toUpperCase());
                mobileClubBillingTry.setResponseCode("51");
                mobileClubBillingTry.setResponseDesc("Insufficient Funds");
                mobileClubBillingTry.setResponseRef(transactionId);
                mobileClubBillingTry.setStatus("fail");
                mobileClubBillingTry.setTransactionId(transactionId);
                mobileClubBillingTry.setCampaign(clubUser.getCampaign());
                mobileClubBillingTry.setTariffClass(club.getPrice());
                mobilebillingdao.insertBillingTry(mobileClubBillingTry);

                if (mobileClubBillingPlan != null) {
                    //Calendar cal = Calendar.getInstance();
                    //cal.setTime(new Date());
                    //mobileClubBillingPlan.setLastPush(cal.getTime());
                    mobileClubBillingPlan.setNextPush(cal.getTime());
                    mobileClubBillingPlan.setPushCount(mobileClubBillingPlan.getPushCount() + 1);
                    //cal.add(Calendar.HOUR_OF_DAY, 12);
                    System.out.println(
                            "VEEODR == FAILED BILLING UPDATE  to " + mobileClubBillingPlan.getParsedMobile()
                                    + " --- " + mobileClubBillingPlan.getNextPush());
                    billingplandao.update(mobileClubBillingPlan);//, cal.getTime());
                }

            } //end for all the failures
        } //END if smsrecord!=null or Premium
    } // end ELSE 

}