yj
2020-03-13 2f2860b50f24e5e3598d223db03d43df61d95c97
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -6,7 +6,6 @@
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -18,6 +17,7 @@
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.yeshi.utils.HttpUtil;
import com.yeshi.fanli.dto.dataoke.DingDongQiangDTO;
import com.yeshi.fanli.dto.dataoke.DingDongTime;
@@ -26,7 +26,6 @@
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoHead;
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.tag.PageEntity;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@@ -132,6 +131,41 @@
         "🕦",// 十一点半
   };
   static final String[] evaluateEmojis = new String[] {
      "💟",
      "🌸",
      "🍸",
      "🍺",
      "📢",
      "❤",
      "💝",
      "💋",
      "👛",
      "🐾",
      "🌹",
      "🔥",
      "🎉",
      "🎁",
      "🍥",
      "🍭",
      "🌺",
      "👑",
      "✨",
      "💫",
      "🍻",
      "🎈",
      "💥",
      "💕",
      "💞",
      "💰",
      "💌",
      "💭",
      "🌼",
      "🍀"
   };
   public static List<GoodsClass> goodsClasses;
   static {
      goodsClasses = new ArrayList<>();
@@ -444,9 +478,9 @@
      return couponList;
   }
   private static List<DaTaoKeDetail> parseCurrent(String url) {
   private static List<DaTaoKeDetailV2> parseCurrent(String url) {
      List<DaTaoKeDetail> list = new ArrayList<>();
      List<DaTaoKeDetailV2> list = new ArrayList<>();
      try {
         Document doc = Jsoup.connect(url)
               .userAgent(
@@ -460,9 +494,9 @@
                  .getElementsByTag("b").get(0).text();
            System.out.println(id + "-" + currentSale);
            DaTaoKeDetail detail = new DaTaoKeDetail();
            DaTaoKeDetailV2 detail = new DaTaoKeDetailV2();
            detail.setId(id);
            detail.setSalesNum(Integer.parseInt(currentSale));
            detail.setMonthSales(Integer.parseInt(currentSale));
            list.add(detail);
         }
@@ -482,7 +516,7 @@
    * @param cid
    * @return
    */
   public static List<DaTaoKeDetail> getCurrentSalesRank(Integer cid) {
   public static List<DaTaoKeDetailV2> getCurrentSalesRank(Integer cid) {
      String url = null;
      if (cid == null)
         url = "http://www.dataoke.com/top_sell";
@@ -497,7 +531,7 @@
    * @param cid
    * @return
    */
   public static List<DaTaoKeDetail> getCurrentDaySalesRank(Integer cid) {
   public static List<DaTaoKeDetailV2> getCurrentDaySalesRank(Integer cid) {
      String url = null;
      if (cid == null)
         url = "http://www.dataoke.com/top_all";
@@ -512,27 +546,31 @@
    * @param cid
    * @return
    */
   public static List<DaTaoKeDetail> getCurrentHotSalesRank() {
   public static List<DaTaoKeDetailV2> getCurrentHotSalesRank() {
      String url = "http://www.dataoke.com/top_tui";
      return parseCurrent(url);
   }
   private static String getRandomCommonEmoji() {
   public static String getRandomCommonEmoji() {
      return commonEmojis[(int) (Math.random() * commonEmojis.length)];
   }
   public static String getDesc(DaTaoKeDetail detail) {
   public static String getEvaluateEmojis() {
      return evaluateEmojis[(int) (Math.random() * evaluateEmojis.length)];
   }
   public static String getDesc(DaTaoKeDetailV2 detail) {
      // 标题+券后价+包邮+描述
      String desc = detail.getdTitle();
      String desc = detail.getDtitle();
      desc += "\n";
      desc += String.format("券后价%s【%s元】包邮秒杀 ", Math.random() > 0.5 ? "💰" : "",
            MoneyBigDecimalUtil.getWithNoZera(detail.getPrice()).toString())
            MoneyBigDecimalUtil.getWithNoZera(detail.getActualPrice()).toString())
            + (Math.random() > 0.5 ? getRandomCommonEmoji() : "");
      desc += "\n";
      // desc += detail.getIntroduce();
      String introduce = detail.getIntroduce().replace(",", ",").replace("。", ",").replace("!", ",").replace(",",
            ",");
      String introduce = detail.getDesc().replace(",", ",").replace("。", ",").replace("!", ",").replace(",", ",");
      introduce = introduce.replace(",,,", ",").replace(",,", ",");
      String[] sts = introduce.split(",");
@@ -548,16 +586,6 @@
      return desc;
   }
   public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetail detail) {
      if (detail != null && goods != null) {
         // 重新设置标题与券价格
         goods.setTitle(detail.getdTitle());
         if (!StringUtil.isNullOrEmpty(detail.getPic()))
            goods.setPictUrlWhite(detail.getPic());
      }
      return goods;
   }
   public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 detail) {
      if (detail != null && goods != null) {
         // 重新设置标题与券价格
@@ -568,15 +596,14 @@
      return goods;
   }
   public static DaTaoKeDetail filterDaTaoKe(TaoBaoGoodsBrief goods, DaTaoKeDetail detail) {
   public static DaTaoKeDetailV2 filterDaTaoKe(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 detail) {
      if (goods != null) {
         BigDecimal price = TaoBaoUtil.getAfterUseCouplePrice(goods);
         detail.setOrgPrice(goods.getZkPrice());
         detail.setPrice(price);
         detail.setOriginalPrice(goods.getZkPrice());
         detail.setActualPrice(price);
         if (goods.getCouponStartFee() != null)
            detail.setQuanCondition(goods.getCouponStartFee() + "");
         detail.setQuanId(goods.getCouponActivityId());
         detail.setQuanPrice(goods.getCouponAmount());
            detail.setCouponConditions(goods.getCouponStartFee() + "");
         detail.setCouponPrice(goods.getCouponAmount());
         return detail;
      }
@@ -648,4 +675,20 @@
      return list;
   }
   // 获取推广文案
   public static void getPublishDoc(String id) {
      String url = String.format("http://www.dataoke.com/detailtpl?gid=%s&type=1", id);
      String response = HttpUtil.get(url);
      try {
         JSONObject json = JSONObject.fromObject(new String(response.getBytes("ISO-8859-1"), "UTF-8"));
         JSONObject data = json.optJSONObject("data");
         String tpl2 = data.optString("tpl2");
         tpl2 = tpl2.substring(0, tpl2.indexOf("---------"));
         System.out.println(tpl2.replace("</br>", "\n").trim());
      } catch (Exception e) {
      }
   }
}