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