From a1be6075c6b1365a7abc66bf559d6058039248ab Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 19 五月 2021 18:13:29 +0800
Subject: [PATCH] 淘礼金兼容

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 1399 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 705 insertions(+), 694 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
index be91212..a6f813e 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -2,7 +2,8 @@
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO;
+import com.yeshi.fanli.lijin.manager.GoodsLijinMnager;
 import com.yeshi.goods.facade.dto.taobao.dataoke.DingDongTime;
 import com.yeshi.fanli.dto.jd.JDSearchResult;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
@@ -71,815 +72,825 @@
 @RequestMapping("api/v2/recommend")
 public class RecommendControllerV2 {
 
-	@Resource
-	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+    @Resource
+    private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
-	@Resource
-	private QualityGoodsService qualityGoodsService;
+    @Resource
+    private QualityGoodsService qualityGoodsService;
 
-	@Resource
-	private RedisManager redisManager;
+    @Resource
+    private RedisManager redisManager;
 
-	@Resource
-	private HomeRecommendGoodsService homeRecommendGoodsService;
+    @Resource
+    private HomeRecommendGoodsService homeRecommendGoodsService;
 
-	@Resource
-	private ConfigService configService;
+    @Resource
+    private ConfigService configService;
 
-	@Resource
-	private MonitorService monitorService;
+    @Resource
+    private MonitorService monitorService;
 
-	@Resource
-	private QualityFlashSaleService qualityFlashSaleService;
+    @Resource
+    private QualityFlashSaleService qualityFlashSaleService;
 
-	@Resource
-	private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
+    @Resource
+    private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
 
-	@Resource
-	private JumpDetailV2Service jumpDetailV2Service;
+    @Resource
+    private JumpDetailV2Service jumpDetailV2Service;
 
-	@Resource
-	private DeviceSexService deviceSexService;
+    @Resource
+    private DeviceSexService deviceSexService;
 
-	@Resource
-	private SpecialService specialService;
+    @Resource
+    private SpecialService specialService;
 
-	@Resource
-	private SwiperPictureService swiperPictureService;
+    @Resource
+    private SwiperPictureService swiperPictureService;
 
-	@Resource
-	private JDGoodsService jdGoodsService;
+    @Resource
+    private JDGoodsService jdGoodsService;
 
-	@Resource
-	private PDDGoodsService pddGoodsService;
+    @Resource
+    private PDDGoodsService pddGoodsService;
 
-	@Resource
-	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+    @Resource
+    private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
 
-	@Resource
-	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+    @Resource
+    private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
 
-	@Resource
-	private DaTaoKeGoodsService daTaoKeGoodsService;
+    @Resource
+    private DaTaoKeGoodsService daTaoKeGoodsService;
 
-	@Resource
-	private HongBaoV2CountService hongBaoV2CountService;
-	
-	@Resource
-	private HongBaoManageService hongBaoManageService;
+    @Resource
+    private HongBaoV2CountService hongBaoV2CountService;
 
-	/**
-	 * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping(value = "getRecommendIndex")
-	public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) {
-		try {
-			// 鑾峰彇璁惧瀹氫箟鎬у埆
-			int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice(),acceptData.getSystem());
+    @Resource
+    private HongBaoManageService hongBaoManageService;
 
-			// 1銆佷笓棰樻ā鍧�
-			JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex,acceptData.getSystem());
+    @Resource
+    private GoodsLijinMnager goodsLijinMnager;
 
-			// 2銆侀《閮ㄨ疆鎾浘
-			List<BannerVO> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top",
-					acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
+    /**
+     * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getRecommendIndex")
+    public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) {
+        try {
+            // 鑾峰彇璁惧瀹氫箟鎬у埆
+            int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice(), acceptData.getSystem());
 
-			List<BannerVO> topPicList = new ArrayList<>();
-			if (oldtopPicList != null && oldtopPicList.size() > 0)
-				topPicList.addAll(oldtopPicList);
+            // 1銆佷笓棰樻ā鍧�
+            JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex, acceptData.getSystem());
 
-			root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
+            // 2銆侀《閮ㄨ疆鎾浘
+            List<BannerVO> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top",
+                    acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem());
 
-			// 3銆侀個璇锋湁濂�
-			List<BannerVO> invitePicList = null;
-			if ("ios".equalsIgnoreCase(acceptData.getPlatform())
-					&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()),acceptData.getSystem())) {
-				// 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
-			} else {
-				invitePicList = swiperPictureService.getByBannerCardAndVersion("index_invite", acceptData.getPlatform(),
-						Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
-			}
+            List<BannerVO> topPicList = new ArrayList<>();
+            if (oldtopPicList != null && oldtopPicList.size() > 0)
+                topPicList.addAll(oldtopPicList);
 
-			if (invitePicList == null) {
-				invitePicList = new ArrayList<BannerVO>();
-			}
-			root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList));
+            root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
 
-			// 4銆両OS鐨勫簳閮ㄧ綉椤甸摼鎺�
-			String platform = acceptData.getPlatform();
-			if ("ios".equalsIgnoreCase(platform)) {
-				root.put("htmlLink", configService.getValue(ConfigKeyEnum.indexHtmlLinkIos.getKey(),acceptData.getSystem()));
-			}
+            // 3銆侀個璇锋湁濂�
+            List<BannerVO> invitePicList = null;
+            if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+                    && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())) {
+                // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
+            } else {
+                invitePicList = swiperPictureService.getByBannerCardAndVersion("index_invite", acceptData.getPlatform(),
+                        Integer.parseInt(acceptData.getVersion()), acceptData.getSystem());
+            }
 
-			root.put("spikeGoods", getSpikeGoodsContent(acceptData));
-			if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
-				root.put("scoreExchange", getScoreExchangeInfo(acceptData));
+            if (invitePicList == null) {
+                invitePicList = new ArrayList<BannerVO>();
+            }
+            root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList));
 
-			if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
-				root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
+            // 4銆両OS鐨勫簳閮ㄧ綉椤甸摼鎺�
+            String platform = acceptData.getPlatform();
+            if ("ios".equalsIgnoreCase(platform)) {
+                root.put("htmlLink", configService.getValue(ConfigKeyEnum.indexHtmlLinkIos.getKey(), acceptData.getSystem()));
+            }
 
-			out.print(JsonUtil.loadTrueResult(root));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult(1, "鑾峰彇鏁版嵁澶辫触"));
-			try {
-				LogHelper.errorDetailInfo(e);
-			} catch (Exception e1) {
-				e1.printStackTrace();
-			}
-		}
-	}
+            root.put("spikeGoods", getSpikeGoodsContent(acceptData));
+            if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
+                root.put("scoreExchange", getScoreExchangeInfo(acceptData));
 
-	/**
-	 * 闄愭椂绉掓潃 1.5.3
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping(value = "getSpikeGoods")
-	public void getSpikeGoods(AcceptData acceptData, PrintWriter out) {
-		JSONObject root = getSpikeGoodsContent(acceptData);
-		out.print(JsonUtil.loadTrueResult(root));
-	}
+            if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
+                root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
 
-	private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
-		long nowTime = System.currentTimeMillis();
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTimeInMillis(nowTime);
-		List<DingDongTime> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
-		int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
-		String timeStr = null;
-		int nextPos = 0;
-		for (int i = 0; i < dtoList.size() - 1; i++) {
-			if (dateNum >= Integer.parseInt(dtoList.get(i).getTime())
-					&& dateNum < Integer.parseInt(dtoList.get(i + 1).getTime())) {
-				timeStr = dtoList.get(i).getTime();
-				nextPos = i + 1;
-				break;
-			}
-		}
+            out.print(JsonUtil.loadTrueResult(root));
+        } catch (Exception e) {
+            out.print(JsonUtil.loadFalseResult(1, "鑾峰彇鏁版嵁澶辫触"));
+            try {
+                LogHelper.errorDetailInfo(e);
+            } catch (Exception e1) {
+                e1.printStackTrace();
+            }
+        }
+    }
 
-		if (timeStr == null)
-			timeStr = dtoList.get(dtoList.size() - 1).getTime();
+    /**
+     * 闄愭椂绉掓潃 1.5.3
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getSpikeGoods")
+    public void getSpikeGoods(AcceptData acceptData, PrintWriter out) {
+        JSONObject root = getSpikeGoodsContent(acceptData);
+        out.print(JsonUtil.loadTrueResult(root));
+    }
 
-		long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂
-		if (nextPos < dtoList.size()) {
-			nextTime = TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(), "yyyyMMddHH");
-		}
+    private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
+        long nowTime = System.currentTimeMillis();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeInMillis(nowTime);
+        List<DingDongTime> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
+        int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
+        String timeStr = null;
+        int nextPos = 0;
+        for (int i = 0; i < dtoList.size() - 1; i++) {
+            if (dateNum >= Integer.parseInt(dtoList.get(i).getTime())
+                    && dateNum < Integer.parseInt(dtoList.get(i + 1).getTime())) {
+                timeStr = dtoList.get(i).getTime();
+                nextPos = i + 1;
+                break;
+            }
+        }
 
-		JSONArray array = null;
-		String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHourNew,acceptData.getPlatform() +"-"+acceptData.getVersion());
-		String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsListNew,acceptData.getPlatform() +"-"+acceptData.getVersion());
+        if (timeStr == null)
+            timeStr = dtoList.get(dtoList.size() - 1).getTime();
 
-		
-		Calendar nowCalendar = Calendar.getInstance();
-		nowCalendar.setTimeInMillis(nowTime);
-		int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
+        long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂
+        if (nextPos < dtoList.size()) {
+            nextTime = TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(), "yyyyMMddHH");
+        }
 
-		String timeValue = redisManager.getCommonString(timekey);
-		if (timeValue == null || !timeValue.equals(hour + "")) {
-			redisManager.cacheCommonString(timekey, hour + "", 60 * 30);
-		} else {
-			String cacheValue = redisManager.getCommonString(cachekey);
-			if (!StringUtil.isNullOrEmpty(cacheValue)) {
-				array = JSONArray.fromObject(cacheValue);
-			}
-		}
+        JSONArray array = null;
+        String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHourNew, acceptData.getPlatform() + "-" + acceptData.getVersion());
+        String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsListNew, acceptData.getPlatform() + "-" + acceptData.getVersion());
 
-		JumpDetailV2 jumpDetail = null;
-		if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
-			jumpDetail = jumpDetailV2Service.getByTypeCache("spike_goods_list");
-		} else {
-			jumpDetail = jumpDetailV2Service.getByTypeCache("web");
-		}
 
-		if (array == null) {
-			array = new JSONArray();
-			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
-					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+        Calendar nowCalendar = Calendar.getInstance();
+        nowCalendar.setTimeInMillis(nowTime);
+        int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
 
-			// 缂撳瓨涓笉瀛樺湪
-			List<DaTaoKeDetailV2> listGoods = daTaoKeGoodsDetailV2Service.getDingDongQiangData(timeStr);
-			if (listGoods == null) {
-				listGoods = new ArrayList<>();
-			}
+        String timeValue = redisManager.getCommonString(timekey);
+        if (timeValue == null || !timeValue.equals(hour + "")) {
+            redisManager.cacheCommonString(timekey, hour + "", 60 * 30);
+        } else {
+            String cacheValue = redisManager.getCommonString(cachekey);
+            if (!StringUtil.isNullOrEmpty(cacheValue)) {
+                array = JSONArray.fromObject(cacheValue);
+            }
+        }
 
-			if (listGoods != null && listGoods.size() > 3)
-				listGoods = listGoods.subList(0, 3);
+        JumpDetailV2 jumpDetail = null;
+        if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+            jumpDetail = jumpDetailV2Service.getByTypeCache("spike_goods_list");
+        } else {
+            jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+        }
 
-			/* 閬嶅巻鍒楄〃鏁版嵁 */
+        if (array == null) {
+            array = new JSONArray();
+            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+                    .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-			ConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-					acceptData.getVersion(),acceptData.getSystem());
+            // 缂撳瓨涓笉瀛樺湪
+            List<DaTaoKeDetailV2> listGoods = daTaoKeGoodsDetailV2Service.getDingDongQiangData(timeStr);
+            if (listGoods == null) {
+                listGoods = new ArrayList<>();
+            }
 
-			for (DaTaoKeDetailV2 detail : listGoods) {
-				TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail);
-				if (taoBaoGoodsBrief == null) {
-					continue;
-				}
-				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO);
+            if (listGoods != null && listGoods.size() > 3)
+                listGoods = listGoods.subList(0, 3);
 
-				JSONObject params = new JSONObject();
-				params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(),acceptData.getSystem()) + "?id=" + taoBaoGoodsBrief.getAuctionId());
+            /* 閬嶅巻鍒楄〃鏁版嵁 */
 
-				JSONObject goods = new JSONObject();
-				goods.put("goods", gson.toJson(detailVO));
-				goods.put("params", params);
-				goods.put("jumpDetail", jumpDetail);
+            GoodsMoneyConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                    acceptData.getVersion(), acceptData.getSystem());
 
-				// 1.5.4鍙婁互鍚庤繑鍥�
-				if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) {
-					array.add(goods);
-				} else {
-					array.add(goods.optJSONObject("goods"));
-				}
-			}
+            for (DaTaoKeDetailV2 detail : listGoods) {
+                TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail);
+                if (taoBaoGoodsBrief == null) {
+                    continue;
+                }
+                GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO);
 
-			// 缂撳瓨鍗婁釜灏忔椂
-			redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
-		}
+                JSONObject params = new JSONObject();
+                params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(), acceptData.getSystem()) + "?id=" + taoBaoGoodsBrief.getAuctionId());
 
-		// 鑾峰彇浠婂ぉ鐨勬暟鎹�
+                JSONObject goods = new JSONObject();
+                goods.put("goods", gson.toJson(detailVO));
+                goods.put("params", params);
+                goods.put("jumpDetail", jumpDetail);
 
-		Long endTime = nextTime - nowTime;
+                // 1.5.4鍙婁互鍚庤繑鍥�
+                if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) {
+                    array.add(goods);
+                } else {
+                    array.add(goods.optJSONObject("goods"));
+                }
+            }
 
-		JSONObject root = new JSONObject();
+            // 缂撳瓨鍗婁釜灏忔椂
+            redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
+        }
 
-		if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
-			root.put("time", nextTime);
-			root.put("endTime", endTime > 0 ? endTime : 0);
-			JSONArray imgArray = new JSONArray();
-			if (array != null)
-				for (int i = 0; i < array.size(); i++) {
-					imgArray.add(array.optJSONObject(i).optJSONObject("goods").optString("picUrl"));
-				}
-			root.put("imgList", imgArray);
-			JSONObject params = new JSONObject();
-			params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(),acceptData.getSystem()));
-			root.put("params", params);
-			root.put("jumpDetail", jumpDetail);
-			root.put("name", "闄愭椂绉掓潃");
-			root.put("desc", "鏁寸偣鏇存柊锛屽ソ鐗╂姠璐�");
-		} else {
-			root.put("time", nextTime);
-			root.put("endTime", endTime > 0 ? endTime : 0);
-			root.put("listgoods", array);
-			JSONObject params = new JSONObject();
-			params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(),acceptData.getSystem()));
-			root.put("params", params);
-			root.put("jumpDetail", jumpDetail);
-		}
+        // 鑾峰彇浠婂ぉ鐨勬暟鎹�
 
-		root.put("time", nextTime);
-		root.put("endTime", endTime > 0 ? endTime : 0);
-		root.put("listgoods", array);
+        Long endTime = nextTime - nowTime;
 
-		return root;
-	}
+        JSONObject root = new JSONObject();
 
-	/**
-	 * 闄愭椂绉掓潃鍒楄〃
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping("getSpikTime")
-	public void getSpikTime(AcceptData acceptData, PrintWriter out) {
-		List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
-		List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
-		for (int i = 0; i < timeList.size(); i++) {
-			SpikeTimeVO spikeTime1 = new SpikeTimeVO();
-			spikeTime1.setTime(timeList.get(i).getTime().subSequence(2, 4) + ":00");
-			if (timeList.get(i).getState() <= 0)
-				spikeTime1.setState("杩涜涓�");
-			else
-				spikeTime1.setState("鍗冲皢寮�濮�");
-			if (timeList.get(i).getState() == 0)
-				spikeTime1.setChecked(true);
-			spikeTime1.setRequestTime(timeList.get(i).getTime());
-			list.add(spikeTime1);
-		}
+        if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
+            root.put("time", nextTime);
+            root.put("endTime", endTime > 0 ? endTime : 0);
+            JSONArray imgArray = new JSONArray();
+            if (array != null)
+                for (int i = 0; i < array.size(); i++) {
+                    imgArray.add(array.optJSONObject(i).optJSONObject("goods").optString("picUrl"));
+                }
+            root.put("imgList", imgArray);
+            JSONObject params = new JSONObject();
+            params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(), acceptData.getSystem()));
+            root.put("params", params);
+            root.put("jumpDetail", jumpDetail);
+            root.put("name", "闄愭椂绉掓潃");
+            root.put("desc", "鏁寸偣鏇存柊锛屽ソ鐗╂姠璐�");
+        } else {
+            root.put("time", nextTime);
+            root.put("endTime", endTime > 0 ? endTime : 0);
+            root.put("listgoods", array);
+            JSONObject params = new JSONObject();
+            params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(), acceptData.getSystem()));
+            root.put("params", params);
+            root.put("jumpDetail", jumpDetail);
+        }
 
-		JSONObject data = new JSONObject();
-		data.put("count", list.size());
-		data.put("list", list);
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+        root.put("time", nextTime);
+        root.put("endTime", endTime > 0 ? endTime : 0);
+        root.put("listgoods", array);
 
-	/**
-	 * 闄愭椂绉掓潃鍒楄〃
-	 * 
-	 * @param acceptData
-	 * @param page
-	 * @param out
-	 */
-	@RequestMapping("getSpikeGoodsList")
-	public void getSpikeGoodsList(AcceptData acceptData, Integer page, Long goodsId, String qtime, PrintWriter out) {
-		List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
-		if (detailList0 == null)
-			detailList0 = new ArrayList<>();
+        return root;
+    }
 
-		List<DaTaoKeDetailV2> detailList = new ArrayList<>();
-		detailList.addAll(detailList0);
-		JSONArray array = new JSONArray();
-		if (page == 1 && goodsId != null && detailList != null) {
-			for (int i = 0; i < detailList.size(); i++) {
-				if (detailList.get(i).getGoodsId().longValue() == goodsId) {
-					DaTaoKeDetailV2 goods = detailList.get(i);
-					detailList.remove(i);
-					detailList.add(0, goods);
-					break;
-				}
-			}
-		}
+    /**
+     * 闄愭椂绉掓潃鍒楄〃
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping("getSpikTime")
+    public void getSpikTime(AcceptData acceptData, PrintWriter out) {
+        List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
+        List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
+        for (int i = 0; i < timeList.size(); i++) {
+            SpikeTimeVO spikeTime1 = new SpikeTimeVO();
+            spikeTime1.setTime(timeList.get(i).getTime().subSequence(2, 4) + ":00");
+            if (timeList.get(i).getState() <= 0)
+                spikeTime1.setState("杩涜涓�");
+            else
+                spikeTime1.setState("鍗冲皢寮�濮�");
+            if (timeList.get(i).getState() == 0)
+                spikeTime1.setChecked(true);
+            spikeTime1.setRequestTime(timeList.get(i).getTime());
+            list.add(spikeTime1);
+        }
 
-		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
-				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-		if (detailList != null) {
-			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-					acceptData.getVersion(),acceptData.getSystem());
+        JSONObject data = new JSONObject();
+        data.put("count", list.size());
+        data.put("list", list);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
-			for (DaTaoKeDetailV2 detail : detailList) {
-				array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
-			}
-		}
+    /**
+     * 闄愭椂绉掓潃鍒楄〃
+     *
+     * @param acceptData
+     * @param page
+     * @param out
+     */
+    @RequestMapping("getSpikeGoodsList")
+    public void getSpikeGoodsList(AcceptData acceptData, Integer page, Long goodsId, String qtime, PrintWriter out) {
+        List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
+        if (detailList0 == null)
+            detailList0 = new ArrayList<>();
 
-		JSONObject data = new JSONObject();
-		data.put("count", detailList.size());
-		data.put("list", array);
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+        List<DaTaoKeDetailV2> detailList = new ArrayList<>();
+        detailList.addAll(detailList0);
+        JSONArray array = new JSONArray();
+        if (page == 1 && goodsId != null && detailList != null) {
+            for (int i = 0; i < detailList.size(); i++) {
+                if (detailList.get(i).getGoodsId().longValue() == goodsId) {
+                    DaTaoKeDetailV2 goods = detailList.get(i);
+                    detailList.remove(i);
+                    detailList.add(0, goods);
+                    break;
+                }
+            }
+        }
 
-	/**
-	 * 閲戝竵鍏戞崲淇℃伅
-	 * 
-	 * @param acceptData
-	 * @return
-	 */
-	private JSONObject getScoreExchangeInfo(AcceptData acceptData) {
+        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+                .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+        if (detailList != null) {
+            GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                    acceptData.getVersion(), acceptData.getSystem());
 
-		JSONObject root = new JSONObject();
-		JSONArray array = new JSONArray();
-		array.add("http://img.flqapp.com/resource/integral/integral_home_icon_2.png");
-		array.add("http://img.flqapp.com/resource/integral/integral_home_icon_1.png");
-		root.put("imgList", array);
-		JSONObject params = new JSONObject();
-		params.put("balanceMore", true);
-		root.put("params", params);
-		root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("integralExchange",
-				Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+            for (DaTaoKeDetailV2 detail : detailList) {
+                array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
+            }
+        }
 
-		root.put("name", "閲戝竵鍏戞崲");
-		root.put("desc", "姣忔棩绛惧埌锛屾儕鍠滀笉鍋�");
-		root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png");
-		return root;
-	}
+        JSONObject data = new JSONObject();
+        data.put("count", detailList.size());
+        data.put("list", array);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
-	/**
-	 * 閲戝竵鍏戞崲淇℃伅
-	 * 
-	 * @param acceptData
-	 * @return
-	 */
-	private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) {
-		JSONArray array = new JSONArray();
-		String keys = configService.getSearchDiscoveryKeys(acceptData.getSystem());
-		if (!StringUtil.isNullOrEmpty(keys)) {
-			JSONArray arrayKeys = JSONArray.fromObject(keys);
-			for (int i = 0; i < arrayKeys.size(); i++) {
-				String name = arrayKeys.get(i).toString();
-				JSONObject params = new JSONObject();
-				params.put("content", name);
+    /**
+     * 閲戝竵鍏戞崲淇℃伅
+     *
+     * @param acceptData
+     * @return
+     */
+    private JSONObject getScoreExchangeInfo(AcceptData acceptData) {
 
-				SearchKeyVO keyVO = new SearchKeyVO();
-				keyVO.setName(name);
-				keyVO.setParams(params.toString());
-				array.add(keyVO);
-			}
-		}
+        JSONObject root = new JSONObject();
+        JSONArray array = new JSONArray();
+        array.add("http://img.flqapp.com/resource/integral/integral_home_icon_2.png");
+        array.add("http://img.flqapp.com/resource/integral/integral_home_icon_1.png");
+        root.put("imgList", array);
+        JSONObject params = new JSONObject();
+        params.put("balanceMore", true);
+        root.put("params", params);
+        root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("integralExchange",
+                Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
 
-		JSONObject params = new JSONObject();
-		params.put("url", configService.getValue(ConfigKeyEnum.searchDiscoveryH5Link.getKey(),acceptData.getSystem()));
+        root.put("name", "閲戝竵鍏戞崲");
+        root.put("desc", "姣忔棩绛惧埌锛屾儕鍠滀笉鍋�");
+        root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png");
+        return root;
+    }
 
-		JSONObject root = new JSONObject();
-		root.put("picture", "http://img.flqapp.com/resource/home_search_found.png");
-		root.put("params", params);
-		root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web",
-				Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+    /**
+     * 閲戝竵鍏戞崲淇℃伅
+     *
+     * @param acceptData
+     * @return
+     */
+    private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) {
+        JSONArray array = new JSONArray();
+        String keys = configService.getSearchDiscoveryKeys(acceptData.getSystem());
+        if (!StringUtil.isNullOrEmpty(keys)) {
+            JSONArray arrayKeys = JSONArray.fromObject(keys);
+            for (int i = 0; i < arrayKeys.size(); i++) {
+                String name = arrayKeys.get(i).toString();
+                JSONObject params = new JSONObject();
+                params.put("content", name);
 
-		root.put("jumpResult", jumpDetailV2Service.getByTypeCache("search_goods_result",
-				Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
-		root.put("keyList", array);
-		return root;
-	}
+                SearchKeyVO keyVO = new SearchKeyVO();
+                keyVO.setName(name);
+                keyVO.setParams(params.toString());
+                array.add(keyVO);
+            }
+        }
 
-	/**
-	 * 棣栭〉搴曢儴鍟嗗搧鎺ㄨ崘
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping(value = "getGoodList")
-	public void getGoodList(AcceptData acceptData, Integer goodsType, Integer page, HttpServletRequest request,
-			PrintWriter out) {
+        JSONObject params = new JSONObject();
+        params.put("url", configService.getValue(ConfigKeyEnum.searchDiscoveryH5Link.getKey(), acceptData.getSystem()));
+
+        JSONObject root = new JSONObject();
+        root.put("picture", "http://img.flqapp.com/resource/home_search_found.png");
+        root.put("params", params);
+        root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web",
+                Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+
+        root.put("jumpResult", jumpDetailV2Service.getByTypeCache("search_goods_result",
+                Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+        root.put("keyList", array);
+        return root;
+    }
+
+    /**
+     * 棣栭〉搴曢儴鍟嗗搧鎺ㄨ崘
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getGoodList")
+    public void getGoodList(AcceptData acceptData, Long uid, Integer goodsType, Integer page, HttpServletRequest request,
+                            PrintWriter out) {
+
+        if (goodsType == null || page == null) {
+            out.print(JsonUtil.loadFalseResult("鍙傛暟淇℃伅涓嶆甯�"));
+            return;
+        }
+
+        try {
+            if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+                taoBaoGuessUserLikeByDevice(acceptData, uid, page, request, out);
+                return;
+            }
 
-		if (goodsType == null || page == null) {
-			out.print(JsonUtil.loadFalseResult("鍙傛暟淇℃伅涓嶆甯�"));
-			return;
-		}
+            if (goodsType == Constant.SOURCE_TYPE_JD) {
+                getIndexJDGoods(acceptData, page, out);
+                return;
+            }
 
-		try {
-			if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-				taoBaoGuessUserLikeByDevice(acceptData, page, request, out);
-				return;
-			}
+            if (goodsType == Constant.SOURCE_TYPE_PDD) {
+                getIndexPDDGoods(acceptData, page, out);
+                return;
+            }
+            out.print(JsonUtil.loadFalseResult("鍟嗗搧绫诲瀷閿欒"));
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+            JSONObject data = new JSONObject();
+            data.put("list", new JSONArray());
+            data.put("count", 0);
+            out.print(JsonUtil.loadTrueResult(data));
+        }
+    }
 
-			if (goodsType == Constant.SOURCE_TYPE_JD) {
-				getIndexJDGoods(acceptData, page, out);
-				return;
-			}
+    /**
+     * 鏍规嵁璁惧淇℃伅鑾峰彇鐚滀綘鍠滄鐨勫唴瀹�
+     *
+     * @param acceptData
+     * @param page
+     * @param request
+     * @param out
+     */
+    public void taoBaoGuessUserLikeByDevice(AcceptData acceptData, Long uid, int page, HttpServletRequest request,
+                                            PrintWriter out) {
+        int pageSize = Constant.PAGE_SIZE;
+        JSONArray array = new JSONArray();
+        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
 
-			if (goodsType == Constant.SOURCE_TYPE_PDD) {
-				getIndexPDDGoods(acceptData, page, out);
-				return;
-			}
-			out.print(JsonUtil.loadFalseResult("鍟嗗搧绫诲瀷閿欒"));
-		} catch (Exception e) {
-			LogHelper.errorDetailInfo(e);
-			JSONObject data = new JSONObject();
-			data.put("list", new JSONArray());
-			data.put("count", 0);
-			out.print(JsonUtil.loadTrueResult(data));
-		}
-	}
+        String idfa = acceptData.getIdfa();
+        String imei = acceptData.getImei();
+        if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion())) {
+            List<TaoBaoGoodsBrief> goodsList = homeRecommendGoodsService.listGoodsByPage(null, acceptData.getDevice(),
+                    imei, idfa, page);
 
-	/**
-	 * 鏍规嵁璁惧淇℃伅鑾峰彇鐚滀綘鍠滄鐨勫唴瀹�
-	 * @param acceptData
-	 * @param page
-	 * @param request
-	 * @param out
-	 */
-	public void taoBaoGuessUserLikeByDevice(AcceptData acceptData, int page, HttpServletRequest request,
-			PrintWriter out) {
-		int pageSize = Constant.PAGE_SIZE;
-		JSONArray array = new JSONArray();
-		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
+            if (page < 4) {// 鍓嶄笁椤靛姞鍏ユ洿鏂�
+                try {
+                    taoBaoGoodsUpdateService.addUpdateQueueAsync(goodsList);
+                } catch (Exception e) {
+                }
+            }
 
-		String idfa = acceptData.getIdfa();
-		String imei = acceptData.getImei();
-		if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion())) {
-			List<TaoBaoGoodsBrief> goodsList = homeRecommendGoodsService.listGoodsByPage(null, acceptData.getDevice(),
-					imei, idfa, page);
+            GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                    acceptData.getVersion(), acceptData.getSystem());
 
-			if (page < 4) {// 鍓嶄笁椤靛姞鍏ユ洿鏂�
-				try {
-					taoBaoGoodsUpdateService.addUpdateQueueAsync(goodsList);
-				} catch (Exception e) {
-				}
-			}
 
-			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-					acceptData.getVersion(),acceptData.getSystem());
+            List<GoodsDetailVO> voList = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goodsList, paramsDTO);
 
-			for (TaoBaoGoodsBrief goods : goodsList) {
-				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
-				if (page < 3)
-					detailVO.setRecommend(true);
+            for (GoodsDetailVO vo : voList) {
+                if (page < 3)
+                    vo.setRecommend(true);
+                try {
+                    array.add(gson.toJson(vo));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
 
-				try {
-					array.add(gson.toJson(detailVO));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
+            if (page == 1) {
+                List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
+                if (list != null && list.size() > 0) {
+                    BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
+                    GoodsMoneyConfigParamsDTO paramsBuy = new GoodsMoneyConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,
+                            hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP, acceptData.getSystem()));
+                    for (int i = list.size() - 1; i >= 0; i--) {
+                        TLJBuyGoods goods = list.get(i);
+                        GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy);
 
-			if (page == 1) {
-				List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
-				if (list != null && list.size() > 0) {
-					BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
-					ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,
-							hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP,acceptData.getSystem()));
-					for (int i = list.size() - 1; i >= 0; i--) {
-						TLJBuyGoods goods = list.get(i);
-						GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy);
+                        String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
+                                TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE, false);
 
-						String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
-								TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE,false);
+                        ReduceHongBao reduceHongBao = new ReduceHongBao();
+                        reduceHongBao.setLeft(goods.getLeftHongBaoCount());
+                        reduceHongBao.setMoney(hongBao);
+                        reduceHongBao.setName("浠樻绔嬪噺 ");
+                        reduceHongBao.setTip("");
+                        reduceHongBao.setTotal(goods.getTotalHongBaoCount());
 
-						ReduceHongBao reduceHongBao = new ReduceHongBao();
-						reduceHongBao.setLeft(goods.getLeftHongBaoCount());
-						reduceHongBao.setMoney(hongBao);
-						reduceHongBao.setName("浠樻绔嬪噺 ");
-						reduceHongBao.setTip("");
-						reduceHongBao.setTotal(goods.getTotalHongBaoCount());
+                        OtherInfo otherInfo = new OtherInfo();
+                        otherInfo.setReduceHongBao(reduceHongBao);
 
-						OtherInfo otherInfo = new OtherInfo();
-						otherInfo.setReduceHongBao(reduceHongBao);
+                        detailVO.setOtherInfo(otherInfo);
+                        detailVO.setPictureTag(new ClientTextStyleVO("绔嬪噺TOP" + (i + 1), "#E5005C", "#FCE431", null));
+                        detailVO.setRecommend(true);
+                        array.add(0, gson.toJson(detailVO));
+                    }
+                }
+            }
 
-						detailVO.setOtherInfo(otherInfo);
-						detailVO.setPictureTag(new ClientTextStyleVO("绔嬪噺TOP" + (i + 1), "#E5005C", "#FCE431", null));
-						detailVO.setRecommend(true);
-						array.add(0, gson.toJson(detailVO));
-					}
-				}
-			}
+            JSONObject data = new JSONObject();
+            data.put("list", array);
+            data.put("count", 1000);
+            out.print(JsonUtil.loadTrueResult(data));
+            return;
+        }
 
-			JSONObject data = new JSONObject();
-			data.put("list", array);
-			data.put("count", 1000);
-			out.print(JsonUtil.loadTrueResult(data));
-			return;
-		}
+        // 浠庢帹鑽愭潵
+        if (page <= 1) {
+            array.clear();
+            if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) {
+                long startTime = java.lang.System.currentTimeMillis();
 
-		// 浠庢帹鑽愭潵
-		if (page <= 1) {
-			array.clear();
-			if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) {
-				long startTime = java.lang.System.currentTimeMillis();
+                TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa, "");
 
-				TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa,"");
+                if (result != null && result.getTaoBaoGoodsBriefs() != null) {
+                    // 绛涢��
+                    List<GoodsDetailVO> goodsList = new ArrayList<>();
 
-				if (result != null && result.getTaoBaoGoodsBriefs() != null) {
-					// 绛涢��
-					List<GoodsDetailVO> goodsList = new ArrayList<>();
+                    List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService
+                            .filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs());
 
-					List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService
-							.filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs());
+                    // filter
+                    try {
+                        gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList);
+                    } catch (Exception e) {
+                    }
 
-					// filter
-					try {
-						gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList);
-					} catch (Exception e) {
-					}
+                    // 璁惧鎺ㄨ崘
+                    if (gList != null) {
+                        GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                                acceptData.getVersion(), acceptData.getSystem());
 
-					// 璁惧鎺ㄨ崘
-					if (gList != null) {
-						ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-								acceptData.getVersion(),acceptData.getSystem());
-						for (TaoBaoGoodsBrief goods : gList) {
-							if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
-									&& goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
-									&& goods.getBiz30day() > 1000
-									&& !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) {
+                        List<TaoBaoGoodsBrief> deviceGoodsList = new ArrayList<>();
+                        for (TaoBaoGoodsBrief goods : gList) {
+                            if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
+                                    && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
+                                    && goods.getBiz30day() > 1000
+                                    && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) {
+                                deviceGoodsList.add(goods);
+                            }
+                        }
+                        List<GoodsDetailVO> voList = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, deviceGoodsList, paramsDTO);
+                        for (GoodsDetailVO vo : voList) {
+                            vo.setRecommend(true);
+                        }
+                        goodsList.addAll(voList);
+                    }
 
-								GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
-								detailVO.setRecommend(true);
-								goodsList.add(detailVO);
-							}
-						}
-					}
 
-					try {
-						monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0,
-								(int) (java.lang.System.currentTimeMillis() - startTime), "鎺ㄨ崘鏁伴噺:" + goodsList.size()));
-					} catch (Exception e) {
-						e.printStackTrace();
-					}
+                    try {
+                        monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0,
+                                (int) (java.lang.System.currentTimeMillis() - startTime), "鎺ㄨ崘鏁伴噺:" + goodsList.size()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
 
-					Collections.shuffle(goodsList);
-					goodsList = goodsList.size() > 20 ? goodsList.subList(0, 20) : goodsList;
-					for (GoodsDetailVO goods : goodsList) {
-						array.add(gson.toJson(goods));
-					}
-				} else {
-					try {
-						monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0,
-								(int) (java.lang.System.currentTimeMillis() - startTime), "鏃犳帹鑽�"));
-					} catch (Exception e) {
-						e.printStackTrace();
-					}
-				}
-			}
-			JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion(),acceptData.getSystem());
-			array.addAll(localArray);
-		} else {// 浠庣簿閫夊簱鏉�
-			array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion(),acceptData.getSystem());
-			if (array == null) {
-				out.print(JsonUtil.loadFalseResult("娌℃湁鏇村浜�"));
-				return;
-			}
-		}
+                    Collections.shuffle(goodsList);
+                    goodsList = goodsList.size() > 20 ? goodsList.subList(0, 20) : goodsList;
+                    for (GoodsDetailVO goods : goodsList) {
+                        array.add(gson.toJson(goods));
+                    }
+                } else {
+                    try {
+                        monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0,
+                                (int) (java.lang.System.currentTimeMillis() - startTime), "鏃犳帹鑽�"));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+            JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize, acceptData.getPlatform(), acceptData.getVersion(), acceptData.getSystem());
+            array.addAll(localArray);
+        } else {// 浠庣簿閫夊簱鏉�
+            array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize, acceptData.getPlatform(), acceptData.getVersion(), acceptData.getSystem());
+            if (array == null) {
+                out.print(JsonUtil.loadFalseResult("娌℃湁鏇村浜�"));
+                return;
+            }
+        }
 
-		JSONObject data = new JSONObject();
-		data.put("list", array);
-		data.put("count", 1000);
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+        JSONObject data = new JSONObject();
+        data.put("list", array);
+        data.put("count", 1000);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
-	/**
-	 * 浜笢棣栭〉鍟嗗搧
-	 * 
-	 * @param acceptData
-	 * @param page
-	 * @param out
-	 */
-	private void getIndexJDGoods(AcceptData acceptData, int page, PrintWriter out) {
-		JDSearchResult result = jdGoodsService.getIndexJDGoods(page,acceptData.getSystem());
-		long count = 0;
-		JSONObject data = new JSONObject();
-		JSONArray array = new JSONArray();
-		if (result != null) {
-			PageEntity pageEntity = result.getPageEntity();
-			if (pageEntity != null) {
-				count = pageEntity.getTotalCount();
-			}
+    /**
+     * 浜笢棣栭〉鍟嗗搧
+     *
+     * @param acceptData
+     * @param page
+     * @param out
+     */
+    private void getIndexJDGoods(AcceptData acceptData, int page, PrintWriter out) {
+        JDSearchResult result = jdGoodsService.getIndexJDGoods(page, acceptData.getSystem());
+        long count = 0;
+        JSONObject data = new JSONObject();
+        JSONArray array = new JSONArray();
+        if (result != null) {
+            PageEntity pageEntity = result.getPageEntity();
+            if (pageEntity != null) {
+                count = pageEntity.getTotalCount();
+            }
 
-			List<JDGoods> goodsList = result.getGoodsList();
-			if (goodsList != null && goodsList.size() > 0) {
-				ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-						acceptData.getVersion(),acceptData.getSystem());
+            List<JDGoods> goodsList = result.getGoodsList();
+            if (goodsList != null && goodsList.size() > 0) {
+                GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                        acceptData.getVersion(), acceptData.getSystem());
 
-				Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
-						.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-				for (JDGoods goods : goodsList) {
-					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
-					array.add(gson.toJson(goodsDetailVO));
-				}
-			}
-		}
+                Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+                        .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+                for (JDGoods goods : goodsList) {
+                    GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
+                    array.add(gson.toJson(goodsDetailVO));
+                }
+            }
+        }
 
-		data.put("list", array);
-		data.put("count", count);
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+        data.put("list", array);
+        data.put("count", count);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
-	/**
-	 * 鐖嗘鎺掕鍟嗗搧-瀹炴椂鐑攢姒�
-	 * 
-	 * @param acceptData
-	 * @param page
-	 * @param out
-	 */
-	private void getIndexPDDGoods(AcceptData acceptData, int page, PrintWriter out) {
-		PDDGoodsResult result = pddGoodsService.getTopGoodsList(page, 1);
-		int count = 0;
-		JSONArray array = new JSONArray();
-		if (result != null) {
-			count = result.getTotalCount();
-			Gson gson = JsonUtil.getApiCommonGson();
-			List<PDDGoodsDetail> goodsList = result.getGoodsList();
-			if (goodsList != null && goodsList.size() > 0) {
-				ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-						acceptData.getVersion(),acceptData.getSystem());
+    /**
+     * 鐖嗘鎺掕鍟嗗搧-瀹炴椂鐑攢姒�
+     *
+     * @param acceptData
+     * @param page
+     * @param out
+     */
+    private void getIndexPDDGoods(AcceptData acceptData, int page, PrintWriter out) {
+        PDDGoodsResult result = pddGoodsService.getTopGoodsList(page, 1);
+        int count = 0;
+        JSONArray array = new JSONArray();
+        if (result != null) {
+            count = result.getTotalCount();
+            Gson gson = JsonUtil.getApiCommonGson();
+            List<PDDGoodsDetail> goodsList = result.getGoodsList();
+            if (goodsList != null && goodsList.size() > 0) {
+                GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                        acceptData.getVersion(), acceptData.getSystem());
 
-				for (PDDGoodsDetail goods : goodsList) {
-					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
-					array.add(gson.toJson(goodsDetailVO));
-				}
-			}
-		}
+                for (PDDGoodsDetail goods : goodsList) {
+                    GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
+                    array.add(gson.toJson(goodsDetailVO));
+                }
+            }
+        }
 
-		JSONObject data = new JSONObject();
-		data.put("list", array);
-		data.put("count", count);
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+        JSONObject data = new JSONObject();
+        data.put("list", array);
+        data.put("count", count);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
-	/**
-	 * 鎼滅储鍙戠幇鍒楄〃
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param page
-	 * @param out
-	 */
-	@RequestMapping(value = "getSearchDiscoveryTop")
-	public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, String callback, PrintWriter out) {
-		int count = 0;
-		List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>();
+    /**
+     * 鎼滅储鍙戠幇鍒楄〃
+     *
+     * @param acceptData
+     * @param uid
+     * @param page
+     * @param out
+     */
+    @RequestMapping(value = "getSearchDiscoveryTop")
+    public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, String callback, PrintWriter out) {
+        int count = 0;
+        List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>();
 
-		String keys = configService.getSearchDiscoveryKeys(acceptData.getSystem());
-		if (!StringUtil.isNullOrEmpty(keys)) {
-			JSONArray arrayKeys = JSONArray.fromObject(keys);
-			if (arrayKeys != null && arrayKeys.size() > 0) {
-				count = arrayKeys.size();
-				ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-						acceptData.getVersion(),acceptData.getSystem());
+        String keys = configService.getSearchDiscoveryKeys(acceptData.getSystem());
+        if (!StringUtil.isNullOrEmpty(keys)) {
+            JSONArray arrayKeys = JSONArray.fromObject(keys);
+            if (arrayKeys != null && arrayKeys.size() > 0) {
+                count = arrayKeys.size();
+                GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                        acceptData.getVersion(), acceptData.getSystem());
 
-				int j = 1;
-				for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
-					if (j > 3)
-						break;
+                int j = 1;
+                for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
+                    if (j > 3)
+                        break;
 
-					String words = arrayKeys.get(i).toString();
-					List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>();
+                    String words = arrayKeys.get(i).toString();
+                    List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>();
 
-					List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
-					if (listTaoKe != null && listTaoKe.size() > 0) {
-						for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
-							listGoods.add(
-									GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
-							if (listGoods.size() >= 3)
-								break;
-						}
-					}
+                    List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
+                    if (listTaoKe != null && listTaoKe.size() > 0) {
+                        for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
+                            listGoods.add(
+                                    GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
+                            if (listGoods.size() >= 3)
+                                break;
+                        }
+                    }
 
-					SearchKeyTOPVO keyTOPVO = new SearchKeyTOPVO();
-					keyTOPVO.setName(words);
-					keyTOPVO.setListGoods(listGoods);
-					list.add(keyTOPVO);
+                    SearchKeyTOPVO keyTOPVO = new SearchKeyTOPVO();
+                    keyTOPVO.setName(words);
+                    keyTOPVO.setListGoods(listGoods);
+                    list.add(keyTOPVO);
 
-					j++;
-				}
-			}
-		}
+                    j++;
+                }
+            }
+        }
 
-		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
-		Gson gson = gsonBuilder.create();
-		JSONObject data = new JSONObject();
-		data.put("count", count);
-		data.put("list", gson.toJson(list));
-		if (!StringUtil.isNullOrEmpty(callback)) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		} else
-			out.print(JsonUtil.loadTrueResult(data));
-	}
+        GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+        Gson gson = gsonBuilder.create();
+        JSONObject data = new JSONObject();
+        data.put("count", count);
+        data.put("list", gson.toJson(list));
+        if (!StringUtil.isNullOrEmpty(callback)) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+        } else
+            out.print(JsonUtil.loadTrueResult(data));
+    }
 
-	/**
-	 * 鑾峰彇涓撻娓犻亾娲诲姩
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param callback
-	 * @param out
-	 */
-	@RequestMapping(value = "getSpecialChannelActivity")
-	public void getSpecialChannelActivity(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
+    /**
+     * 鑾峰彇涓撻娓犻亾娲诲姩
+     *
+     * @param acceptData
+     * @param uid
+     * @param callback
+     * @param out
+     */
+    @RequestMapping(value = "getSpecialChannelActivity")
+    public void getSpecialChannelActivity(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
 
-		int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
+        int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
 
-		List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode,
-				Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
+        List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode,
+                Integer.parseInt(acceptData.getVersion()), acceptData.getSystem());
 
-		long time = System.currentTimeMillis();
-		// 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
-		for (int i = 0; i < list.size(); i++) {
-			Special special = list.get(i);
-			if (special.getState() == 1L) {
-				list.remove(i--);
-			} else {
-				if (special.getStartTime() != null && special.getEndTime() != null) {
-					if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
-						list.remove(i--);
-					} else// 璁剧疆鍊掕鏃�
-					{
-						special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
-					}
-				}
-			}
-		}
+        long time = System.currentTimeMillis();
+        // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
+        for (int i = 0; i < list.size(); i++) {
+            Special special = list.get(i);
+            if (special.getState() == 1L) {
+                list.remove(i--);
+            } else {
+                if (special.getStartTime() != null && special.getEndTime() != null) {
+                    if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
+                        list.remove(i--);
+                    } else// 璁剧疆鍊掕鏃�
+                    {
+                        special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
+                    }
+                }
+            }
+        }
 
-		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
-		Gson gson = gsonBuilder.create();
-		JSONObject data = new JSONObject();
-		data.put("count", list.size());
-		data.put("list", gson.toJson(list));
-		if (!StringUtil.isNullOrEmpty(callback)) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		} else
-			out.print(JsonUtil.loadTrueResult(data));
-	}
+        GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+        Gson gson = gsonBuilder.create();
+        JSONObject data = new JSONObject();
+        data.put("count", list.size());
+        data.put("list", gson.toJson(list));
+        if (!StringUtil.isNullOrEmpty(callback)) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+        } else
+            out.print(JsonUtil.loadTrueResult(data));
+    }
 
-	/**
-	 * 鑾峰彇涓撻娓犻亾娲诲姩
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param out
-	 */
-	@RequestMapping(value = "getGuide")
-	public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) {
-		String tips = null;
-		if (uid == null || uid <= 0) {
-			tips = configService.getValue(ConfigKeyEnum.tipGuideNewUser.getKey(),acceptData.getSystem());
-		} else {
-			long rebateOrder = hongBaoV2CountService.countRebateOrder(uid);
-			long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid);
-			if (rebateOrder + shareOrInviteOrder >= 3) {
-				// 鐔熷鐗�
-			} else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) {
-				// 鏂颁汉鐗�
-				tips = configService.getValue(ConfigKeyEnum.tipGuideNewUser.getKey(),acceptData.getSystem());
-			} else if (rebateOrder > 0 && shareOrInviteOrder <= 0) {
-				// 鐪侀挶鐗�
-				tips = configService.getValue(ConfigKeyEnum.tipGuideSaveMoney.getKey(),acceptData.getSystem());
-			} else {
-				// 璧氶挶鐗�
-				tips = configService.getValue(ConfigKeyEnum.tipGuideShareInvite.getKey(),acceptData.getSystem());
-			}
-		}
+    /**
+     * 鑾峰彇涓撻娓犻亾娲诲姩
+     *
+     * @param acceptData
+     * @param uid
+     * @param out
+     */
+    @RequestMapping(value = "getGuide")
+    public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) {
+        String tips = null;
+        if (uid == null || uid <= 0) {
+            tips = configService.getValue(ConfigKeyEnum.tipGuideNewUser.getKey(), acceptData.getSystem());
+        } else {
+            long rebateOrder = hongBaoV2CountService.countRebateOrder(uid);
+            long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid);
+            if (rebateOrder + shareOrInviteOrder >= 3) {
+                // 鐔熷鐗�
+            } else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) {
+                // 鏂颁汉鐗�
+                tips = configService.getValue(ConfigKeyEnum.tipGuideNewUser.getKey(), acceptData.getSystem());
+            } else if (rebateOrder > 0 && shareOrInviteOrder <= 0) {
+                // 鐪侀挶鐗�
+                tips = configService.getValue(ConfigKeyEnum.tipGuideSaveMoney.getKey(), acceptData.getSystem());
+            } else {
+                // 璧氶挶鐗�
+                tips = configService.getValue(ConfigKeyEnum.tipGuideShareInvite.getKey(), acceptData.getSystem());
+            }
+        }
 
-		if (StringUtil.isNullOrEmpty(tips)) {
-			out.print(JsonUtil.loadFalseResult("鏆傛棤鎻愮ず"));
-			return;
-		}
+        if (StringUtil.isNullOrEmpty(tips)) {
+            out.print(JsonUtil.loadFalseResult("鏆傛棤鎻愮ず"));
+            return;
+        }
 
-		JSONObject data = JSONObject.fromObject(tips);
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+        JSONObject data = JSONObject.fromObject(tips);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
 }

--
Gitblit v1.8.0