| | |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.yeshi.fanli.util.*; |
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil; |
| | | import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; |
| | | import org.springframework.stereotype.Component; |
| | | import org.yeshi.utils.HttpUtil; |
| | |
| | | import com.yeshi.fanli.service.inter.user.TokenRecordService; |
| | | import com.yeshi.fanli.service.manger.goods.jd.JDGoodsLinkParseManager; |
| | | import com.yeshi.fanli.service.manger.goods.tb.TaoBaoTokenAuctionIdMapManager; |
| | | import com.yeshi.fanli.util.Constant; |
| | | import com.yeshi.fanli.util.DouYinUtil; |
| | | import com.yeshi.fanli.util.RedisManager; |
| | | import com.yeshi.fanli.util.StringUtil; |
| | | import com.yeshi.fanli.util.TokenUtil; |
| | | import com.yeshi.fanli.util.Utils; |
| | | import com.yeshi.fanli.util.VersionUtil; |
| | | import com.yeshi.fanli.util.factory.CommonGoodsFactory; |
| | | import com.yeshi.fanli.util.jd.JDApiUtil; |
| | | import com.yeshi.fanli.util.jd.JDUtil; |
| | |
| | | typeSet.add(ClipboardContentType.text); |
| | | } |
| | | |
| | | |
| | | return typeSet; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 特价解析粘贴板 |
| | | * 无平台,根据格式判断平台 |
| | | * |
| | | * @param text |
| | | */ |
| | | public Integer tejiaParseSourceType(String text) { |
| | | if (text == null) |
| | | return null; |
| | | text = text.trim(); |
| | | //判断是否有链接 |
| | | List<String> linkList = HttpUtil.getUrlListFromText(text); |
| | | if (linkList != null && linkList.size() > 0) { |
| | | String link = linkList.get(0); |
| | | if (TaoBaoUtil.isTaoBaoLink(link)) { |
| | | return Constant.SOURCE_TYPE_TAOBAO; |
| | | } else if (JDUtil.isJDLink(link)) { |
| | | return Constant.SOURCE_TYPE_JD; |
| | | } else if (PinDuoDuoUtil.isPDDLink(link)) { |
| | | return Constant.SOURCE_TYPE_PDD; |
| | | } else if (VipShopUtil.isVIPShopLink(link)) { |
| | | return Constant.SOURCE_TYPE_VIP; |
| | | } else if (SuningUtil.isSuningLink(link)) { |
| | | return Constant.SOURCE_TYPE_SUNING; |
| | | } |
| | | //链接非电商平台链接 |
| | | return null; |
| | | } |
| | | |
| | | //判断是否疑似口令 |
| | | if (TaoBaoUtil.isHaveNewVersionTaoBaoToken(text)) { |
| | | return Constant.SOURCE_TYPE_TAOBAO; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | |
| | | text = text.trim(); |
| | | |
| | | Set<ClipboardContentType> typeSet = parseContentType(text, platform, version); |
| | | //新版口令 |
| | | Long goodsId = null; |
| | | if (text.contains("https://m.tb.cn/")) { |
| | | try { |
| | | TaoKeApiUtil.TokenConvertResult result = TaoKeApiUtil.tokenConvert(text); |
| | | if (result != null) { |
| | | goodsId = result.getNum_iid(); |
| | | } |
| | | } catch (TaoBaoTokenParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if (goodsId == null) { |
| | | Long auctionId = DaTaoKeApiUtil.parseTaoBaoToken(text); |
| | | if (auctionId != null) { |
| | | typeSet.add(ClipboardContentType.taoBaoToken); |
| | | goodsId = auctionId; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 系统口令 |
| | | if (typeSet.contains(ClipboardContentType.systemToken)) { |
| | |
| | | return; |
| | | } |
| | | //优先解析淘口令 |
| | | Long goodsId = DaTaoKeApiUtil.parseTaoBaoToken(text); |
| | | if (goodsId != null) { |
| | | CommonGoods commonGoods = getTaoBaoGoods(goodsId); |
| | | if (commonGoods != null) |
| | |
| | | |
| | | return jdId; |
| | | } |
| | | |
| | | |
| | | |
| | | public String parseTBAuctionIdFromLink(String link) { |