From 0cc3b905e5945d1b4b02ee5f91a615bcfd8f08d6 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 25 七月 2019 11:44:10 +0800
Subject: [PATCH] 京东兼容

---
 fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java |  138 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 99 insertions(+), 39 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 bb5a0f6..03b7b2a 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
@@ -9,7 +9,9 @@
 
 import org.yeshi.utils.taobao.TbImgUtil;
 
+import com.yeshi.fanli.dto.common.GoodsOtherInfoDTO;
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
+import com.yeshi.fanli.dto.jd.JDPingouInfo;
 import com.yeshi.fanli.dto.jd.JDShopInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.goods.CommonGoods;
@@ -31,6 +33,8 @@
 import com.yeshi.fanli.vo.goods.MoneyInfoVO;
 import com.yeshi.fanli.vo.goods.ShopInfoVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+
+import net.sf.json.JSONObject;
 
 /**
  * 鍟嗗搧鍔犲伐
@@ -57,10 +61,13 @@
 		Integer shopType = goods.getShopType();
 		if (shopType == null) { 
 			goodsInfo.setShopType(10); // 娣樺疂
+			goodsInfo.setPriceName("娣樺疂浠�");
 	    } else if (shopType == 1) {
 			goodsInfo.setShopType(10); // 娣樺疂
+			goodsInfo.setPriceName("娣樺疂浠�");
 		} else if (shopType == 2) {
 			goodsInfo.setShopType(11); // 澶╃尗
+			goodsInfo.setPriceName("澶╃尗浠�");
 		} else {
 			goodsInfo.setShopType(goods.getShopType());
 		}
@@ -70,8 +77,37 @@
 			goodsType = Constant.SOURCE_TYPE_TAOBAO;
 		}
 		
-		if (goodsType == Constant.SOURCE_TYPE_PDD) {
+		GoodsOtherInfoDTO otherDTO = null;
+		String otherInfo = goods.getOtherInfo();
+		if (!StringUtil.isNullOrEmpty(otherInfo)) {
+			JSONObject json = JSONObject.fromObject(otherInfo);
+			otherDTO = (GoodsOtherInfoDTO)JSONObject.toBean(json,GoodsOtherInfoDTO.class);
+		}
+		
+		if (goodsType == Constant.SOURCE_TYPE_JD) {
+			// 鏈堥攢閲�
+			goodsInfo.setSalesType(1); 
+			// 鑷惀
+			String owner = otherDTO.getOwner();
+			if (!StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) {
+				List<ClientTextStyleVO> labels = new ArrayList<ClientTextStyleVO>();
+				ClientTextStyleVO  textStyleVO = new ClientTextStyleVO();
+				textStyleVO.setContent("浜笢鑷惀");
+				textStyleVO.setColor("#E42219");
+				labels.add(textStyleVO);
+				goodsInfo.setLabels(labels);
+			}
+			// 鎷煎洟浠�
+			JDPingouInfo pinGouInfo = otherDTO.getPinGouInfo();
+			if (pinGouInfo != null) {
+				goods.setPrice(pinGouInfo.getPingouPrice());
+				goodsInfo.setPriceName("鎷艰喘浠�");
+			} else {
+				goodsInfo.setPriceName("浜笢浠�");
+			}
+		} else if (goodsType == Constant.SOURCE_TYPE_PDD){
 			goodsInfo.setSalesType(4); // 鎬婚攢閲�
+			goodsInfo.setPriceName("鎷煎洟浠�");
 		} else {
 			goodsInfo.setSalesType(1); // 鏈堥攢閲�
 		}
@@ -91,7 +127,6 @@
 		} else {
 			goodsInfo.setPicUrl(goods.getPicture());
 		}
-		
 
 		// 璧勯噾淇℃伅
 		MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
@@ -158,8 +193,10 @@
 		Integer shopType = goods.getUserType();
 		if (shopType != null && shopType == 1) {
 			goodsInfo.setShopType(11); // 澶╃尗
+			goodsInfo.setPriceName("澶╃尗浠�");
 		} else {
 			goodsInfo.setShopType(10); // 娣樺疂
+			goodsInfo.setPriceName("娣樺疂浠�");
 		}
 
 		// 璧勯噾淇℃伅
@@ -254,8 +291,10 @@
 		Integer shopType = goods.getUserType();
 		if (shopType != null && shopType == 1) {
 			goodsInfo.setShopType(11); // 澶╃尗
+			goodsInfo.setPriceName("澶╃尗浠�");
 		} else {
 			goodsInfo.setShopType(10); // 娣樺疂
+			goodsInfo.setPriceName("娣樺疂浠�");
 		}
 
 		// 璧勯噾淇℃伅
@@ -321,7 +360,6 @@
 		goodsInfo.setTitle(goods.getSkuName());
 		goodsInfo.setSalesType(1); // 榛樿鏈堥攢閲�
 		goodsInfo.setPicUrl(goods.getPicUrl());
-		goodsInfo.setZkPrice(goods.getPrice());
 		goodsInfo.setImgList(goods.getImageList());
 		goodsInfo.setState(0);
 		goodsInfo.setShopType(20); // 浜笢
@@ -336,7 +374,17 @@
 			salesCountMidea = salesCountMidea + "涓�";
 		}
 		goodsInfo.setSalesCount(salesCountMidea);
-
+		
+		
+		JDPingouInfo pinGouInfo = goods.getPinGouInfo();
+		if (pinGouInfo != null) {
+			goodsInfo.setZkPrice(pinGouInfo.getPingouPrice());
+			goodsInfo.setPriceName("鎷艰喘浠�");
+		} else {
+			goodsInfo.setZkPrice(goods.getPrice());
+			goodsInfo.setPriceName("浜笢浠�");
+		}
+		
 		
 		// 璧勯噾淇℃伅
 		MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
@@ -345,33 +393,34 @@
 		moneyInfoVO.setShareMoney("楼" + JDUtil.getGoodsFanLiMoney(goods, shareRate));
 		goodsInfo.setMoneyInfo(moneyInfoVO);
 
+		
+		
 		JDCouponInfo couponInfo = goods.getCouponInfo();
 		if (couponInfo != null) {
 			BigDecimal discount = couponInfo.getDiscount();
-			BigDecimal price = goods.getPrice();
 			// 璁$畻鍒稿悗浠�
-			BigDecimal sub = price.subtract(couponInfo.getQuota());
-			if (sub.compareTo(BigDecimal.valueOf(0)) >= 0) {
-				BigDecimal quanPrice = MoneyBigDecimalUtil.sub(price, discount);
-				goodsInfo.setCouponPrice(quanPrice);
-			} else {
-				goodsInfo.setCouponPrice(price);
-			}
+			goodsInfo.setCouponPrice(JDUtil.getQuanPrice(goods));
+			
 
 			SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
 			CouponInfoVO coupon = new CouponInfoVO();
 			coupon.setAmount(discount);
-			if (couponInfo.getGetStartTime() != null) {
-				coupon.setStartTime(sdf.format(new Date(couponInfo.getGetStartTime())));
-			} else {
-				coupon.setStartTime(sdf.format(new Date()));
-			}
+			
+			 int ran2 = (int) (Math.random()*(5) + 1 ); 
+			 if (ran2 > 3) {
+				 if (couponInfo.getGetStartTime() != null) {
+						coupon.setStartTime(sdf.format(new Date(couponInfo.getGetStartTime())));
+					} else {
+						coupon.setStartTime(sdf.format(new Date()));
+					}
 
-			if (couponInfo.getGetEndTime() != null) {
-				coupon.setEndTime(sdf.format(new Date(couponInfo.getGetEndTime())));
-			} else {
-				coupon.setEndTime(sdf.format(new Date()));
-			}
+					if (couponInfo.getGetEndTime() != null) {
+						coupon.setEndTime(sdf.format(new Date(couponInfo.getGetEndTime())));
+					} else {
+						coupon.setEndTime(sdf.format(new Date()));
+					}
+			 }
+			
 			
 			// TODO
 //			coupon.setLeftCount(leftCount);
@@ -384,16 +433,6 @@
 			goodsInfo.setCouponInfo(coupon);
 		}
 
-		// 搴楅摵淇℃伅
-		JDShopInfo shopInfo = goods.getShopInfo();
-		if (shopInfo != null && !StringUtil.isNullOrEmpty(shopInfo.getShopName())) {
-			ShopInfoVO shop = new ShopInfoVO();
-			shop.setShopName(shopInfo.getShopName());
-			shop.setId(shopInfo.getShopId().toString());
-			goodsInfo.setShopInfo(shop);
-		}
-
-		
 		// 浜笢鑷惀鏍囩
 		String owner = goods.getOwner();
 		if (!StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) {
@@ -404,7 +443,20 @@
 			labels.add(textStyleVO);
 			goodsInfo.setLabels(labels);
 		}
-		
+				
+		// 搴楅摵淇℃伅
+		JDShopInfo shopInfo = goods.getShopInfo();
+		if (shopInfo != null && !StringUtil.isNullOrEmpty(shopInfo.getShopName())) {
+			ShopInfoVO shop = new ShopInfoVO();
+			shop.setShopName(shopInfo.getShopName());
+			shop.setId(shopInfo.getShopId().toString());
+			if (!StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) {
+				shop.setUserType(20);
+			} else {
+				shop.setUserType(21);
+			}
+			goodsInfo.setShopInfo(shop);
+		}
 		return goodsInfo;
 	}
 
@@ -423,6 +475,7 @@
 		goodsInfo.setGoodsId(goods.getGoodsId());
 		goodsInfo.setTitle(goods.getGoodsName());
 		goodsInfo.setSalesType(4); // 鎬婚攢閲�
+		goodsInfo.setPriceName("鎷煎洟浠�");
 		goodsInfo.setPicUrl(goods.getGoodsThumbnailUrl()); // 缂╃暐鍥�
 		goodsInfo.setZkPrice(MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), new BigDecimal(100)).setScale(2));
 		goodsInfo.setShopType(30); // 鎷煎澶�
@@ -471,13 +524,20 @@
 			SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
 			CouponInfoVO coupon = new CouponInfoVO();
 			coupon.setAmount(amount);
-			if (goods.getCouponStartTime() != null) {
-				coupon.setStartTime(sdf.format(new Date(goods.getCouponStartTime() * 1000)));
-			}
+			
+			
+		    int ran2 = (int) (Math.random()*(5) + 1 ); 
+			 
+		    if (ran2 > 3) {
+		    	if (goods.getCouponStartTime() != null) {
+					coupon.setStartTime(sdf.format(new Date(goods.getCouponStartTime() * 1000)));
+				}
 
-			if (goods.getCouponEndTime() != null) {
-				coupon.setEndTime(sdf.format(new Date(goods.getCouponEndTime() * 1000)));
-			}
+				if (goods.getCouponEndTime() != null) {
+					coupon.setEndTime(sdf.format(new Date(goods.getCouponEndTime() * 1000)));
+				}
+		    }
+			
 			coupon.setLink(null);
 			coupon.setStartFee(startFree);
 

--
Gitblit v1.8.0