From b3fce41f7960a21c707788aa87448c3e4de82da9 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期三, 27 二月 2019 11:47:51 +0800
Subject: [PATCH] 福利券 邀请队员成功之后激活

---
 fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 116 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java
index 14fb5cd..017382a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java
@@ -2,8 +2,8 @@
 
 import java.io.PrintWriter;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 import javax.annotation.Resource;
 
@@ -22,7 +22,10 @@
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
+import com.yeshi.fanli.entity.taobao.TaoBaoHongBaoInfo;
 import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.SystemService;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
@@ -39,6 +42,7 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -211,7 +215,6 @@
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-		Map<String, String> map = manageService.convertMap();
 		BigDecimal proportion = hongBaoManageService.getFanLiRate();
 		/* 閬嶅巻鍒楄〃鏁版嵁 */
 		for (QualityFactory selectionGoods : listQuery) {
@@ -1120,4 +1123,115 @@
 		out.print(JsonUtil.loadTrueResult(data));
 		return;
 	}
+	
+	/**
+	 * 瓒呴珮濂栭噾
+	 * 
+	 * @param callback
+	 * @param page
+	 * @param type
+	 * @param out
+	 */
+	@RequestMapping("freeGoods")
+	public void freeGoods(String callback, Integer page, PrintWriter out) {
+
+		if (page == null || page < 1)
+			page = 1;
+
+		int pageSize = Constant.PAGE_SIZE;
+
+		double tkRate = 20;
+		String lableName = "9.9";
+
+		try {
+			List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize, tkRate,
+					lableName);
+			if (listQuery == null || listQuery.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�"));
+				return;
+			}
+
+			List<Long> listGid = new ArrayList<Long>();
+			for (QualityFactory qualityFactory : listQuery) {
+				TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
+
+				if (taoBaoGoodsBrief == null) {
+					continue;
+				}
+				listGid.add(taoBaoGoodsBrief.getAuctionId());
+			}
+
+			// API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
+			List<TaoBaoGoodsBrief> listTaoKeGoods = null;
+			try {
+				listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
+			} catch (TaoKeApiException e) {
+				e.printStackTrace();
+			} catch (TaobaoGoodsDownException e) {
+				e.printStackTrace();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+
+			JSONArray array = new JSONArray();
+			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+			BigDecimal proportion = manageService.getFanLiRate();
+			/* 閬嶅巻鍒楄〃鏁版嵁 */
+			for (QualityFactory selectionGoods : listQuery) {
+
+				TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+
+				if (taoBaoGoodsBrief == null) {
+					continue;
+				}
+
+				if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
+					boolean stateSale = false; // 榛樿鍋滃敭
+					Long goodsId = taoBaoGoodsBrief.getAuctionId();
+					for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
+						Long auctionId = taoKeGoods.getAuctionId();
+						if (goodsId == auctionId || goodsId.equals(auctionId)) {
+							stateSale = true; // 鍦ㄥ敭
+							break;
+						}
+					}
+
+					if (!stateSale) {
+						continue;
+					}
+				}
+
+				BigDecimal couplePrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
+				if (couplePrice.compareTo(new BigDecimal("9.9")) == 1) {
+					continue; // 鍒稿悗浠峰ぇ浜�10
+				}
+
+				TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, 
+						proportion.toString(), null);
+				// 灏嗚繑鍒╂敼涓哄埜鍚庝环
+				TaoBaoHongBaoInfo taoBaoHongBaoInfo = extra.getTaoBaoHongBaoInfo();
+				if (taoBaoHongBaoInfo != null) {
+					taoBaoHongBaoInfo.setHongbao(extra.getQuanPrice());
+					taoBaoHongBaoInfo.setRate("楼" + extra.getQuanPrice());
+				}
+				
+				array.add(gson.toJson(extra));
+			}
+
+			long count = qualityGoodsService.countFreeGoods(tkRate, lableName);
+
+			JSONObject data = new JSONObject();
+			data.put("count", count);
+			data.put("result_list", array);
+			
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
+			e.printStackTrace();
+		}
+	}
+	
 }

--
Gitblit v1.8.0