JDK8-ifPresent()

quoteDTO.getPartnerFunctions()
            .stream()
            .filter(partnerFunction -> partnerFunction.getCustomerType().equalsIgnoreCase(CustomerTypeEnum.END_CUSTOMER.toString()))
            .findFirst()
            .ifPresent(partnerFunctionDTO -> {
                //set distributionChannel
                String segment = partnerFunctionDTO.getSegment();
                if (!StringUtils.isEmpty(segment)) {
                    log.info("QuoteService-setChannelAndDivisionToQuote mg:{},fulfillmentMethod:{},segment:{}",
                        mg, fulfillmentMethod, segment);
                    channelListDTO.getList()
                        .stream()
                        .filter(channelDTO -> channelDTO.getMg().equals(mg)
                            && channelDTO.getFulfillmentMethod().equalsIgnoreCase(fulfillmentMethod)
                            && channelDTO.getSegment().contains(segment))
                        .findFirst()
                        .ifPresent(channelDTO -> quoteDTO.setDistributionChannel(channelDTO.getChannel()));
                }
            });

posted @ 2019-09-05 09:46  叶落无蝉鸣  阅读(681)  评论(0编辑  收藏  举报