|
package org.fanli;
|
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileNotFoundException;
|
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.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.TaoBaoSearchResult;
|
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.util.BeanUtil;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TaoBaoConstant;
|
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
//@Ignore
|
public class TaoKeTest {
|
|
public static int count = 0;
|
|
@Test
|
public void test1() {
|
TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(16432, 1, 100);
|
System.out.println(result);
|
}
|
|
@Test
|
public void test2() {
|
|
TaoBaoGoodsBrief goods = null;
|
try {
|
goods = TaoKeApiUtil.searchGoodsDetail(601535036423L);
|
|
// goods = TaoKeApiUtil.searchGoodsDetail(601535036423L, new
|
// TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
|
// TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
|
// TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
|
} catch (TaobaoGoodsDownException e2) {
|
e2.printStackTrace();
|
}
|
System.out.println(goods);
|
|
// goods = TaoKeApiUtil.searchGoodsDetail(auctionId);
|
}
|
|
@Test
|
public void test3() {
|
Long auctionId = 598165623087L;
|
String appKey = "27821872";
|
String appSecret = "9277b7c40b753e142303eeabc1936c80";
|
String pid = "mm_491980152_690500060_109327900051";
|
TaoKeAppInfo app = new TaoKeAppInfo(appKey, appSecret, pid);
|
|
try {
|
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);
|
} 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 token = TaoKeApiUtil.getTKToken(
|
"https://img.alicdn.com/bao/uploaded/i4/1951405497/O1CN01pSRKwW1qTfhFOL6ID_!!0-item_pic.jpg",
|
"进门门垫卧室地毯厨房脚垫卫浴室防滑垫子家用门口卫生间吸水地垫",
|
"https://uland.taobao.com/coupon/edetail?e=ALb9e%2B%2F%2BWuEGQASttHIRqWG9PQkvBWgpe2xKTDmY89k3iJ6QLtrZTaw1YqztnqtTrnLz2cLaP4IorCkhghE4lRktOfsF9p14gPp7zT6kOnRnXdWpB0IN0xemP0hpIIPvjDppvlX%2Bob8NlNJBuapvQ2MDg9t1zp0R8pjV3C9qcwTlnMqBDl4yuer2wO%2Fohke1&traceId=0b83456615579010794213275ee3b8&union_lens=lensId:0b1832c2_0bdc_16aba23f39d_07b3&xId=hu3LxjUFR7nb3uT9e97Uy74tDuNpUuisuzrh7K8WAro72oLHXY1N6hSpx7bzQWpJ3rMAKcQf6fA0iBNYmL0GOA");
|
System.out.println(token);
|
}
|
|
@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) {
|
}
|
}
|
|
}
|