/** * 保存指定状态的原始订单至数据库 * * @param originalOrderList */ public void saveOriginalOrders(List<OriginalOrder> originalOrderList) { if (CollectionUtils.isEmpty(originalOrderList)) { return; } for (OriginalOrder originalOrder : originalOrderList) { if (!(StringUtils.equalsIgnoreCase( originalOrder.getStatus(), OriginalOrderStatus.WAIT_SELLER_SEND_GOODS.toString()) || StringUtils.equalsIgnoreCase( originalOrder.getStatus(), OriginalOrderStatus.WAIT_BUYER_CONFIRM_GOODS.toString()) || StringUtils.equalsIgnoreCase( originalOrder.getStatus(), OriginalOrderStatus.TRADE_FINISHED.toString()))) { continue; } // 保存原始订单 saveOriginalOrder(originalOrder); for (OriginalOrderItem originalOrderItem : originalOrder.getOriginalOrderItemList()) { // 保存原始订单项 originalOrderItem.setOriginalOrderId(originalOrder.getId()); saveOriginalOrderItem(originalOrderItem); } for (PromotionInfo promotionInfo : originalOrder.getPromotionInfoList()) { // 保存订单优惠记录 promotionInfo.setOriginalOrderId(originalOrder.getId()); savePromotionInfo(promotionInfo); } } }
/** * 查询 * * @param originalOrder * @return */ @Transactional(readOnly = true) public List<OriginalOrder> getOriginalOrder( OriginalOrder originalOrder, Date startTime, Date endTime) { if (logger.isInfoEnabled()) { logger.info( String.format( "getOriginalOrder方法参数为originalOrder[{}],startTime[{}],endTime[{}]", originalOrder, startTime, endTime)); } Search search = new Search(OriginalOrder.class); if (originalOrder != null) { if (StringUtils.isNotBlank(originalOrder.getPlatformOrderNo())) { search.addFilterLike( "platformOrderNo", "%" + originalOrder.getPlatformOrderNo().trim() + "%"); } if (!NumberUtil.isNullOrZero(originalOrder.getShopId())) { search.addFilterEqual("shopId", originalOrder.getShopId()); } if (!NumberUtil.isNullOrZero(originalOrder.getProcessed())) { search.addFilterEqual("processed", originalOrder.getProcessed()); } if (!NumberUtil.isNullOrZero(originalOrder.getOutShopId())) { search.addFilterEqual("outShopId", originalOrder.getOutShopId()); } if (!NumberUtil.isNullOrZero(originalOrder.getStatus())) { search.addFilterEqual("status", originalOrder.getStatus()); } if (originalOrder.getPlatformType() != null) { search.addFilterEqual("platformType", originalOrder.getPlatformType()); } if (startTime != null) { search.addFilterGreaterOrEqual("buyTime", startTime); } if (endTime != null) { search.addFilterLessOrEqual("buyTime", endTime); } } return generalDAO.search(search); }