From ec60e757d358636dcac1589c44a66f3e276fe58c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 29 六月 2020 14:41:42 +0800
Subject: [PATCH] 拉新

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 101 insertions(+), 9 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java
index 8d2ea35..98048df 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java
@@ -13,22 +13,31 @@
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.lable.QualityFactory;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.bus.user.vip.TearcherInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
+import com.yeshi.fanli.entity.goods.FreeGoodsCoupon;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.service.inter.goods.FreeGoodsCouponService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
-import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.service.inter.user.vip.TearcherService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.goods.OtherInfo;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -41,16 +50,25 @@
 	private QualityGoodsService qualityGoodsService;
 
 	@Resource
-	private HongBaoManageService hongBaoManageService;
+	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
 	@Resource
 	private UserInfoService userInfoService;
 
 	@Resource
 	private UserSystemCouponService userSystemCouponService;
-	
+
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private UserVIPInfoService userVIPInfoService;
+
+	@Resource
+	private FreeGoodsCouponService freeGoodsCouponService;
+
+	@Resource
+	private TearcherService tearcherService;
 
 	@RequestMapping("getMianDanGoodsList")
 	public void getMianDanGoodsList(AcceptData acceptData, PrintWriter out, int page, int pageSize, String callback) {
@@ -85,8 +103,8 @@
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-		BigDecimal shareRate = hongBaoManageService.getShareRate();
+		ConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+				acceptData.getVersion(), UserLevelEnum.daRen);
 		/* 閬嶅巻鍒楄〃鏁版嵁 */
 		for (QualityFactory selectionGoods : listQuery) {
 
@@ -116,7 +134,7 @@
 			if (couplePrice.compareTo(new BigDecimal("9.9")) == 1) {
 				continue; // 鍒稿悗浠峰ぇ浜�10
 			}
-			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO);
 			array.add(gson.toJson(detailVO));
 		}
 		JSONObject data = new JSONObject();
@@ -171,12 +189,13 @@
 		}
 		// 鑾峰彇鍏嶅崟鍒告暟閲�
 		long couponCount = userSystemCouponService.countUsableRewardCoupon(uid);
-		UserInfoExtra extraInfo=userInfoExtraService.getUserInfoExtra(uid);
-		long integralCount=extraInfo!=null?extraInfo.getGoldCoin():0L;
+		UserInfoExtra extraInfo = userInfoExtraService.getUserInfoExtra(uid);
+		long integralCount = extraInfo != null ? extraInfo.getGoldCoin() : 0L;
 		JSONObject userJson = new JSONObject();
 		userJson.put("nickName", user.getNickName());
 		userJson.put("portrait", user.getPortrait());
 		userJson.put("id", user.getId());
+		userJson.put("vip", userVIPInfoService.isVIP(user.getId()));
 
 		JSONObject data = new JSONObject();
 		data.put("user", userJson);
@@ -185,4 +204,77 @@
 		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 	}
 
-}
+	/**
+	 * 鏂扮増鍏嶅崟鍟嗗搧鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param callback
+	 * @param page
+	 * @param goodsType
+	 * @param out
+	 */
+	@RequestMapping("getFreeGoodsList")
+	public void getFreeGoodsList(AcceptData acceptData, String callback, Long uid, int page, int goodsType,
+			PrintWriter out) {
+		if (uid == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		// 鑾峰彇鐢ㄦ埛淇℃伅
+		UserInfo user = userInfoService.getUserById(uid);
+		if (user == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�"));
+			return;
+		}
+
+		String tearcherWX = null;
+		TearcherInfo tearcherInfo = tearcherService.selectByUid(uid);
+		if (tearcherInfo != null) {
+			tearcherWX = tearcherInfo.getWxID();
+		}
+
+		// 鑾峰彇鍏嶅崟鍒告暟閲�
+		long couponNum = userSystemCouponService.countUsableFreeCouponForBuy(uid);
+
+		JSONArray array = new JSONArray();
+		List<FreeGoodsCoupon> list = freeGoodsCouponService.listByType((page - 1) * Constant.PAGE_SIZE,
+				Constant.PAGE_SIZE, goodsType);
+		if (list != null && list.size() > 0) {
+			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
+			for (FreeGoodsCoupon freeGoods : list) {
+				GoodsDetailVO goods = freeGoods.getGoods();
+				if (goods == null)
+					continue;
+			
+				// 瀹炰粯娆�0
+				OtherInfo otherInfo = goods.getOtherInfo();
+				if (otherInfo == null)
+					otherInfo = new OtherInfo();
+				otherInfo.setActualPay(BigDecimal.ZERO);
+				
+				// 琛ラ綈閲戦
+				if (goods.isHasCoupon()) {
+					otherInfo.setMendMoney(goods.getCouponPrice());
+				} else {
+					otherInfo.setMendMoney(goods.getZkPrice());
+				}
+				goods.setOtherInfo(otherInfo);
+				array.add(gson.toJson(goods));
+			}
+		}
+
+		JSONObject userJson = new JSONObject();
+		userJson.put("nickName", user.getNickName());
+		userJson.put("portrait", user.getPortrait());
+		userJson.put("couponNum", couponNum);
+		userJson.put("tearcherWX", tearcherWX);
+
+		JSONObject data = new JSONObject();
+		data.put("user", userJson);
+		data.put("count", freeGoodsCouponService.countByType(goodsType));
+		data.put("list", array);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+
+}
\ No newline at end of file

--
Gitblit v1.8.0