From 207dc8655711cddac2653e18b51e58a88dba2084 Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期五, 06 三月 2020 18:14:36 +0800
Subject: [PATCH] 发圈处理

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java |  194 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 194 insertions(+), 0 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
new file mode 100644
index 0000000..d453a98
--- /dev/null
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java
@@ -0,0 +1,194 @@
+package com.yeshi.fanli.controller.client.v1.h5;
+
+import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.yeshi.utils.JsonUtil;
+
+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.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+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.UserVIPInfoService;
+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 net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("api/apph5/v1/coupon")
+public class AppH5CouponController {
+
+	@Resource
+	private QualityGoodsService qualityGoodsService;
+
+	@Resource
+	private HongBaoManageService hongBaoManageService;
+
+	@Resource
+	private UserInfoService userInfoService;
+
+	@Resource
+	private UserSystemCouponService userSystemCouponService;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private UserVIPInfoService userVIPInfoService;
+
+	@RequestMapping("getMianDanGoodsList")
+	public void getMianDanGoodsList(AcceptData acceptData, PrintWriter out, int page, int pageSize, String callback) {
+		List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize);
+		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();
+
+		ConfigParamsDTO configParamsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
+				acceptData.getVersion());
+		/* 閬嶅巻鍒楄〃鏁版嵁 */
+		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
+			}
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO);
+			array.add(gson.toJson(detailVO));
+		}
+		JSONObject data = new JSONObject();
+		data.put("goodsList", array);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+
+	@RequestMapping("getMianDanInfo")
+	public void getMianDanInfo(AcceptData acceptData, PrintWriter out, Long uid, String callback) {
+		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;
+		}
+		// 鑾峰彇鍏嶅崟鍒告暟閲�
+		long couponCount = userSystemCouponService.countUsableFreeCouponForBuy(uid);
+		JSONObject userJson = new JSONObject();
+		userJson.put("nickName", user.getNickName());
+		userJson.put("portrait", user.getPortrait());
+		userJson.put("id", user.getId());
+
+		JSONObject data = new JSONObject();
+		data.put("user", userJson);
+		data.put("couponCount", couponCount);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 鑾峰彇杩斿埄濂栧姳鍒镐俊鎭�
+	 * 
+	 * @param acceptData
+	 * @param out
+	 * @param uid
+	 * @param callback
+	 */
+	@RequestMapping("getRewardCouponInfo")
+	public void getRewardCouponInfo(AcceptData acceptData, PrintWriter out, Long uid, String callback) {
+		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;
+		}
+		// 鑾峰彇鍏嶅崟鍒告暟閲�
+		long couponCount = userSystemCouponService.countUsableRewardCoupon(uid);
+		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);
+		data.put("couponCount", couponCount);
+		data.put("integralCount", integralCount);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+
+}
\ No newline at end of file

--
Gitblit v1.8.0