admin
2019-09-09 61c21f17b1ad94e4b0018c7e385195bab21b0b5c
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;
@@ -44,6 +45,7 @@
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
@@ -59,6 +61,7 @@
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.goods.OtherInfo;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.search.SearchKeyTOPVO;
import com.yeshi.fanli.vo.search.SearchKeyVO;
import com.yeshi.fanli.vo.tlj.ReduceHongBao;
@@ -120,6 +123,9 @@
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private DaTaoKeGoodsService daTaoKeGoodsService;
   /**
    * 新版推荐专题管理(1.5.3)
    * 
@@ -167,7 +173,9 @@
         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, "获取数据失败"));
@@ -351,7 +359,7 @@
    */
   private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) {
      JSONArray array = new JSONArray();
      String keys = configService.get("search_discovery_keys");
      String keys = configService.getSearchDiscoveryKeys();
      if (!StringUtil.isNullOrEmpty(keys)) {
         JSONArray arrayKeys = JSONArray.fromObject(keys);
         for (int i = 0; i < arrayKeys.size(); i++) {
@@ -645,4 +653,61 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
    /**
     *  搜索发现列表
     * @param acceptData
     * @param uid
     * @param page
     * @param out
     */
   @RequestMapping(value = "getSearchDiscoveryTop", method = RequestMethod.POST)
   public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, PrintWriter out) {
      int count = 0;
      List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>();
       String keys = configService.getSearchDiscoveryKeys();
      if (!StringUtil.isNullOrEmpty(keys)) {
         JSONArray arrayKeys = JSONArray.fromObject(keys);
         if (arrayKeys != null && arrayKeys.size() > 0) {
            count = arrayKeys.size();
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            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>();
               List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
               if (listTaoKe != null && listTaoKe.size() > 0) {
                  for (DaTaoKeDetailV2 daTaoKeDetailV2: listTaoKe) {
                     listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null, fanLiRate,
                           shareRate));
                     if (listGoods.size() >= 3)
                        break;
                  }
               }
               SearchKeyTOPVO keyTOPVO = new SearchKeyTOPVO();
               keyTOPVO.setName(words);
               keyTOPVO.setListGoods(listGoods);
               list.add(keyTOPVO);
               j++;
            }
         }
      }
      GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
      Gson gson = gsonBuilder.create();
      JSONObject data = new JSONObject();
      data.put("count", count);
      data.put("list", gson.toJson(list));
      out.print(JsonUtil.loadTrueResult(data));
   }
}