From e19ce4be094d93f68bdb6ee1c28e9caa502bf2c4 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 10 十月 2019 11:17:12 +0800
Subject: [PATCH] utils包添加工具类,抖音广告修改

---
 fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java |  108 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 103 insertions(+), 5 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java
index f5b610a..63f336f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java
@@ -1,7 +1,21 @@
 package com.yeshi.fanli.util.vip;
 
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.yeshi.utils.StringUtil;
+
+import net.sf.json.JSONObject;
 
 /**
  * TODO 鏈畬鎴� 鍞搧浼氭帴鍙�
@@ -14,12 +28,28 @@
 	private final static String appKey = "f9e7f22f";
 	private final static String appSecret = "9B2291352497FAF42B2DF44BFCF62316";
 
-	private static String getSign() {
-
-		return null;
+	/**
+	 * 鑾峰彇绛惧悕
+	 * 
+	 * @param params
+	 * @return
+	 */
+	private static String getSign(Map<String, String> systemParams, JSONObject taskParams) {
+		List<String> list = new ArrayList<>();
+		for (Iterator<String> its = systemParams.keySet().iterator(); its.hasNext();) {
+			String key = its.next();
+			String value = systemParams.get(key);
+			list.add(key + value);
+		}
+		Collections.sort(list);
+		String source = "";
+		for (String st : list)
+			source += st;
+		source += taskParams.toString();
+		return StringUtil.MD5Hmac(source, appSecret);
 	}
 
-	private static Map<String, String> getBaseParams(String service, String method) {
+	private static Map<String, String> getSystemParams(String service, String method) {
 		Map<String, String> params = new HashMap<String, String>();
 		params.put("service", service);
 		params.put("method", method);
@@ -27,7 +57,75 @@
 		params.put("timestamp", System.currentTimeMillis() / 1000 + "");
 		params.put("format", "json");
 		params.put("appKey", appKey);
-		params.put("sign", null);
 		return params;
 	}
+
+	/**
+	 * 鍩虹璇锋眰
+	 * 
+	 * @param service
+	 * @param method
+	 * @param taskParams
+	 * @return
+	 */
+	private static String baseRequest(String service, String method, Map<String, String> taskParams) {
+		Map<String, String> systemParams = getSystemParams(service, method);
+		JSONObject json = new JSONObject();
+		for (Iterator<String> its = taskParams.keySet().iterator(); its.hasNext();) {
+			String key = its.next();
+			String value = taskParams.get(key);
+			json.put(key, value);
+		}
+		JSONObject root = new JSONObject();
+		root.put("request",json);
+		
+		String sign = getSign(systemParams, root);
+		systemParams.put("sign", sign);
+		String baseUrl = "https://gw.vipapis.com";
+		baseUrl += "?";
+		for (Iterator<String> its = systemParams.keySet().iterator(); its.hasNext();) {
+			String key = its.next();
+			String value = "";
+			try {
+				value = URLEncoder.encode(systemParams.get(key), "UTF-8");
+			} catch (UnsupportedEncodingException e) {
+				e.printStackTrace();
+			}
+			baseUrl += key + "=" + value + "&";
+		}
+		baseUrl = baseUrl.endsWith("&") ? baseUrl.substring(0, baseUrl.length() - 1) : baseUrl;
+		String result = post(baseUrl, root.toString());
+		return result;
+	}
+
+	@SuppressWarnings("deprecation")
+	private static String post(String url, String body) {
+		HttpClient client = new HttpClient();
+		PostMethod method = new PostMethod(url);
+		method.addRequestHeader("Content-Type", "application/json;charset=UTF-8");
+		method.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
+		method.setRequestBody(body);
+		try {
+			client.executeMethod(method);
+			return method.getResponseBodyAsString();
+		} catch (HttpException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	public static void search() {
+		Map<String, String> taskParams = new HashMap<>();
+		taskParams.put("keyword","绗旇鏈�");
+		taskParams.put("page", "1");
+		taskParams.put("pageSize", "20");
+		taskParams.put("requestId", System.currentTimeMillis() + "");
+		// taskParams.put("priceStart", "");
+		// taskParams.put("priceEnd", "");
+		String result = baseRequest("com.vip.adp.api.open.service.UnionGoodsService", "query", taskParams);
+		System.out.println(result);
+	}
+
 }

--
Gitblit v1.8.0