From 1e28ac69827ff7578a418a79bd95aff2c6637f5c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期日, 28 六月 2020 16:47:00 +0800
Subject: [PATCH] 2.1.3

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java |   88 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 86 insertions(+), 2 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 318bb4d..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
@@ -18,21 +18,26 @@
 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.OrderHongBaoMoneyComputeService;
-import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 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;
@@ -58,6 +63,12 @@
 
 	@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) {
@@ -93,7 +104,7 @@
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
 		ConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-				acceptData.getVersion(),UserLevelEnum.daRen);
+				acceptData.getVersion(), UserLevelEnum.daRen);
 		/* 閬嶅巻鍒楄〃鏁版嵁 */
 		for (QualityFactory selectionGoods : listQuery) {
 
@@ -193,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