学习java第一阶段:去除重复订单,不重复的邮件

public Document repeatBookButton(Context handler) throws Exception { logger.info("BatchMail manual calls syncRepeatBook "); List noList = new ArrayList<>(); List nmList = new ArrayList<>(); List mailAllList = new ArrayList<>();

    Document returnDoc = new Document();
    Map returnMap = new HashMap();

    //適格データMap
    Map<String, String> dealReservation = new HashMap<>();
    //予約実績
    Params reservationParams = new Params();
    //date format
    Calendar jpCal = Calendar.getInstance(TimeZone.getTimeZone("Japan") , Locale.JAPAN);
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
    formatter.setCalendar(jpCal);

    Date checkout = Util.getDateLocal();
    String dateString = formatter.format(checkout);
    Date start = formatter.parse(dateString);

    //予約実績api
    Document reservationsDocument = new Document();
    reservationsDocument.put("batchRepeatBookStatus",1);
    reservationsDocument.put("batchMailRepeatBookEndStart",start);
    reservationParams.condition(reservationsDocument);
    reservationParams.sort(new Document("from",1));
    Plural<ModReservation> reservationPlural = Rider.list(handler, ModReservation.class, reservationParams);

    Map<String, ModListing> listingOption = (Map<String, ModListing>) reservationPlural.options.get("listing");
复制代码

// StringBuffer globalKey = new StringBuffer(); //预约实际TBL的状态 != Cancel List globalList = new ArrayList(); reservationPlural.items.stream() .forEach(reservations -> { try { if (reservations.getType() != null &&!reservations.getType().toString().equals("3")){

                        List<ModReservation> mailList = new ArrayList<>();
                        //物件No
                        String bukkenNo = reservations.getListingNo();
                        //物件名
                        String bukkenNm = "";
                        if(listingOption.containsKey(reservations.getListing())) {
                            bukkenNm = listingOption.get(reservations.getListing()).getInfo().getName();
                        }

                        Params reservationAginParams = new Params();
                        Document reservationDocument = new Document();
                        reservationDocument.put("batchRepeatBookStatus",1);
                        reservationDocument.put("batchMailRepeatBookNo",reservations.getListingNo());
                        reservationDocument.put("batchMailRepeatBookStart",reservations.getFrom());
                        reservationDocument.put("batchMailRepeatBookEnd",reservations.getEnd());
                        reservationAginParams.condition(reservationDocument);
                        reservationAginParams.sort(new Document("from",1));

                        //予約実績api
                        Plural<ModReservation> reservationAgainPlural = Rider.list(handler, ModReservation.class, reservationAginParams);

                        int index = 0;
                        String idKey = "";
                        StringBuffer strBuffer = new StringBuffer();
                        for (int k =0; k < reservationAgainPlural.items.size(); k++){
                            ModReservation item = reservationAgainPlural.items.get(k);
                            if (item.getNo() != null && item.getNo().toString().equals(reservations.getNo().toString())){
                                index = reservationAgainPlural.items.indexOf(item);

                                for (int j = index; j < reservationAgainPlural.items.size(); j++) {
                                    if (reservationAgainPlural.items.get(j).getType() != null && !reservationAgainPlural.items.get(j).getType().toString().equals("3") && reservationAgainPlural.items.get(j).getStatus() != null && reservationAgainPlural.items.get(j).getStatus().toString().equals("1")) {
                                        strBuffer.append(reservationAgainPlural.items.get(j).getNo());
                                    }
                                }
                            }

                        }

                        idKey = strBuffer.toString();
                        int strIndex = -1;
                        int strFlag = 0;
                        for (int l = 0; l < globalList.size(); l ++){
                            strIndex = globalList.get(l).toString().indexOf(idKey);
                            strFlag = 1;
                        }
复制代码

// int strIndex = globalKey.indexOf(idKey); for (int i = 0; i < reservationAgainPlural.items.size(); i++){ if (globalList.size() == 0){ if (!dealReservation.containsKey(idKey)){ dealReservation.put(idKey, ""); for (int k = index; k < reservationAgainPlural.items.size(); k++) { if (reservationAgainPlural.items.get(k).getType() != null && !reservationAgainPlural.items.get(k).getType().toString().equals("3") && reservationAgainPlural.items.get(k).getStatus() != null && reservationAgainPlural.items.get(k).getStatus().toString().equals("1")) { mailList.add(reservationAgainPlural.items.get(k)); } } } }else { if(strIndex == -1 && strFlag == 1) { if (!dealReservation.containsKey(idKey)){ dealReservation.put(idKey, ""); for (int k = index; k < reservationAgainPlural.items.size(); k++) { if (reservationAgainPlural.items.get(k).getType() != null && !reservationAgainPlural.items.get(k).getType().toString().equals("3") && reservationAgainPlural.items.get(k).getStatus() != null && reservationAgainPlural.items.get(k).getStatus().toString().equals("1")) { mailList.add(reservationAgainPlural.items.get(k)); } } } } } }

                        globalList.add(idKey);

                        if(mailList.size() > 1) {
                            noList.add(bukkenNo);
                            nmList.add(bukkenNm);
                            mailAllList.add(mailList);
                        }

                    }

                } catch (Exception e) {
                    e.printStackTrace();
                    logger.error("reservation url invalid");
                    logger.error(e);
                }
            });

    returnMap.put("bukkenNo",noList);
    returnMap.put("bukkenNm",nmList);
    returnMap.put("mailList",mailAllList);
    returnMap.put("totalItems",mailAllList.size());
    returnDoc.putAll(returnMap);
    return returnDoc;
}复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值