admin
2019-09-22 b9f8ef2c4737b6e6be4b12fc8f7bafb033bfcfe5
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -35,28 +35,29 @@
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.exception.integral.IntegralGetException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.user.TokenRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.integral.IntegralGetService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.HistorySearchService;
import com.yeshi.fanli.service.inter.user.TokenRecordService;
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.Utils;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.cache.IntegralGetCacheManager;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
@@ -119,6 +120,9 @@
   @Resource
   private IntegralGetService integralGetService;
   @Resource
   private IntegralGetCacheManager integralGetCacheManager;
   /**
    * 粘贴板信息推荐
@@ -352,6 +356,7 @@
    * @param goodsType
    * @param out
    */
   @RequestSerializableByKey(key = "'tokenReceive-'+#uid")
   @RequestMapping(value = "tokenReceive", method = RequestMethod.POST)
   public void tokenReceive(AcceptData acceptData, Long uid, String token, PrintWriter out) {
      try {
@@ -415,6 +420,7 @@
   @RequestMapping(value = "searchGoods")
   public void searchGoods(AcceptData acceptData, Integer goodsType, String key, Integer page, String filter,
         Integer order, Long uid, HttpSession session, PrintWriter out) {
      if (goodsType == null || goodsType < 1 || goodsType > 3) {
         out.print(JsonUtil.loadFalseResult(1, "请传递正确平台参数"));
         return;
@@ -433,24 +439,18 @@
      if (uid != null) {
         if (page == 1) {
            session.setAttribute("searchFirstTime", System.currentTimeMillis());
         } else if (page == 2) {
            Long lastTime = (Long) session.getAttribute("searchFirstTime");
            integralGetCacheManager.cacheSearchGoods(acceptData.getDevice(), System.currentTimeMillis());
         } else if (page > 1) {
            Long lastTime = integralGetCacheManager.getLastSearchTime(acceptData.getDevice());
            if (lastTime != null && System.currentTimeMillis() - lastTime >= 15 * 1000L) {// 超过15s浏览
               integralGetCacheManager.clearSearchTime(acceptData.getDevice());
               ThreadUtil.run(new Runnable() {
                  @Override
                  public void run() {
                     try {
                        // 增加金币
                        integralGetService.addSearchResultScan(uid,key);
                     } catch (IntegralGetException e) {
                        e.printStackTrace();
                     }
                     // 增加金币
                     integralGetService.addSearchResultScan(uid, key);
                  }
               });
            }
         }
      }
@@ -625,6 +625,7 @@
   private void searchJDGoods(String key, Integer page, String filter, Integer order, PrintWriter out) {
      JDSearchResult result = null;
      boolean hasCoupon = false;
      String way = configService.get("jd_api_search_key");
      if ("1".equals(way)) {
         JDFilter filterAPI = new JDFilter();
@@ -660,6 +661,7 @@
            JSONObject jsonfilter = JSONObject.fromObject(filter);
            Boolean coupon = jsonfilter.optBoolean("coupon");
            if (coupon != null && coupon) {
               hasCoupon = true;
               filterAPI.setIsCoupon(1); // 有券
            }
@@ -715,6 +717,7 @@
            JSONObject jsonfilter = JSONObject.fromObject(filter);
            Boolean coupon = jsonfilter.optBoolean("coupon");
            if (coupon != null && coupon) {
               hasCoupon = true;
               jdfilter.setHasCoupon(1); // 有券
            }
@@ -767,7 +770,13 @@
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            for (JDGoods goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate);
               array.add(gson.toJson(goodsDetailVO));
               if (hasCoupon) {
                  if (goodsDetailVO.isHasCoupon()) {
                     array.add(gson.toJson(goodsDetailVO));
                  }
               } else {
                  array.add(gson.toJson(goodsDetailVO));
               }
            }
         }
      }