From ae3e722d471d7e844acd25f124a1fec42ac714a0 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 11 七月 2019 18:56:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 98 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 76 insertions(+), 22 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..6b87a8b 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; @@ -1391,7 +1392,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); @@ -1662,7 +1663,7 @@ .optString("relation_id"); } catch (TaoKeApiException e) { e.printStackTrace(); - LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + resultJSON); + LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + e.getMsg()); } return null; @@ -1946,12 +1947,11 @@ } // 娣樼ぜ閲戝垱寤� - 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 +1959,103 @@ 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; } - } class QuanInfo { -- Gitblit v1.8.0