/**
  * 根据条件查询优惠详情
  *
  * @param promotionInfo
  * @return
  */
 @Transactional(readOnly = true)
 public List<PromotionInfo> findPromotionInfos(PromotionInfo promotionInfo) {
   Search search = new Search(PromotionInfo.class);
   if (promotionInfo != null) {
     if (StringUtils.isNotBlank(promotionInfo.getPlatformOrderNo())) {
       search.addFilterEqual("platformOrderNo", promotionInfo.getPlatformOrderNo());
     }
     if (StringUtils.isNotBlank(promotionInfo.getSkuId())) {
       search.addFilterEqual("skuId", promotionInfo.getSkuId());
     }
     if (NumberUtil.isNotNullOrNotZero(promotionInfo.getOriginalOrderId())) {
       search.addFilterEqual("originalOrderId", promotionInfo.getOriginalOrderId());
     }
   }
   List<PromotionInfo> promotionInfoList = generalDAO.search(search);
   return promotionInfoList;
 }
 /**
  * 获取整单优惠(需要分摊减去的优惠:100-店铺优惠,35-满返满送(返现))
  *
  * @param promotionInfoList 订单优惠详情
  * @return
  */
 private Money getDiscountFee(List<PromotionInfo> promotionInfoList) {
   Money discountFee = Money.valueOf(0);
   if (promotionInfoList == null) {
     return discountFee;
   }
   for (PromotionInfo promotionInfo : promotionInfoList) {
     if (StringUtils.isBlank(promotionInfo.getSkuId())
         && (StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_SHOUJIHONGBAO.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_JINGDOU.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_JINGDONGQUAN.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_LIPINKA.getDesc()))) {
       discountFee = discountFee.add(promotionInfo.getDiscountFee());
     }
   }
   return discountFee;
 }
 /**
  * 获取整单优惠(需要分摊减去的优惠:100-店铺优惠,35-满返满送(返现))
  *
  * @param promotionInfoList 订单优惠详情
  * @return
  */
 private Money getSelfDiscountFee(List<PromotionInfo> promotionInfoList) {
   Money selfDiscountFee = Money.valueOf(0);
   if (promotionInfoList == null) {
     return selfDiscountFee;
   }
   for (PromotionInfo promotionInfo : promotionInfoList) {
     if (StringUtils.isBlank(promotionInfo.getSkuId())
         && (StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_TAOZHUANG.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_SHANTUAN.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_TUANGOU.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_DANPINCUXIAO.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_MANFANMANSONG.getDesc())
             || StringUtils.equals(
                 promotionInfo.getCouponType(), PromotionType.JD_DIANPU.getDesc()))) {
       selfDiscountFee = selfDiscountFee.add(promotionInfo.getDiscountFee());
     }
   }
   return selfDiscountFee;
 }