|
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.Arrays;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Scanner;
|
|
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.FileUtil;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TaoBaoConstant;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
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<TaoBaoGoodsBrief> 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<TaoBaoOrder> 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<TaoBaoOrder> 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<String> getPids() {
|
|
List<String> pids = new ArrayList<>();
|
|
String url = "https://pub.alimama.com/common/adzone/adzoneManage.json";
|
Map<String, String> 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<String, String> 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<TBPid> 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<String, String> 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<String, String> 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(573867930843L);
|
} catch (TaobaoGoodsDownException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Test
|
public void test14() {
|
TaoKeApiUtil.getCouponListByItemId(614089154947L);
|
}
|
|
}
|