From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 27 八月 2019 12:32:46 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java |  263 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 231 insertions(+), 32 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
index 20b239b..2bf7a0c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
@@ -38,8 +38,8 @@
 import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
-import com.yeshi.fanli.exception.banner.SwiperPictureException;
 import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException;
+import com.yeshi.fanli.exception.tlj.UserTaoLiJinRecordException;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
@@ -65,10 +65,16 @@
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TaoBaoConstant;
 import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.goods.MoneyInfoVO;
+import com.yeshi.fanli.vo.goods.OtherInfo;
 import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+import com.yeshi.fanli.vo.tlj.ReduceHongBao;
+import com.yeshi.fanli.vo.tlj.SpreadHongBao;
 import com.yeshi.fanli.vo.tlj.TaoLiJinDetailVO;
 import com.yeshi.fanli.vo.user.UserTaoLiJinRecordVO;
 
@@ -234,7 +240,7 @@
 		if (todayUse == null || todayUse.compareTo(zero) > 0) {
 			todayUse = zero;
 		}
-		
+
 		BigDecimal yesterdayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 2);
 		if (yesterdayUse == null || yesterdayUse.compareTo(zero) > 0) {
 			yesterdayUse = zero;
@@ -246,15 +252,16 @@
 		BigDecimal lastMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 4);
 		if (lastMonthUse == null || lastMonthUse.compareTo(zero) > 0) {
 			lastMonthUse = zero;
-		}
-		
+		}
+		
+		String giveMin = configTaoLiJinService.getValueByKey("give_min_amount");
 
-		// 闂彿閾炬帴
-		String helpLink = configTaoLiJinService.getValueByKey("hongbao_help_link");
-
+
 		JSONObject data = new JSONObject();
 		data.put("tlj", tlj.setScale(2).toString());
-		data.put("helpLink", helpLink);
+		data.put("giveMin", giveMin);
+		data.put("giveTip", "娉�:璧犻�佹帹骞跨孩鍖呴噾棰濊嚦灏�"+ giveMin +"鍏�");
+		data.put("helpLink", configTaoLiJinService.getValueByKey("hongbao_help_link"));
 		data.put("countShare", countShare);
 		data.put("todayWin", todayWin.setScale(2).toString());
 		data.put("yesterdayWin", yesterdayWin.setScale(2).toString());
@@ -393,7 +400,7 @@
 				// 宸查鍙�
 				money = deviceRecord.getMoney();
 			} else {
-				String value = configTaoLiJinService.getValueByKey("hongbao_newbies");
+				String value = configTaoLiJinService.getValueByKey("hongbao_newbies", null);
 				if (StringUtil.isNullOrEmpty(value)) {
 					out.print(JsonUtil.loadFalseResult(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"));
 					return;
@@ -403,7 +410,7 @@
 			}
 
 			JSONObject data = new JSONObject();
-			data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon"));
+			data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon", null));
 			data.put("title", "鏂颁汉绾㈠寘");
 			data.put("content", "鑷喘鐩存帴鎶电幇锛屼紭鎯犵湡瀹炲彲瑙侊紒");
 			data.put("type", 1);
@@ -411,8 +418,8 @@
 			data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�");
 			data.put("jumpName", "鍘讳娇鐢�");
 			data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
-			data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip"));
-			data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link"));
+			data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip", null));
+			data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link", null));
 
 			out.print(JsonUtil.loadTrueResult(data));
 			return;
@@ -421,7 +428,7 @@
 		// 鐧诲綍鐢ㄦ埛
 		boolean isReceive = false;
 		JSONObject data = new JSONObject();
-		data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon"));
+		data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon", null));
 
 		if (type.equals(TaoLiJinOriginEnum.newbiesWin.name())) {
 			BigDecimal hasMoney = null;
@@ -445,8 +452,8 @@
 			data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�");
 			data.put("jumpName", "鍘讳娇鐢�");
 			data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
-			data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip"));
-			data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link"));
+			data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip", null));
+			data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link", null));
 
 		} else if (type.equals(TaoLiJinOriginEnum.rankWin.name())) {
 			boolean isRank = false;
@@ -482,8 +489,8 @@
 				data.put("money", "鏈湀璐︽埛绛夌骇鏈揪鍒癨r\n缁х画鍔犳补");
 				data.put("jumpName", "鍘绘煡鐪�");
 				data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_rank"));
-				data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip"));
-				data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link"));
+				data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip", null));
+				data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link", null));
 				out.print(JsonUtil.loadTrueResult(data));
 				return;
 			} else {
@@ -498,8 +505,8 @@
 				}
 				data.put("jumpName", "鍘讳娇鐢�");
 				data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
-				data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip"));
-				data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link"));
+				data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip", null));
+				data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link", null));
 			}
 
 		} else {
@@ -543,7 +550,7 @@
 			}
 		}
 
-		BigDecimal proportion = hongBaoManageService.getFanLiRate();
+		BigDecimal proportion = hongBaoManageService.getTLJShareRate(System.currentTimeMillis());
 		for (ShareHotGoods hotGoods : listHot) {
 			TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
 			if (taoBaoGoodsBrief == null) {
@@ -551,7 +558,7 @@
 			}
 
 			// 璁$畻鎺ㄥ箍绾㈠寘
-			String warningRate = configTaoLiJinService.getValueByKey("warning_value");
+			String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date());
 			BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief);
 
 			// 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
@@ -575,10 +582,99 @@
 			array.add(gson.toJson(extra));
 		}
 
-		/*// 杩囨湡 -鍙栨秷鏀跺洖
-		 * executor.execute(new Runnable() {
+		/*
+		 * // 杩囨湡 -鍙栨秷鏀跺洖 executor.execute(new Runnable() {
 		 * 
 		 * @Override public void run() {
+		 * userTaoLiJinOriginService.overdueHongBao(uid); } });
+		 */
+
+		JSONObject data = new JSONObject();
+		data.put("count", array.size());
+		data.put("list", array);
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getShareGoodsV2", method = RequestMethod.POST)
+	public void getShareGoodsV2(AcceptData acceptData, Long uid, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+		List<ShareHotGoods> listHot = shareHotGoodsService.listByDay(day);
+		if (listHot == null) {
+			listHot = new ArrayList<ShareHotGoods>();
+		}
+
+		JSONArray array = new JSONArray();
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+		// 鍙栨秷鏂颁汉鑷喘
+		boolean isNewUser = false;// userInfoExtraService.isNewUser(uid);
+		if (isNewUser) {
+			// 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜��
+			long countRecord = userTaoLiJinRecordService.countRecordByUid(uid);
+			if (countRecord > 0) {
+				isNewUser = false;
+			}
+		}
+
+		BigDecimal fanLiRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis());
+		BigDecimal shareRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis());
+		for (ShareHotGoods hotGoods : listHot) {
+			TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
+			if (taoBaoGoodsBrief == null) {
+				continue;
+			}
+
+			// 璁$畻鎺ㄥ箍绾㈠寘
+			String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date());
+			BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief);
+
+			// 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+			if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) {
+				continue;
+			}
+
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
+			// 鍘绘帀鏍囩
+			detailVO.setLabels(null);
+
+			MoneyInfoVO moneyInfo = detailVO.getMoneyInfo();
+			OtherInfo otherInfo = new OtherInfo();
+			SpreadHongBao spreadHongBao = new SpreadHongBao();
+
+			// 鏄剧ず绫诲瀷
+			if (isNewUser) {
+				moneyInfo.setMoneyType(1);
+				spreadHongBao.setName("鎺ㄥ箍绾㈠寘");
+				spreadHongBao.setMoney(" 楼1");
+			} else {
+				moneyInfo.setMoneyType(2);
+				spreadHongBao.setName("鎺ㄥ箍绾㈠寘");
+				spreadHongBao.setMoney(" 楼" + spreadMoney);
+			}
+			detailVO.setMoneyInfo(moneyInfo);
+			otherInfo.setSpreadHongBao(spreadHongBao);
+			detailVO.setOtherInfo(otherInfo);
+
+			array.add(gson.toJson(detailVO));
+		}
+
+		/*
+		 * executor.execute(new Runnable() {
+		 * 
+		 * @Override public void run() { // 杩囨湡
 		 * userTaoLiJinOriginService.overdueHongBao(uid); } });
 		 */
 
@@ -618,6 +714,11 @@
 			// 璁$畻鎺ㄥ箍绾㈠寘
 			BigDecimal spreadMoney = TaoBaoUtil.getGoodsHongBaoMoney(taoBaoGoodsBrief, proportion);
 
+			// 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+			if (spreadMoney.compareTo(new BigDecimal(1.0)) < 0) {
+				continue;
+			}
+
 			TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(),
 					null);
 			// 鍘绘帀鏍囩
@@ -645,18 +746,116 @@
 		data.put("count", array.size());
 		data.put("list", array);
 		if (page == 1) {
-			try {
-				List<SwiperPicture> bannerList = swiperPictureService.getByBannerCard("zigoulijian_banner");
-				if (bannerList != null && bannerList.size() > 0)
-					data.put("topPicture", bannerList.get(0).getSrc());
-				else
-					data.put("topPicture", "");
-			} catch (SwiperPictureException e) {
-				e.printStackTrace();
-			}
+			List<SwiperPicture> bannerList = swiperPictureService.getByBannerCard("zigoulijian_banner");
+
+			if (bannerList != null && bannerList.size() > 0)
+				data.put("topPicture", bannerList.get(0).getSrc());
+			else
+				data.put("topPicture", "");
+
 			data.put("ruleUrl", configService.get("zigoulijian_rule"));
 		}
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
+	/**
+	 * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getBuyGoodsV2", method = RequestMethod.POST)
+	public void getBuyGoodsV2(AcceptData acceptData, int page, PrintWriter out) {
+
+		String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+		List<TLJBuyGoods> listHot = tljBuyGoodsService.listByDay(day);
+		if (listHot == null) {
+			listHot = new ArrayList<TLJBuyGoods>();
+		}
+
+		JSONArray array = new JSONArray();
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+		BigDecimal proportion = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
+		for (TLJBuyGoods hotGoods : listHot) {
+			TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
+			if (taoBaoGoodsBrief == null) {
+				continue;
+			}
+
+			// 璁$畻鎺ㄥ箍绾㈠寘
+			BigDecimal spreadMoney = TaoBaoUtil.getGoodsHongBaoMoney(taoBaoGoodsBrief, proportion);
+
+			// 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+			if (spreadMoney.compareTo(new BigDecimal(1.0)) < 0) {
+				continue;
+			}
+
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, proportion, proportion);
+			// 鍘绘帀鏍囩
+			detailVO.setLabels(null);
+
+			MoneyInfoVO moneyInfo = detailVO.getMoneyInfo();
+			moneyInfo.setMoneyType(2);
+			detailVO.setMoneyInfo(moneyInfo);
+
+			String hongBao = spreadMoney.toString();
+			ReduceHongBao vo = new ReduceHongBao();
+			vo.setLeft(hotGoods.getLeftHongBaoCount());
+			vo.setMoney(" 楼" + hongBao);
+			vo.setName("浠樻绔嬪噺 ");
+			vo.setTip("");
+			vo.setTotal(hotGoods.getTotalHongBaoCount());
+
+			OtherInfo otherInfo = new OtherInfo();
+			otherInfo.setReduceHongBao(vo);
+			detailVO.setOtherInfo(otherInfo);
+
+			array.add(gson.toJson(detailVO));
+		}
+
+		if (page > 1)
+			array.clear();
+
+		JSONObject data = new JSONObject();
+		data.put("count", array.size());
+		data.put("list", array);
+		if (page == 1) {
+			List<SwiperPicture> bannerList = swiperPictureService.getByBannerCard("zigoulijian_banner");
+
+			if (bannerList != null && bannerList.size() > 0)
+				data.put("topPicture", bannerList.get(0).getSrc());
+			else
+				data.put("topPicture", "");
+
+			data.put("ruleUrl", configService.get("zigoulijian_rule"));
+		}
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+	
+	
+	/**
+	 * 璧犻�佹窐绀奸噾
+	 * @param acceptData
+	 * @param uid
+	 * @param amount
+	 * @param out
+	 */
+	@RequestMapping(value = "giveTLJ", method = RequestMethod.POST)
+	public void giveTLJ(AcceptData acceptData, Long uid, BigDecimal amount, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		
+		try {
+			String tips = userTaoLiJinRecordService.giveTaolijin(uid, amount);
+			out.print(JsonUtil.loadTrueResult(tips));
+		} catch (UserTaoLiJinRecordException e) {
+			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+		}
+	}
+
 }

--
Gitblit v1.8.0