yujian
2019-05-24 fc0cc7e808f9228b39b1e6b9d29c5417f41dbcc4
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -28,6 +28,7 @@
import org.springframework.stereotype.Component;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.NodeList;
import org.yeshi.utils.BigDecimalUtil;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.entity.ProxyIP;
@@ -1349,9 +1350,11 @@
    * @return
    */
   public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
      BigDecimal money = null;
      if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo())
            || goodsBrief.getCouponInfo().trim().equalsIgnoreCase("无")) {
         return MoneyBigDecimalUtil.mul(
         money = MoneyBigDecimalUtil.mul(
               MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
                     new BigDecimal("0.01")),
               MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
@@ -1363,16 +1366,17 @@
         if (startFee.compareTo(goodsBrief.getZkPrice()) <= 0
               && goodsBrief.getZkPrice().compareTo(couponAccount) > 0) {
            BigDecimal finalPrice = goodsBrief.getZkPrice().subtract(couponAccount);
            return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
            money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
                  .mul(MoneyBigDecimalUtil.mul(finalPrice, goodsBrief.getTkRate()), new BigDecimal("0.01")),
                  MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
         } else {// 不能用券
            return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
            money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
                  MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
                  new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
         }
      }
      return BigDecimalUtil.getWithNoZera(money);
   }
   // }
@@ -1406,30 +1410,7 @@
    */
   public static BigDecimal getShareGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
      // 计算返利
      // 无券
      if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo()) || goodsBrief.getCouponInfo().contains("无")) {
         return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
               .setScale(2, BigDecimal.ROUND_DOWN);
      } else// 有券
      {
         List<BigDecimal> list = TaoBaoCouponUtil.getCouponInfo(goodsBrief.getCouponInfo());
         BigDecimal startFee = list.get(0);
         BigDecimal couponAccount = list.get(1);
         if (startFee.compareTo(goodsBrief.getZkPrice()) <= 0
               && goodsBrief.getZkPrice().compareTo(couponAccount) > 0) {
            BigDecimal finalPrice = goodsBrief.getZkPrice().subtract(couponAccount);
            return finalPrice.multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
                  .setScale(2, BigDecimal.ROUND_DOWN);
         } else {// 不能用券
            return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000))
                  .multiply(rate).setScale(2, BigDecimal.ROUND_DOWN);
         }
      }
      return getGoodsHongBaoMoney(goodsBrief, rate);
   }
   /**