/**
   * 猜测原始订单对应的品牌
   *
   * @param originalOrder
   */
  @Transactional
  public void guessOriginalOrderBrand(OriginalOrder originalOrder, boolean deleteBeforeGuess) {
    try {
      if (deleteBeforeGuess) {
        // 先删除原始猜测的记录
        deleteOriginalOrderBrands(originalOrder);
      }

      List<OriginalOrderItem> originalOrderItemList = originalOrder.getOriginalOrderItemList();
      if (originalOrderItemList == null || originalOrderItemList.isEmpty()) {
        return;
      }
      for (OriginalOrderItem originalOrderItem : originalOrderItemList) {
        String sku = originalOrderItem.getSku();
        if (StringUtils.isBlank(sku)) continue;
        Mealset mealset = mealSetService.findBySku(sku);
        if (mealset != null) {
          for (MealsetItem mealsetItem : mealset.getMealsetItemList()) {
            Product product = mealsetItem.getProduct();
            if (product == null || product.getBrandId() == null) {
              continue;
            }
            createOriginalOrderBrand(originalOrder, originalOrderItem, product.getBrandId());
          }
        } else {
          Product product = productService.findProductBySKU(sku);
          if (product == null || product.getBrandId() == null) {
            continue;
          }
          createOriginalOrderBrand(originalOrder, originalOrderItem, product.getBrandId());
        }
      }
    } catch (Exception e) {
      logger.error("猜测原始订单对应品牌的时候发生错误", e);
    }
  }
Exemplo n.º 2
0
 @Override
 public String toString() {
   return "MealsetItem{"
       + "id="
       + id
       + ", price="
       + price
       + ", amount="
       + amount
       + ", mealsetId="
       + mealsetId
       + ", mealset="
       + mealset.getName()
       + ", productId="
       + productId
       + ", product="
       + product.getName()
       + '}';
 }