From 8222e8b237c5dfb0affcdc03335bfadc06403bf8 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 19 七月 2019 15:49:39 +0800 Subject: [PATCH] 奖励券使用优化类型 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 122 +++++++++++++++++++++++++++++++++------- 1 files changed, 101 insertions(+), 21 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..6c70940 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; @@ -1945,13 +1946,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 +1988,100 @@ 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