From 0ffd316f9fb2c967f9d643c6a45a965511566aea Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 26 十一月 2019 15:46:18 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
index bab826d..753bd0f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -5,7 +5,9 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.yeshi.utils.taobao.TbImgUtil;
 
@@ -25,6 +27,7 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
@@ -470,6 +473,51 @@
 		return goodsInfo;
 	}
 
+	private static CouponInfoVO convertJDCouponInfo(JDCouponInfo couponInfo) {
+		CouponInfoVO coupon = new CouponInfoVO();
+		coupon.setAmount(couponInfo.getDiscount());
+		coupon.setLink(couponInfo.getLink());
+		coupon.setStartFee(couponInfo.getQuota());
+
+		if (couponInfo.getGetStartTime() != null) {
+			coupon.setStartTime(TimeUtil.getGernalTime(couponInfo.getGetStartTime(), "yyyy.MM.dd"));
+		}
+
+		if (couponInfo.getGetEndTime() != null) {
+			coupon.setEndTime(TimeUtil.getGernalTime(couponInfo.getGetEndTime(), "yyyy.MM.dd"));
+		}
+
+		return coupon;
+	}
+
+	private static List<CouponInfoVO> filterCouponInfo(List<CouponInfoVO> couponList) {
+		if (couponList == null)
+			return null;
+		long currentTime = System.currentTimeMillis();
+		Set<String> sets = new HashSet<>();
+		// 杩囨护鎺夎繃鏈熷埜
+		for (int i = 0; i < couponList.size(); i++) {
+			if (couponList.get(i).getStartTime() != null && couponList.get(i).getEndTime() != null) {
+				long startTime = TimeUtil.convertToTimeTemp(couponList.get(i).getStartTime(), "yyyy.MM.dd");
+				long endTime = TimeUtil.convertToTimeTemp(couponList.get(i).getEndTime(), "yyyy.MM.dd")
+						+ 1000 * 60 * 60 * 24L;
+				if (currentTime < startTime || currentTime >= endTime) {
+					couponList.remove(i--);
+					continue;
+				}
+			}
+			// 杩囨护鎺夐潰鍊肩浉鍚屼笌璧峰閲戦鐩稿悓鐨�
+			String key = couponList.get(i).getStartFee() + "-" + couponList.get(i).getAmount();
+			if (!sets.contains(key))
+				sets.add(key);
+			else {
+				couponList.remove(i--);
+				continue;
+			}
+		}
+		return couponList;
+	}
+
 	/**
 	 * 娣樺疂鍟嗗搧缁勭粐
 	 * 
@@ -534,6 +582,14 @@
 			goodsInfo.setCouponInfo(coupon);
 		}
 
+		if (goods.getCouponInfoList() != null && goods.getCouponInfoList().size() > 0) {
+			List<CouponInfoVO> couponList = new ArrayList<>();
+			for (JDCouponInfo jdCoupon : goods.getCouponInfoList()) {
+				couponList.add(convertJDCouponInfo(jdCoupon));
+			}
+			goodsInfo.setCouponInfoList(filterCouponInfo(couponList));
+		}
+
 		List<ClientTextStyleVO> labels = goodsInfo.getLabels();
 		// 浜笢鑷惀鏍囩
 		String owner = goods.getOwner();

--
Gitblit v1.8.0