yujian
2019-07-31 f4548a3ee46afe45da4ee2a42dc169c575deee9f
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -16,6 +16,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
@@ -32,6 +33,7 @@
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.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -56,6 +58,7 @@
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
import com.yeshi.fanli.util.taobao.SearchFilterUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
@@ -137,12 +140,22 @@
               text = text.substring(1, end);
         }
         if (NumberUtil.isNumeric(text)) {
            out.println(JsonUtil.loadFalseResult("不支持纯数字"));
            return;
         }
         LogHelper.test("根据粘贴板推荐:" + text);
         if (text.length() > 80) {
            out.print(JsonUtil.loadFalseResult("值过长"));
            return;
         }
         if (analysisTaoToken(text, out)) {
            return;
         }
         JSONObject root = new JSONObject();
         root.put("type", 2);
@@ -204,12 +217,50 @@
            tb.setImgList(new ArrayList<>());
         tb.getImgList().add(0, TbImgUtil.getTBSize220Img(tb.getPictUrl()));
      }
      data.put("tbImgs", tb.getImgList());
      data.put("imgs", tb.getImgList());
      JSONObject root = new JSONObject();
      root.put("type", 1);
      root.put("data", data);
      out.print(JsonUtil.loadTrueResult(root));
   }
   private boolean analysisTaoToken(String text, PrintWriter out) {
      String token = StringUtil.picUpTaoToken(text);
      if (!StringUtil.isNullOrEmpty(token)) {
         Long auctionId = TaoKeApiUtil.tokenConvertAuctionId(token);
         if (auctionId != null) {
            TaoBaoGoodsBrief tb = null;
            try {
               tb = TaoKeApiUtil.getSimpleGoodsInfo(auctionId);
            } catch (TaobaoGoodsDownException e) {
               e.printStackTrace();
            }
            if (tb != null) {
               JSONObject data = new JSONObject();
               JSONObject taoBaoGoodsJSON = new JSONObject();
               taoBaoGoodsJSON.put("title", tb.getTitle());
               taoBaoGoodsJSON.put("zkPrice", tb.getZkPrice());
               taoBaoGoodsJSON.put("id", tb.getAuctionId());
               taoBaoGoodsJSON.put("goodsType", Constant.SOURCE_TYPE_TAOBAO);
               taoBaoGoodsJSON.put("url", "http://item.taobao.com/item.htm?id=" + tb.getAuctionId());
               data.put("goods", taoBaoGoodsJSON);
               if (!StringUtil.isNullOrEmpty(tb.getPictUrl())) {
                  if (tb.getImgList() == null)
                     tb.setImgList(new ArrayList<>());
                  tb.getImgList().add(0, TbImgUtil.getTBSize220Img(tb.getPictUrl()));
               }
               data.put("imgs", tb.getImgList());
               JSONObject root = new JSONObject();
               root.put("type", 1);
               root.put("data", data);
               out.print(JsonUtil.loadTrueResult(root));
               return true;
            }
         }
      }
      return false;
   }
   /**
@@ -592,8 +643,7 @@
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            for (JDGoods goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, null, fanLiRate,
                     shareRate);
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate);
               array.add(gson.toJson(goodsDetailVO));
            }
         }
@@ -605,7 +655,7 @@
   }
   /**
    * 京东
    * 拼多多
    * 
    * @param kw
    * @param page
@@ -669,8 +719,7 @@
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            for (PDDGoodsDetail goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, null, fanLiRate,
                     shareRate);
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, fanLiRate, shareRate);
               array.add(gson.toJson(goodsDetailVO));
            }
         }