yujian
2019-09-09 0d9ac58dc11f54351e5e18dba8e950717d78019f
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
@@ -27,6 +28,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.exception.integral.IntegralExchangeException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -58,7 +60,9 @@
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.goods.OtherInfo;
import com.yeshi.fanli.vo.integral.ExchangeTipVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.search.SearchKeyVO;
import com.yeshi.fanli.vo.tlj.ReduceHongBao;
import net.sf.json.JSONArray;
@@ -139,11 +143,6 @@
         List<SwiperPicture> topPicList = new ArrayList<>();
         if (oldtopPicList != null && oldtopPicList.size() > 0)
            topPicList.addAll(oldtopPicList);
         if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
            SwiperPicture notifyReName = swiperPictureService.selectByPrimaryKey(162L);
            if (notifyReName != null)
               topPicList.add(0, notifyReName);
         }
         root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
@@ -168,7 +167,12 @@
         }
         root.put("spikeGoods", getSpikeGoodsContent(acceptData));
         if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
            root.put("scoreExchange", getScoreExchangeInfo(acceptData));
         if (VersionUtil.greaterThan_2_0_0(acceptData.getPlatform(), acceptData.getVersion()))
            root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
         out.print(JsonUtil.loadTrueResult(root));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult(1, "获取数据失败"));
@@ -193,23 +197,25 @@
   }
   private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
      List<String> dtoList =  DaTaoKeUtil.getDingDongQiangTime();
      List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime();
      long nowTime = System.currentTimeMillis();
      int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
      String timeStr = null;
      int nextPos = 0;
      for (int i = 0; i < dtoList.size(); i++) {
         if (dateNum <= Integer.parseInt(dtoList.get(i))) {
      for (int i = 0; i < dtoList.size() - 1; i++) {
         if (dateNum >= Integer.parseInt(dtoList.get(i)) && dateNum < Integer.parseInt(dtoList.get(i + 1))) {
            timeStr = dtoList.get(i);
            nextPos = i + 1;
            break;
         }
      }
      if (timeStr == null)
         timeStr = dtoList.get(dtoList.size() - 1);
      long nextTime = nowTime + 1000 * 60 * 60L;// 默认为1小时
      if (nextPos < dtoList.size()) {
         nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "MM") + dtoList.get(nextPos),
               "MMddHH");
         nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos),
               "yyyyMMddHH");
      }
      JSONArray array = null;
@@ -283,18 +289,103 @@
      Long endTime = nextTime - nowTime;
      JSONObject root = new JSONObject();
      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.get("spike_goods_link"));
         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.get("spike_goods_link"));
         root.put("params", params);
         root.put("jumpDetail", jumpDetail);
      }
      root.put("time", nextTime);
      root.put("endTime", endTime > 0 ? endTime : 0);
      root.put("listgoods", array);
      JSONObject params = new JSONObject();
      params.put("url", configService.get("spike_goods_link"));
      root.put("params", params);
      root.put("jumpDetail", jumpDetail);
      return root;
   }
   /**
    * 金币兑换信息
    *
    * @param acceptData
    * @return
    */
   private JSONObject getScoreExchangeInfo(AcceptData acceptData) {
      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())));
      root.put("name", "金币兑换");
      root.put("desc", "每日签到,惊喜不停");
      root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png");
      return root;
   }
   /**
    * 金币兑换信息
    *
    * @param acceptData
    * @return
    */
   private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) {
      JSONArray array = new JSONArray();
      String keys = configService.getSearchDiscoveryKeys();
      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("searchKey", name);
            SearchKeyVO keyVO = new SearchKeyVO();
            keyVO.setName(name);
            keyVO.setParams(params.toString());
            array.add(keyVO);
         }
      }
      JSONObject params = new JSONObject();
      params.put("url", configService.get("search_discovery_h5_link"));
      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;
   }
   /**
    * 首页底部商品推荐
@@ -559,4 +650,35 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping(value = "getSearchDiscoveryTop", method = RequestMethod.POST)
   public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, PrintWriter out) {
//      try {
//         String keys = configService.getSearchDiscoveryKeys();
//         if (!StringUtil.isNullOrEmpty(keys)) {
//            JSONArray arrayKeys = JSONArray.fromObject(keys);
//            for (int i = (page-1) * 3; i < arrayKeys.size(); i++) {
//               String keys = arrayKeys.get(i).toString();
//            }
//
//
//         }
//
//
//         GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
//         Gson gson = gsonBuilder.create();
//         JSONObject data = new JSONObject();
//         data.put("result", gson.toJson(exchange));
//         out.print(JsonUtil.loadTrueResult(data));
//      } catch (IntegralExchangeException e) {
//         out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
//      }
   }
}