admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/DynamicRecommendController.java
@@ -19,16 +19,20 @@
import com.yeshi.fanli.entity.taobao.SearchFilter;
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.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.manger.goods.tb.TaoBaoTokenAuctionIdMapManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.Utils;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONObject;
@@ -49,7 +53,10 @@
   private TaoBaoUnionConfigService taoBaoUnionConfigService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private TaoBaoTokenAuctionIdMapManager taoBaoTokenAuctionIdMapManager;
   /**
    * 获取商品信息
@@ -150,6 +157,9 @@
      Pattern p = Pattern.compile(URL_REGEX);
      Matcher matcher = p.matcher(text);
      if (!matcher.find()) {// 不包含链接
         // 解析淘口令
         if (analysisTaoToken(text, out))
            return;
         // 商品详情
         // 发现
         // 没有链接,标题过长也不处理
@@ -159,7 +169,7 @@
               text = text.substring(1, end);
         }
         LogHelper.test("根据粘贴板推荐:"+text);
         LogHelper.test("根据粘贴板推荐:" + text);
         if (text.length() > 80) {
            out.print(JsonUtil.loadFalseResult("值过长"));
@@ -185,11 +195,11 @@
            }
         // 查询大淘客标题
         List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listByDtitle(text);
         List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listByDtitle(text);
         if (list != null && list.size() > 0) {
            root.put("type", 2);
            JSONObject data = new JSONObject();
            data.put("title", list.get(0).getdTitle());
            data.put("title", list.get(0).getDtitle());
            root.put("data", data);
            out.print(JsonUtil.loadTrueResult(root));
            return;
@@ -257,4 +267,49 @@
      out.print(JsonUtil.loadTrueResult(root));
   }
   /**
    * 解析淘口令
    *
    * @param text
    * @param out
    * @return
    */
   private boolean analysisTaoToken(String text, PrintWriter out) {
      List<String> tokenList = TaoBaoUtil.getTokenListFromText(text);
      if (tokenList != null && tokenList.size() > 0) {
         String token = tokenList.get(0);
         Long auctionId = taoBaoTokenAuctionIdMapManager.getAuctionIdByToken(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("auctionId", tb.getAuctionId());
               taoBaoGoodsJSON.put("url", "http://item.taobao.com/item.htm?id=" + tb.getAuctionId());
               data.put("taoBaoGoodsBrief", taoBaoGoodsJSON);
               if (!StringUtil.isNullOrEmpty(tb.getPictUrl())) {
                  if (tb.getImgList() == null)
                     tb.setImgList(new ArrayList<>());
                  tb.getImgList().add(0, TbImgUtil.getTBSize220Img(tb.getPictUrl()));
               }
               data.put("tbImgs", tb.getImgList());
               JSONObject root = new JSONObject();
               root.put("type", 1);
               root.put("data", data);
               out.print(JsonUtil.loadTrueResult(root));
               return true;
            }
         }
      }
      return false;
   }
}