From e56237a31ca70bc6bb1ba8ffab12a0bea90cddb3 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 22 四月 2019 17:40:09 +0800
Subject: [PATCH] 免单券使用记录查询优化

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java |   78 +++++++++++----------------------------
 1 files changed, 22 insertions(+), 56 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
index a04d0aa..6655d9d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -39,7 +39,6 @@
 import com.google.gson.reflect.TypeToken;
 import com.yeshi.fanli.entity.common.ImageInfo;
 import com.yeshi.fanli.entity.goods.CommonGoods;
-import com.yeshi.fanli.entity.taobao.ScanHistory;
 import com.yeshi.fanli.entity.taobao.SearchFilter;
 import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -1022,53 +1021,6 @@
 			return null;
 	}
 
-	public static TaoBaoGoodsBrief getTaoBaoGoodsBrief(ScanHistory sh) {
-		TaoBaoGoodsBrief tb = new TaoBaoGoodsBrief();
-		Field[] fields = tb.getClass().getDeclaredFields();
-		Field[] shFields = sh.getClass().getDeclaredFields();
-		for (int i = 0; i < fields.length; i++) {
-			Field field = fields[i];
-			field.setAccessible(true);
-			try {
-				for (Field target : shFields) {
-					target.setAccessible(true);
-					if (target.getName().equalsIgnoreCase(field.getName())) {
-						field.set(tb, target.get(sh));
-						break;
-					}
-				}
-			} catch (IllegalArgumentException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			}
-		}
-		return tb;
-	}
-
-	public static ScanHistory getScanHistory(TaoBaoGoodsBrief tb) {
-		ScanHistory sh = new ScanHistory();
-		Field[] fields = tb.getClass().getDeclaredFields();
-		Field[] shFields = sh.getClass().getDeclaredFields();
-		for (int i = 0; i < fields.length; i++) {
-			Field field = fields[i];
-			field.setAccessible(true);
-			try {
-				for (Field target : shFields) {
-					target.setAccessible(true);
-					if (target.getName().equalsIgnoreCase(field.getName())) {
-						target.set(sh, field.get(tb));
-						break;
-					}
-				}
-			} catch (IllegalArgumentException e) {
-			} catch (IllegalAccessException e) {
-			}
-		}
-
-		return sh;
-	}
-
 	public static List<String> getSuguestSearch(String key) {
 		try {
 			String url = String.format("https://suggest.taobao.com/sug?code=utf-8&q=%s&_=1486720576511",
@@ -1357,8 +1309,11 @@
 	 *            鐢ㄦ埛鍐嶆鍒嗘垚姣斾緥锛�0-100锛�
 	 * @return
 	 */
-	public static String getGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
-		return "楼" + getGoodsHongBaoMoney(goodsBrief, rate).toString();
+	public static String getGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
+		if (goodsBrief != null && goodsBrief.getMaterialLibType() != null && goodsBrief.getMaterialLibType() == 0)
+			return "楼0.00";
+		else
+			return "楼" + getGoodsHongBaoMoney(goodsBrief, rate).toString();
 	}
 
 	/**
@@ -1371,8 +1326,10 @@
 	public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
 		if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo())
 				|| goodsBrief.getCouponInfo().trim().equalsIgnoreCase("鏃�")) {
-			return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
-					.setScale(2, BigDecimal.ROUND_DOWN);
+			return MoneyBigDecimalUtil.mul(
+					MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
+							new BigDecimal("0.01")),
+					MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
 		} else// 鏈夊埜
 		{
 			List<BigDecimal> list = TaoBaoCouponUtil.getCouponInfo(goodsBrief.getCouponInfo());
@@ -1381,11 +1338,14 @@
 			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);
+				return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
+						.mul(MoneyBigDecimalUtil.mul(finalPrice, goodsBrief.getTkRate()), new BigDecimal("0.01")),
+						MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
+
 			} else {// 涓嶈兘鐢ㄥ埜
-				return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000))
-						.multiply(rate).setScale(2, BigDecimal.ROUND_DOWN);
+				return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
+						MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
+						new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
 			}
 		}
 	}
@@ -1765,6 +1725,12 @@
 				goods.setPictUrl(picture.startsWith("http") ? picture : "https:" + picture);
 			}
 			goods.setSellerId(seller.optLong("shopId"));
+			String shopType = seller.optString("shopType");
+			if ("B".equalsIgnoreCase(shopType)) {
+				goods.setUserType(1);
+			} else
+				goods.setUserType(0);
+
 			goods.setShopTitle(seller.optString("shopName"));
 			return goods;
 		}

--
Gitblit v1.8.0