/** * 根据条件查询优惠详情 * * @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; }