From 784af16411d97c3e14f81dd4ebf1380c8b9effb0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 31 七月 2019 10:33:18 +0800
Subject: [PATCH] 智能推荐修改
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 141 insertions(+), 26 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
index f02503e..d9b5e46 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -12,6 +12,7 @@
import com.taobao.api.ApiException;
import com.yeshi.fanli.dto.taobao.TaoBaoShopInfoDTO;
import com.yeshi.fanli.dto.taobao.TaoLiJinDTO;
+import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport;
import com.yeshi.fanli.entity.taobao.RelateGoods;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -21,6 +22,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
+import com.yeshi.fanli.exception.taobao.TaoBaoAuthException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
@@ -1391,7 +1393,7 @@
map.put("page_no", page + "");
map.put("page_size", pageSize + "");
map.put("material_id", materialId + "");
- map.put("content_id", "561388751621");
+ // map.put("content_id", "561388751621");
String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
System.out.println(resultStr);
@@ -1645,7 +1647,7 @@
return null;
}
- public static String getRelationId(String accessToken, String appKey, String appSecret) {
+ public static String getRelationId(String accessToken, String appKey, String appSecret) throws TaoBaoAuthException {
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.sc.publisher.info.save");
map.put("session", accessToken);
@@ -1661,14 +1663,22 @@
return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data")
.optString("relation_id");
} catch (TaoKeApiException e) {
- e.printStackTrace();
- LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + resultJSON);
+ JSONObject errorJSON = JSONObject.fromObject(e.getMsg()).optJSONObject("error_response");
+ if (errorJSON.optInt("code") == 15 && errorJSON.optInt("sub_code") == 1)// 鏈疄鍚�
+ {
+ throw new TaoBaoAuthException(TaoBaoAuthException.CODE_NOT_REAL_NAME, errorJSON.optString("sub_msg"));
+ } else {
+ e.printStackTrace();
+ LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + e.getMsg());
+ throw new TaoBaoAuthException(TaoBaoAuthException.CODE_OTHER, errorJSON.optString("sub_msg"));
+ }
+ } catch (Exception e) {
+ LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + (resultJSON != null ? resultJSON.toString() : "鏈煡閿欒"));
}
-
return null;
}
- public static String getSpecialId(String accessToken, String appKey, String appSecret) {
+ public static String getSpecialId(String accessToken, String appKey, String appSecret) throws TaoBaoAuthException {
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.sc.publisher.info.save");
map.put("session", accessToken);
@@ -1684,8 +1694,17 @@
return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data")
.optString("special_id");
} catch (TaoKeApiException e) {
- e.printStackTrace();
- LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + resultJSON);
+ JSONObject errorJSON = JSONObject.fromObject(e.getMsg()).optJSONObject("error_response");
+ if (errorJSON.optInt("code") == 15 && errorJSON.optInt("sub_code") == 1)// 鏈疄鍚�
+ {
+ throw new TaoBaoAuthException(TaoBaoAuthException.CODE_NOT_REAL_NAME, errorJSON.optString("sub_msg"));
+ } else {
+ e.printStackTrace();
+ LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + e.getMsg());
+ throw new TaoBaoAuthException(TaoBaoAuthException.CODE_OTHER, errorJSON.optString("sub_msg"));
+ }
+ } catch (Exception e) {
+ LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + (resultJSON != null ? resultJSON.toString() : "鏈煡閿欒"));
}
return null;
@@ -1945,13 +1964,41 @@
}
- // 娣樼ぜ閲戝垱寤�
+ /**
+ * 娣樺彛浠よ浆鍟嗗搧ID
+ *
+ * @param token
+ * @return
+ */
+ public static Long tokenConvertAuctionId(String token) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.tpwd.convert");
+ map.put("password_content", token);
+ map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]);
+ TaoKeAppInfo app = new TaoKeAppInfo();
+ app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+ app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ try {
+ JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ try {
+ return json.optJSONObject("tbk_tpwd_convert_response").optJSONObject("data").optLong("num_iid");
+ } catch (Exception e) {
+ return null;
+ }
+ } catch (TaoKeApiException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ // 娣樼ぜ閲戝垱寤�
public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
- int useDayLimit, Date sendStartTime, Date sendEndTime, Date useStartTime) {
+ Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
+ throws TaoKeApiException {
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.dg.vegas.tlj.create");
- map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3]);
+ map.put("adzone_id", app.getPid().split("_")[3]);
map.put("item_id", auctionId + "");
map.put("total_num", totalNum + "");
map.put("name", name);
@@ -1959,49 +2006,117 @@
map.put("security_switch", "false");
map.put("per_face", perface.toString());
map.put("send_start_time", TimeUtil.getGernalTime(sendStartTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
- map.put("send_end_time", TimeUtil.getGernalTime(sendEndTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
- map.put("use_end_time", useDayLimit + "");
- map.put("use_end_time_mode", "1");
- map.put("use_start_time", TimeUtil.getGernalTime(useStartTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
- TaoKeAppInfo app = new TaoKeAppInfo();
- app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
- app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ if (sendEndTime != null)
+ map.put("send_end_time", TimeUtil.getGernalTime(sendEndTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
+
+ if (useEndTime != null) {
+ map.put("use_end_time", TimeUtil.getGernalTime(useEndTime.getTime(), "yyyy-MM-dd"));
+ map.put("use_end_time_mode", "2");
+ }
+
+ if (useStartTime != null)
+ map.put("use_start_time", TimeUtil.getGernalTime(useStartTime.getTime(), "yyyy-MM-dd"));
try {
- JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
+ JSONObject json = JSONObject.fromObject(result);
System.out.println(json);
JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_create_response");
if (root != null && root.optJSONObject("result") != null) {
+
if (root.optJSONObject("result").optBoolean("success")) {
JSONObject modelJson = root.optJSONObject("result").optJSONObject("model");
TaoLiJinDTO dto = new TaoLiJinDTO();
dto.setRightsId(modelJson.optString("rights_id"));
dto.setSendUrl(modelJson.optString("send_url"));
return dto;
+ } else {
+ LogHelper.error(json);
+ }
+
+ // 鎺ュ彛杩斿洖寮傚父
+ String msgCode = root.optJSONObject("result").optString("msg_code");
+ if (!StringUtil.isNullOrEmpty(msgCode)) {
+ switch (msgCode) {
+ case "FAIL_BIZ_ITEM_FORBIDDEN":
+ throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_FORBIDDEN, "璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�");
+ case "FAIL_BIZ_ACCOUNT_UN_PAID":
+ case "PRE_FREEZE_ASSET_ACCOUNT_ERROR":
+ throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_NO_MONEY, "瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻");
+ default:
+ return null;
+ }
}
}
} catch (TaoKeApiException e) {
- e.printStackTrace();
+ throw e;
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
}
return null;
}
- // lCj1Alo8b9L4Ed6yJLq6iqJ7%2BkHL3AEW
-
- public static void getTaoLiJinEffective() {
+ // 娣樼ぜ閲戞姤鍛�
+ public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId) {
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.dg.vegas.tlj.instance.report");
- map.put("rights_id", "ZrIIvF/nd7SlL5Bg59eTK6J7+kHL3AEW");
+ map.put("rights_id", rightsId);
TaoKeAppInfo app = new TaoKeAppInfo();
app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- String json = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
- System.out.println(json);
+ try {
+ String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
+ JSONObject json = JSONObject.fromObject(result);
+ System.out.println(json);
+
+ JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_instance_report_response");
+
+ if (root != null && root.optJSONObject("result") != null) {
+ if (root.optJSONObject("result").optBoolean("success")) {
+ JSONObject modelJson = root.optJSONObject("result").optJSONObject("model");
+
+ if (modelJson != null && modelJson.size() > 0) {
+ UserTaoLiJinReport report = new UserTaoLiJinReport();
+ report.setId(rightsId);
+ report.setUnfreezeAmount(new BigDecimal(modelJson.optString("unfreeze_amount")));
+ report.setUnfreezeNum(modelJson.optInt("unfreeze_num"));
+ report.setRefundAmount(new BigDecimal(modelJson.optString("refund_amount")));
+ report.setRefundNum(modelJson.optInt("refund_num"));
+ report.setAlipayAmount(new BigDecimal(modelJson.optString("alipay_amount")));
+ report.setUseAmount(new BigDecimal(modelJson.optString("use_amount")));
+ report.setUseNum(modelJson.optInt("use_num"));
+ report.setWinAmount(new BigDecimal(modelJson.optString("win_amount")));
+ report.setWinNum(modelJson.optInt("win_num"));
+ report.setPreCommissionAmount(new BigDecimal(modelJson.optString("pre_commission_amount")));
+ return report;
+ }
+ }
+ }
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ return null;
}
+ public static void getCouponByAuctionId(Long auctionId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.itemid.coupon.get");
+ map.put("platform", 2 + "");
+ map.put("pid", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
+ map.put("num_iids", auctionId + "");
+ TaoKeAppInfo app = new TaoKeAppInfo();
+ app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+ app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ try {
+ JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ System.out.print(json);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
class QuanInfo {
--
Gitblit v1.8.0