admin
2019-08-21 f660f6b12757ce214886abcd9f48f2b04bb96315
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;
@@ -141,7 +142,7 @@
         }
      }
      TaoBaoGoodsBrief tb = null;
      String URL_REGEX = "(((http|https)://)|(www\\.))[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6}(:[0-9]{1,4})?(/[a-zA-Z0-9\\&%_\\./-~-]*)?";
@@ -153,7 +154,7 @@
            return;
         }
         String pattern = "^[A-Za-z0-9-]+$";
         if (Pattern.matches(pattern, text.replace(" ", ""))) {//删除空格
         if (Pattern.matches(pattern, text.replace(" ", ""))) {// 删除空格
            out.println(JsonUtil.loadFalseResult("不支持推荐"));
            return;
         }
@@ -181,7 +182,14 @@
      CommonGoods commonGoods = null;
      text = matcher.group();
      if (text.contains("ju.taobao.com") || text.contains(".juhuasuan.com")) {// 聚划算
      if (text.startsWith("https://a.m.taobao.com/i"))// 淘宝账号未登录状态
      {
         text = text.substring("https://a.m.taobao.com/i".length(), text.indexOf(".htm"));
         if (NumberUtil.isNumeric(text)) {
            tb = TaoBaoUtil.isAlimama(text);
         }
      } else if (text.contains("ju.taobao.com") || text.contains(".juhuasuan.com")) {// 聚划算
         int index = text.indexOf("item_id");
         if (index < 0) {
            out.println(JsonUtil.loadFalseResult("暂未找到该商品,请稍后再试!"));
@@ -235,18 +243,23 @@
         return;
      }
      if (tb != null) {
         commonGoods = new CommonGoods();
         commonGoods.setPrice(tb.getZkPrice());
         commonGoods.setTitle(tb.getTitle());
         commonGoods.setGoodsId(tb.getAuctionId());
         commonGoods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
         commonGoods.setPicture(tb.getPictUrl());
      }
      JSONObject data = new JSONObject();
      
      if(VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
         if (tb != null) {
            TaoBaoGoodsBrief goodsBrief = null;
            try {
               goodsBrief = TaoKeApiUtil.searchGoodsDetail(tb.getAuctionId());
            } catch (TaobaoGoodsDownException e) {
               e.printStackTrace();
            }
            if (goodsBrief == null) {
               out.println(JsonUtil.loadFalseResult("暂未找到该商品,请稍后再试!"));
               return;
            }
            commonGoods = CommonGoodsFactory.create(goodsBrief);
         }
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
@@ -255,6 +268,15 @@
         data.put("goods", gson.toJson(GoodsDetailVOFactory.convertCommonGoods(commonGoods, null, fanLiRate, shareRate)));
         out.print(JsonUtil.loadTrueResult(data));
         return;
      }
      if (tb != null) {
         commonGoods = new CommonGoods();
         commonGoods.setPrice(tb.getZkPrice());
         commonGoods.setTitle(tb.getTitle());
         commonGoods.setGoodsId(tb.getAuctionId());
         commonGoods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
         commonGoods.setPicture(tb.getPictUrl());
      }
      
      JSONObject taoBaoGoodsJSON = new JSONObject();
@@ -319,7 +341,7 @@
   
   /**
    *
    * 口令领取
    * @param acceptData
    * @param kw
    * @param goodsType
@@ -328,8 +350,8 @@
   @RequestMapping(value = "tokenReceive", method = RequestMethod.POST)
   public void tokenReceive(AcceptData acceptData, Long uid, String token, PrintWriter out) {
      try {
         tokenRecordService.receiveToken(token, uid);
         out.print(JsonUtil.loadTrueResult("领取成功"));
         String msg = tokenRecordService.receiveToken(token, uid);
         out.print(JsonUtil.loadTrueResult(msg));
      } catch (TokenRecordException e) {
         out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
      }