package org.fanli; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStreamReader; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import org.yeshi.utils.HttpUtil; import com.yeshi.fanli.dao.mybatis.taobao.TBPidMapper; import com.yeshi.fanli.dto.taobao.TaoLiJinDTO; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TBPid; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService; import com.yeshi.fanli.service.inter.user.TBPidService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; import com.yeshi.fanli.util.BeanUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; //@Ignore public class TaoKeTest { public static int count = 0; @Test public void test1() { // List list= // TaoKeApiUtil.guessLikeByAuctionId(550439753563L,6); // System.out.println(list); // TaoBaoUtil.getTBDetailImageWithSize(597016140493L); // System.out.println(goods); // DaTaoKeApiUtil.getGoodsDetailByGoodsId(558195316187L); // try { // TaoKeApiUtil.specialConvertCoupon(608512721647L, new // TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, // TaoBaoConstant.TAOBAO_AUTH_APPSECRET, // TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT)); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // String link = TaoKeApiUtil.officialActivityConvert(87140050199L + "", // "1571715733668", "513796574"); // System.out.println(link); // String link = // TaoBaoUtil.getTaoBaoUnionAuthUrl(TaoBaoConstant.TAOBAO_AUTH_APPKEY, // "http://api.flqapp.com/fanli/client/v1/auth/callback/tb", 6396582L, // "share"); // System.out.println(link); // try { // TaoKeApiUtil.searchGoodsDetail(608512721647L); // } catch (TaobaoGoodsDownException e) { // e.printStackTrace(); // } List list = TaoKeOrderApiUtil.getTaoBaoRelationOrderList( TimeUtil.convertToTimeTemp("2019-12-09 10:13:52", "yyyy-MM-dd HH:mm:ss"), TimeUtil.convertToTimeTemp("2019-12-09 10:14:53", "yyyy-MM-dd HH:mm:ss"), 1); System.out.println(list); } @Test public void test2() { // String result = TaoKeApiUtil.officialActivityConvert("19507100253", // "1584519810786", "20211660"); // System.out.println(result); // TaoKeApiUtil.getQuanInfo(579875678934L, // "91b8984019e24fe1b1e3d6bd15479785"); String result = TaoKeApiUtil.getActivityInfo("1583739244161", TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT, "511374878"); System.out.println(result); String token = TaoKeApiUtil.getTKToken("http://", "口碑外卖红包", result); System.out.println(token); } @Test public void test3() { Long auctionId = 598165623087L; String appKey = "27965236"; String appSecret = "2be7a216bee767dc3a6388aa24f11140"; String pid = "mm_502940004_754900291_109486750166"; TaoKeAppInfo app = new TaoKeAppInfo(appKey, appSecret, pid); try { TaoLiJinDTO dto = TaoKeApiUtil.createTaoLiJin(auctionId, "淘礼金", new BigDecimal(1), 1, new Date(), new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 12L), new Date(), new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 12L), app); System.out.println(dto); } catch (Exception e) { e.printStackTrace(); } } @Test public void test4() { TaoBaoOrderService taoBaoOrderService = BeanUtil.getBean(TaoBaoOrderService.class); try { List list = TaoBaoOrderUtil.parseOrder( new FileInputStream(new File("C:/Users/Administrator/Desktop/淘宝订单/2018.1.10-2018-03-12 (2).xls"))); for (int i = 0; i < list.size(); i++) { // if (TimeUtil.convertToTimeTemp(list.get(i).getCreateTime(), // "yyyy-MM-dd HH:mm:ss") > 1522339200000l) { // list.remove(i); // i--; // } } taoBaoOrderService.addTaoBaoOrderList(list); System.out.println(list); } catch (FileNotFoundException e) { e.printStackTrace(); } } static String cookie = "cna=Q9eYFEM1rm8CAXH7EKUDSamu; account-path-guide-s1=true; 124933865_yxjh-filter-1=true; undefined_yxjh-filter-1=true; t=9dd8d10a742dccaf3c42af830249fe39; pub-message-center=1; cookie2=102d56e20037f8d9d1edff803285bb30; v=0; _tb_token_=58995010ab130; alimamapwag=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzczLjAuMzY4My4xMDMgU2FmYXJpLzUzNy4zNg%3D%3D; cookie32=b9eeefb51faae3c2f2d5a08032516932; alimamapw=F3AHRnRyE3slFHALR3V%2BEHIDF3Z2RndyPwhRVQAOAwAPBVMABQ0HAFMBVQtTAgdaUwAJUwUEVlFX%0A; cookie31=MTI0OTMzODY1LCVFNiVBNCVCMCVFOCVBNyU4NiVFNyVBNyU5MSVFNiU4QSU4MCw0MTI2NjE4NjlAcXEuY29tLFRC; login=VFC%2FuZ9ayeYq2g%3D%3D; rurl=aHR0cHM6Ly9wdWIuYWxpbWFtYS5jb20v; apushcbb2dd0258025fce735efc665422e16d=%7B%22ts%22%3A1556431673690%2C%22heir%22%3A1556431667417%2C%22parentId%22%3A1556431661238%7D; l=bBT2uo87vPM0bgSWBOfNquI8Lx7OPIRb8sPzw4OG5ICP_m1JWkBPWZO5aaYvC3GNa6FDR3y1Nww8BuLKsy4Eh; isg=BNLSh7GG2qh7bSaDwEb8EBBFI5h0S9cHLDtQ4pwrXwV9r3CphHO9jLWJH0M2304V"; private List getPids() { List pids = new ArrayList<>(); String url = "https://pub.alimama.com/common/adzone/adzoneManage.json"; Map headers = new HashMap<>(); headers.put("cookie", cookie); headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"); headers.put("referer", "https://pub.alimama.com/myunion.htm"); Map params = new HashMap<>(); params.put("tab", 3 + "");// 3 params.put("toPage", "10"); params.put("perPageSize", "500"); params.put("_input_charset", "utf-8"); params.put("gcid", "8");// 8 params.put("t", System.currentTimeMillis() + ""); params.put("_tb_token_", "78e513aee5563"); String result = HttpUtil.get(url, params, headers); JSONObject resultJson = JSONObject.fromObject(result); JSONArray array = resultJson.optJSONObject("data").optJSONArray("pagelist"); for (int i = 0; i < array.size(); i++) { JSONObject item = array.optJSONObject(i); String pid = item.optString("adzonePid"); if ((item.optString("name").startsWith("quanqudao_") || item.optString("name").startsWith("tuiguang_")) && item.optInt("mixClick30day") < 3000) { pids.add(pid); } } return pids; } @Test public void test5() { String[] pids = new String[] { "mm_124933865_43788020_437192946", "mm_124933865_35320824_165774413", "mm_124933865_43788020_381938426", "mm_124933865_46852994_1828270335", "mm_124933865_56750082_10647300249", "mm_124933865_56750082_87140050199", "mm_124933865_56750082_89555600043" }; TBPidMapper tbPidMapper = BeanUtil.getBean(TBPidMapper.class); for (int i = 200; i < 230; i++) { List list = tbPidMapper.listByTypeAndUse(true, 500 * i, 500); String adzones = ""; for (TBPid tbPid : list) { boolean needAdd = true; for (String p : pids) if (p.equalsIgnoreCase(tbPid.getPid())) { needAdd = false; break; } if (needAdd) adzones += tbPid.getPid().split("_")[3] + ","; } adzones = adzones.substring(0, adzones.length() - 1); } } @Test public void test6() { String text = "[玫瑰]各位亲友好,记得领券哦[愉快]" + "【京东1月3日领券精选】\n" + "[红包]抢红包 最高888\n" + "https://u.jd.com/8xeCfl\n" + "🚅火车票神券50元\n" + "https://u.jd.com/cMReZz\n" + "🌟居家好物9.9包邮\n" + "https://u.jd.com/AG2z4A\n" + "👔男装3件7折\n" + "https://u.jd.com/kgMslr\n" + "👗女装清仓5折起\n" + "https://u.jd.com/kgMslr\n" + "🛍有礼有年货\n" + "https://u.jd.com/qdvIiG\n" + "💋SK-II大促\n" + "https://u.jd.com/7XybkD\n" + "💰超级百亿补贴\n" + "https://u.jd.com/qVFjDL\n" + "🍼母婴券年货节\n" + "https://u.jd.com/kA0scy\n" + "🛍超市满199-100\n" + "https://u.jd.com/eQSwNn\n" + "[發]内购券大全\n" + "https://u.jd.com/zIHmUy\n" + "[福]Plus全品券\n" + "https://u.jd.com/d9fcGr\n" + "⚡京东秒杀\n" + "https://u.jd.com/WSIi1z\n" + "【记得与更多好友分享[愉快]】"; ConvertLinkManager convertLinkManager = BeanUtil.getBean(ConvertLinkManager.class); try { System.out.println(convertLinkManager.convertLinkFromText(text, 437032L, true)); } catch (Exception e) { e.printStackTrace(); } } @Test public void test7() { Long uid = 1965358L; Long auctionId = 575009129060L; String platform = "ios"; UserInfoService userInfoService = BeanUtil.getBean(UserInfoService.class); UserExtraTaoBaoInfoService userExtraTaoBaoInfoService = BeanUtil.getBean(UserExtraTaoBaoInfoService.class); TaoBaoBuyRelationMapService taoBaoBuyRelationMapService = BeanUtil.getBean(TaoBaoBuyRelationMapService.class); TBPidService tbPidService = BeanUtil.getBean(TBPidService.class); ShareGoodsService shareGoodsService = BeanUtil.getBean(ShareGoodsService.class); UserInfo user = userInfoService.getUserByIdWithMybatis(uid); TaoBaoGoodsBrief goods = null; try { goods = TaoKeApiUtil.getSimpleGoodsInfo(auctionId); } catch (TaobaoGoodsDownException e) { return; } catch (Exception e) { try { LogHelper.errorDetailInfo(e, "获取商品简版详情出错", auctionId + ""); } catch (Exception e1) { e1.printStackTrace(); } } JSONObject data = new JSONObject(); boolean isNative = false; String pid = null; boolean specialConvert = false; if (goods.getMaterialLibType() != null && goods.getMaterialLibType() == 1) { specialConvert = true; } else specialConvert = false; String specialId = null; String relationId = null; // 查询用户ID是否绑定了会员运营ID UserExtraTaoBaoInfo userInfo = userExtraTaoBaoInfoService.getByUid(uid); if (userInfo != null && !StringUtil.isNullOrEmpty(userInfo.getSpecialId()) && userInfo.getSpecialValid() != null && userInfo.getSpecialValid() == true) { specialId = userInfo.getSpecialId(); relationId = userInfo.getRelationId(); // 已经绑定 if (specialConvert) { isNative = true; } else isNative = false; pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT; } else {// 尚未绑定 isNative = true; } data.put("native", isNative); int pidType = PidUser.TYPE_FANLI_ANDROID; if (platform.equalsIgnoreCase("ios")) pidType = PidUser.TYPE_FANLI_IOS; try { TaoBaoLink taoBaoLink = null; // 是返利商品库的商品 if (specialConvert) { if (!StringUtil.isNullOrEmpty(specialId)) { taoBaoLink = shareGoodsService.getTaoBaoLinkForBuyWithSpecial(uid, specialId, auctionId); data.put("native", true); } else { if (!specialConvert && !isNative) { if (pidType == PidUser.TYPE_FANLI_ANDROID) taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId, tbPidService.getAndroidDefault().getPid()); else taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId, tbPidService.getIOSDefault().getPid()); } else taoBaoLink = shareGoodsService.getTaoBaoLinkForBuy(uid, auctionId, pidType); } } else {// 不是返利库的商品,用特殊PID替代 try { relationId = taoBaoBuyRelationMapService.getRelationId(uid); } catch (Exception e) { LogHelper.errorDetailInfo(e, "uid:" + uid, null); } if (!StringUtil.isNullOrEmpty(relationId)) {// taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId, TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID); data.put("native", true); } else { if (pidType == PidUser.TYPE_FANLI_ANDROID) taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId, tbPidService.getAndroidDefault().getPid()); else taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId, tbPidService.getIOSDefault().getPid()); } } JSONObject link = new JSONObject(); link.put("clickUrl", taoBaoLink.getClickUrl()); link.put("couponUrl", taoBaoLink.getCouponLink()); data.put("type", 1); data.put("link", link); } catch (Exception e) { isNative = false; // TBPid tbPid = null; // if (acceptData.getPlatform().equalsIgnoreCase("android")) { // tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_FANLI_ANDROID); // } else { // tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_FANLI_IOS); // } // // data.put("native", isNative); // if (tbPid != null) { // String siteId = tbPid.getPid().split("_")[2]; // String adzoneId = tbPid.getPid().split("_")[3]; // TaoBaoUnionConfig config = // taoBaoUnionConfigService.getConfigByAppIdCache(siteId); // ClientTBPid clientTBPid = new ClientTBPid(config.getAppKey(), // tbPid.getPid(), siteId, adzoneId); // data.put("type", 2); // data.put("tbPidInfo", clientTBPid); // out.print(JsonUtil.loadTrueResult(data)); // } else { // out.print(JsonUtil.loadFalseResult(1, "请求失败")); // } } } private void deleteAdzones(String adzones) { String url = "https://pub.alimama.com/common/adzone/adzoneDelete.json"; Map headers = new HashMap<>(); headers.put("cookie", cookie); headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"); headers.put("referer", "https://pub.alimama.com/myunion.htm"); Map params = new HashMap<>(); params.put("adzoneids", adzones); params.put("gcid", "8"); params.put("t", System.currentTimeMillis() + ""); params.put("_tb_token_", "58995010ab130"); // System.out.println("位置:" + i); String result = (HttpUtil.post(url, params, headers)); if (result != null && JSONObject.fromObject(result).optBoolean("ok") == true) { System.out.println(result); } else { System.out.println("error---"); // break; } try { Thread.sleep(1000 * 3 + (int) (Math.random() * 3000)); } catch (InterruptedException e) { } } @Test public void test12() { try { BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(new File("C:/Users/Administrator/Desktop/新建文本文档 (2).txt")))); String text = ""; String lineTxt = null; while ((lineTxt = br.readLine()) != null) {// 数据以逗号分隔 text += new String(lineTxt.getBytes("unicode"), "UTF-8"); } System.out.println(text); br.close(); } catch (Exception e) { } } @Test public void test13() { TaoKeApiUtil.specialConvertCoupon(579875678934L, new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT)); try { TaoKeApiUtil.getSimpleGoodsInfo(556371219169L); } catch (TaobaoGoodsDownException e) { e.printStackTrace(); } } @Test public void test14() { Long[] ids = new Long[] { 547050481823L,612971793223L }; try { for (Long id : ids) { TaoBaoGoodsBrief goods = TaoKeApiUtil.getSimpleGoodsInfo(id); System.out.println(goods.getMaterialLibType()); } } catch (TaobaoGoodsDownException e) { e.printStackTrace(); } // DaTaoKeApiUtil.convertLink(614847140426L, // TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT); } }