From 3e4ef41ffacd7f5fda2e81c3810cd11a6375b83c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 15 六月 2020 16:32:35 +0800 Subject: [PATCH] 好单库转链支持 --- fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java | 23 +++++++++++ fanli/src/main/java/com/yeshi/fanli/util/taobao/HaoDanKuApiUtil.java | 16 ++++++- fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java | 5 -- fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java | 23 ++++++----- 4 files changed, 50 insertions(+), 17 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java index deb88e6..edad734 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java @@ -424,12 +424,9 @@ LogHelper.userErrorInfo("鎻愮幇:寮�濮嬮�氳繃鎻愮幇-" + extract.getId()); AlipayFundTransUniTransferResponse response = null; try { - response = AlipayUtil.transfer("widthdraw_" + extract.getId(), extract.getAccount(), extract.getName(), extract.getMoney(), "鏉挎牀蹇渷鎻愮幇鍒拌处", "鏉ヨ嚜鏉挎牀蹇渷鐨勬彁鐜�"); + response = AlipayUtil.transferNoThrowException("widthdraw_" + extract.getId(), extract.getAccount(), extract.getName(), extract.getMoney(), "鏉挎牀蹇渷鎻愮幇鍒拌处", "鏉ヨ嚜鏉挎牀蹇渷鐨勬彁鐜�"); LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濋�氳繃鎻愮幇鎴愬姛-" + extract.getId()); } catch (AlipayApiException e) { - LogHelper.errorDetailInfo(e, "鏀粯瀹濊浆璐﹀紓甯�:" + extract.getId(), ""); - LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濇彁鐜板紓甯革細" + response + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); - }catch(AlipayTransferException e){ LogHelper.errorDetailInfo(e, "鏀粯瀹濊浆璐﹀紓甯�:" + extract.getId(), ""); LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濇彁鐜板紓甯革細" + response + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java index 8e0274c..1f941c8 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java @@ -29,6 +29,7 @@ import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; +import com.yeshi.fanli.util.taobao.HaoDanKuApiUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -174,16 +175,18 @@ throw new Exception("鍟嗗搧淇℃伅鑾峰彇澶辫触"); String link = null; if (share) { - TaoBaoGoodsBrief goods = TaoKeApiUtil.specialConvertCoupon(auctionId, - new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, - TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT)); - if (goods == null) - throw new Exception("鍟嗗搧杞摼澶辫触"); - - link = goods.getCouponLink(); - if (StringUtil.isNullOrEmpty(link)) { - link = goods.getAuctionUrl(); - } + //鏆傛椂璋冪敤濂藉崟搴揂PI + link=HaoDanKuApiUtil.getInstance().convertLink(auctionId, TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT, null); +// TaoBaoGoodsBrief goods = TaoKeApiUtil.specialConvertCoupon(auctionId, +// new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, +// TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT)); +// if (goods == null) +// throw new Exception("鍟嗗搧杞摼澶辫触"); +// +// link = goods.getCouponLink(); +// if (StringUtil.isNullOrEmpty(link)) { +// link = goods.getAuctionUrl(); +// } if (StringUtil.isNullOrEmpty(link)) throw new Exception("鍟嗗搧杞摼澶辫触"); link += "&relationId=" + relationId; diff --git a/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java index bb8b3ba..ea397b3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java @@ -6,6 +6,7 @@ import com.alipay.api.CertAlipayRequest; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipayFundTransUniTransferRequest; +import com.alipay.api.request.AlipayTradeQueryRequest; import com.alipay.api.response.AlipayFundTransUniTransferResponse; import com.yeshi.fanli.exception.user.AlipayTransferException; @@ -68,4 +69,26 @@ } } + public static AlipayFundTransUniTransferResponse transferNoThrowException(String outBizNo, String account, String name, + BigDecimal money, String orderTitle, String mark) throws AlipayApiException{ + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); + JSONObject json = new JSONObject(); + json.put("out_biz_no", outBizNo); + json.put("trans_amount", money.toString()); + json.put("product_code", "TRANS_ACCOUNT_NO_PWD"); + json.put("order_title", orderTitle); + JSONObject payee_info = new JSONObject(); + payee_info.put("identity", account); + payee_info.put("identity_type", "ALIPAY_LOGON_ID"); + payee_info.put("name", name); + json.put("payee_info", payee_info); + json.put("remark", mark); + json.put("biz_scene", "DIRECT_TRANSFER"); + + request.setBizContent(json.toString()); + AlipayFundTransUniTransferResponse response = null; + response = alipayClient.certificateExecute(request); + return response; + } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/HaoDanKuApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/HaoDanKuApiUtil.java index 4e71996..9b0a1b9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/HaoDanKuApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/HaoDanKuApiUtil.java @@ -68,14 +68,24 @@ System.out.println(result); } - public void convertLink(Long auctionId, String pid, String activityId) { + public String convertLink(Long auctionId, String pid, String activityId) { List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>(); params.add(new ParamsKeyValue("itemid", auctionId + "")); params.add(new ParamsKeyValue("pid", pid)); if (activityId != null) params.add(new ParamsKeyValue("activityid", activityId)); String result = basePostRequest("http://v2.api.haodanku.com/ratesurl", params); - System.out.println(result); + JSONObject resultData = JSONObject.fromObject(result); + String link = ""; + if (resultData.optInt("code") == 1) { + resultData = resultData.optJSONObject("data"); + link = resultData.optString("coupon_click_url"); + if (StringUtil.isNullOrEmpty(link)) { + link = resultData.optString("item_url"); + } + } + + return link; } /** @@ -94,7 +104,7 @@ if (minId == null) minId = 1; List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>(); - params.add(new ParamsKeyValue("nav", 3+ "")); + params.add(new ParamsKeyValue("nav", 3 + "")); params.add(new ParamsKeyValue("back", pageSize + "")); params.add(new ParamsKeyValue("min_id", minId + "")); params.add(new ParamsKeyValue("sort", 0 + "")); -- Gitblit v1.8.0