/** * 构造订单时需要凭证对象和履行对象,避免service内部调用远程方法 此serviceImpl是代理类 * * @param buyInfo * @param bcertTargetMap * @param performTargetMap */ private void buildMetaProductId( BuyInfo buyInfo, Map<Long, SupBCertificateTarget> bcertTargetMap, Map<Long, List<SupPerformTarget>> performTargetMap, Map<Long, OrdOrderItemMeta> ordOrderItemMateMap) { Map<Item, List<ProdProductBranchItem>> branchItemMap = this.buildOrderService.buildProductBranchItem(buyInfo); List<SupPerformTarget> performTargetList = null; List<SupBCertificateTarget> bcertTargetList = null; for (Item item : branchItemMap.keySet()) { List<ProdProductBranchItem> branchItemList = branchItemMap.get(item); for (ProdProductBranchItem branchItem : branchItemList) { bcertTargetList = this.bCertificateTargetService.selectSuperMetaBCertificateByMetaProductId( branchItem.getMetaProductId()); if (bcertTargetList != null && bcertTargetList.size() > 0) { bcertTargetMap.put(branchItem.getMetaProductId(), bcertTargetList.get(0)); } performTargetList = this.performTargetService.findSuperSupPerformTargetByMetaProductId( branchItem.getMetaProductId()); if (performTargetList != null && performTargetList.size() > 0) { performTargetMap.put(branchItem.getMetaProductId(), performTargetList); } initOrdOrderItemMeta(ordOrderItemMateMap, branchItem, item.getVisitTime()); // 初始化机票相关信息 initFlightInfo(ordOrderItemMateMap, branchItem, item.getVisitTime()); } } }
private boolean isKill(final BuyInfo buyInfo) { boolean isKill = false; for (Item item : buyInfo.getItemList()) { if ("true".equals(item.getIsDefault())) { String productId = (String) MemcachedUtil.getInstance().get("KILL_PRODUCT_" + item.getProductId()); if (productId != null && productId.equals("Y")) { isKill = true; } } } return isKill; }