From d1f26741bddf6f512d62c0100d42c52be8d37e76 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 06 二月 2021 15:35:40 +0800
Subject: [PATCH] 工具类优化

---
 fanli/src/main/java/com/yeshi/fanli/util/suning/SuningApiUtil.java |  795 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 398 insertions(+), 397 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningApiUtil.java
index 7f6e477..50e736d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningApiUtil.java
@@ -1,397 +1,398 @@
-package com.yeshi.fanli.util.suning;
-
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Date;
-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 com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
-import com.yeshi.fanli.dto.suning.SuningGoodsInfoRecommend;
-import com.yeshi.fanli.dto.suning.SuningOrderQueryResultDTO;
-import com.yeshi.fanli.dto.suning.SuningQueryModel;
-import com.yeshi.fanli.entity.suning.SuningOrderInfo;
-import com.yeshi.fanli.util.StringUtil;
-import org.yeshi.utils.TimeUtil;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-public class SuningApiUtil {
-
-	public final static String APP_SECRET = "a217bc7018fd8ca112bb60f09057d996";
-	public final static String APP_KEY = "6fca015e83eff7ef150bebcad418ea32";
-
-	public final static String PID_SHARE = "666527";
-	public final static String PID_BUY = "666526";
-
-	private static String post(String url, String entity, Map<String, String> headers) {
-		String charset = "utf-8";
-		HttpClient client = new HttpClient();
-		PostMethod method = new PostMethod(url);
-		method.addRequestHeader("Content-Type", "text/html;charset=" + charset);
-		method.setRequestHeader("Content-Type", "text/html;charset=" + charset);
-		method.setRequestBody(entity);
-		for (Iterator<String> its = headers.keySet().iterator(); its.hasNext();) {
-			String key = its.next();
-			method.addRequestHeader(key, headers.get(key));
-		}
-
-		try {
-			client.executeMethod(method);
-			return method.getResponseBodyAsString();
-		} catch (HttpException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return "";
-	}
-
-	private static String getSign(Map<String, String> baseParams, String resParams) {
-		StringBuffer sb = new StringBuffer();
-		try {
-			sb.append(APP_SECRET);
-			sb.append(baseParams.get("appMethod"));
-			sb.append(baseParams.get("appRequestTime"));
-			sb.append(baseParams.get("appKey"));
-			sb.append(baseParams.get("versionNo"));
-		} catch (Exception e) {
-
-		}
-
-		try {
-			sb.append(StringUtil.getBase64String(resParams));
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		return StringUtil.Md5(sb.toString());
-	}
-
-	private static String baseRequest(String method, JSONObject params) {
-		Map<String, String> baseParams = new HashMap<>();
-		baseParams.put("appMethod", method);
-		baseParams.put("appRequestTime", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
-		baseParams.put("format", "json");
-		baseParams.put("appKey", APP_KEY);
-		baseParams.put("versionNo", "v1.2");
-		String sign = getSign(baseParams, params.toString());
-		baseParams.put("signInfo", sign);
-		String result = post("https://open.suning.com/api/http/sopRequest/" + method, params.toString(), baseParams);
-		System.out.println(result);
-		return result;
-	}
-
-	private static String baseRequest(String method, String key, JSONObject params) {
-		JSONObject keyJSON = new JSONObject();
-		for (Iterator<String> its = params.keySet().iterator(); its.hasNext();) {
-			String k = its.next();
-			keyJSON.put(k, params.get(k));
-		}
-		JSONObject content = new JSONObject();
-		content.put(key, keyJSON);
-		JSONObject body = new JSONObject();
-		body.put("sn_body", content);
-		JSONObject request = new JSONObject();
-		request.put("sn_request", body);
-		return baseRequest(method, request);
-	}
-
-	/**
-	 * 鏌ヨ鍟嗗搧
-	 * @Title: searchGoods
-	 * @Description: 
-	 * @param model
-	 * @return 
-	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public static List<SuningGoodsInfo> searchGoods(SuningQueryModel model) {
-		model.setPicWidth(320);
-		model.setPicHeight(320);
-		String key = "querySearchcommoditynew";
-		String json = new Gson().toJson(model);
-		// String result =
-		// baseRequest("suning.netalliance.searchcommoditynew.query", key,
-		// JSONObject.fromObject(json));
-		String result = baseRequest("suning.netalliance.searchcommoditynew.query", key, JSONObject.fromObject(json));
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONObject(key)
-				.optJSONArray("commodityList");
-		if (array != null) {
-			Type type = new TypeToken<ArrayList<SuningGoodsInfo>>() {
-			}.getType();
-			List<SuningGoodsInfo> goodsList = new Gson().fromJson(array.toString(), type);
-			return goodsList;
-		}
-
-		return null;
-	}
-
-	/**
-	 * 鏌ヨ鍟嗗搧
-	 * @Title: searchGoods
-	 * @Description: 
-	 * @param model
-	 * @return 
-	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public static List<SuningGoodsInfo> searchGoodsOld(SuningQueryModel model) {
-		model.setPicWidth(320);
-		model.setPicHeight(320);
-		String key = "querySearchcommodity";
-		String json = new Gson().toJson(model);
-		String result = baseRequest("suning.netalliance.searchcommodity.query", key, JSONObject.fromObject(json));
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		JSONObject responseContent = resultJSON.optJSONObject("sn_responseContent");
-		if (responseContent != null) {
-			JSONObject snBody = responseContent.optJSONObject("sn_body");
-			if (snBody != null) {
-				JSONArray array = snBody.optJSONArray(key);
-				if (array != null) {
-					Type type = new TypeToken<ArrayList<SuningGoodsInfo>>() {
-					}.getType();
-					List<SuningGoodsInfo> goodsList = new Gson().fromJson(array.toString(), type);
-					return goodsList;
-				}
-			}
-		}
-		return null;
-	}
-
-	public static SuningGoodsInfo getGoodsDetail(String goodsCode, String supplierCode) {
-		JSONObject model = new JSONObject();
-		model.put("commodityStr", goodsCode + "-" +SuningUtil.getFullSupplierCode( supplierCode));
-		model.put("picWidth", 600);
-		model.put("picHeight", 600);
-		model.put("couponMark", 1);
-
-		String key = "queryCommoditydetail";
-		String result = baseRequest("suning.netalliance.commoditydetail.query", key, model);
-		System.out.println(result);
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		
-		if( resultJSON.optJSONObject("sn_responseContent")==null)
-			return null;
-		if(resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body")==null)
-			return null;
-		
-		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONArray(key);
-		if (array != null && array.size() > 0) {
-			return new Gson().fromJson(array.optJSONObject(0).toString(), SuningGoodsInfo.class);
-		}
-		return null;
-	}
-
-	/**
-	 * 鏌ヨ鍏宠仈鍟嗗搧
-	 * @Title: searchGoods
-	 * @Description: 
-	 * @param model
-	 * @return 
-	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public static List<SuningGoodsInfoRecommend> getRecommendGoods(String goodsCode, String supplierCode) {
-		JSONObject model = new JSONObject();
-		model.put("commodityCode", goodsCode);
-		model.put("supplierCode", supplierCode);
-		model.put("picWidth", 320);
-		model.put("picHeight", 320);
-
-		String key = "getMorerecommend";
-		String json = new Gson().toJson(model);
-		String result = baseRequest("suning.netalliance.morerecommend.get", key, JSONObject.fromObject(json));
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONObject(key)
-				.optJSONArray("commodityList");
-		if (array != null) {
-			Type type = new TypeToken<ArrayList<SuningGoodsInfoRecommend>>() {
-			}.getType();
-			List<SuningGoodsInfoRecommend> goodsList = new Gson().fromJson(array.toString(), type);
-			return goodsList;
-		}
-		return null;
-	}
-
-	public static List<SuningGoodsInfo> getGoodsDetailList(List<String> list) {
-		String sts = "";
-		for (String st : list) {
-			sts += st + "_";
-		}
-
-		if (sts.endsWith("_"))
-			sts = sts.substring(0, sts.length() - 1);
-
-		JSONObject model = new JSONObject();
-		model.put("commodityStr", sts);
-		model.put("picWidth", 300);
-		model.put("picHeight", 300);
-		model.put("couponMark", 1);
-		List<SuningGoodsInfo> goodsList = new ArrayList<>();
-
-		String key = "queryCommoditydetail";
-		String result = baseRequest("suning.netalliance.commoditydetail.query", key, model);
-		System.out.println(result);
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONArray(key);
-		if (array != null && array.size() > 0) {
-			for (int i = 0; i < array.size(); i++) {
-				goodsList.add(new Gson().fromJson(array.optJSONObject(i).toString(), SuningGoodsInfo.class));
-			}
-		}
-		return goodsList;
-	}
-
-	public static String convertLink(String productUrl, String quanUrl, String pid, String subUser) {
-		JSONObject model = new JSONObject();
-		if (productUrl != null)
-			model.put("productUrl", productUrl);
-
-		if (!StringUtil.isNullOrEmpty(quanUrl))
-			model.put("quanUrl", quanUrl);
-
-		if (pid != null)
-			model.put("promotionId", pid);
-
-		if (subUser != null)
-			model.put("subUser", subUser);
-
-		String key = "getExtensionlink";
-		String result = baseRequest("suning.netalliance.extensionlink.get", key, model);
-		System.out.println(result);
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		JSONObject json = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONObject(key);
-		String link = json.optString("shortLink");
-		return link;
-	}
-
-	/**
-	 * 0
-	 * @Title: getOrderList
-	 * @Description: 
-	 * @param startTime
-	 * @param endTime
-	 * @param page
-	 * @param orderLineStatus  锛�0锛氬叏閮ㄧ姸鎬侊紱1锛氱瓑寰呬粯娆撅紱2锛氭敮浠樺畬鎴愶紱3锛氶��娆撅紱4锛氳鍗曞凡鍙栨秷锛�5锛氱‘璁ゆ敹璐э級
-	 * @return 
-	 * SuningOrderQueryResultDTO 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public static SuningOrderQueryResultDTO getOrderList(Date startTime, Date endTime, int page, int orderLineStatus) {
-		JSONObject model = new JSONObject();
-		model.put("startTime", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
-		model.put("endTime", TimeUtil.getGernalTime(endTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
-		model.put("pageSize", 20);
-		model.put("pageNo", page);
-		model.put("orderLineStatus", orderLineStatus);
-
-		String key = "queryOrder";
-		String result = baseRequest("suning.netalliance.order.query", key, model);
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		resultJSON = resultJSON.optJSONObject("sn_responseContent");
-		JSONObject snBody = resultJSON.optJSONObject("sn_body");
-		if (snBody == null)
-			return null;
-
-		JSONArray array = snBody.optJSONArray(key);
-
-		if (array == null)
-			return null;
-
-		Gson gson = new Gson();
-
-		Type type = new TypeToken<ArrayList<SuningOrderInfo>>() {
-		}.getType();
-
-		if (array != null) {
-			List<SuningOrderInfo> orderList = new ArrayList<>();
-			for (int i = 0; i < array.size(); i++) {
-				JSONObject data = array.optJSONObject(i);
-				JSONArray itemArray = data.optJSONArray("orderDetail");
-				List<SuningOrderInfo> tempList = gson.fromJson(itemArray.toString(), type);
-				for (SuningOrderInfo info : tempList) {
-					info.setOrderCode(data.optString("orderCode"));
-					orderList.add(info);
-				}
-			}
-
-			return new SuningOrderQueryResultDTO(resultJSON.optJSONObject("sn_head").optInt("totalSize"), orderList);
-		}
-
-		return null;
-	}
-
-	/**
-	 * 甯歌杞摼
-	 * @Title: convertCommonLink
-	 * @Description: 
-	 * @param url
-	 * @param pid
-	 * @param subUser
-	 * @return 
-	 * String 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public static String convertCommonLink(String url, String pid, String subUser) {
-		JSONObject model = new JSONObject();
-		model.put("adBookId", pid);
-		model.put("visitUrl", url);
-		model.put("subUser", subUser);
-
-		String key = "queryCustompromotionurl";
-		String result = baseRequest("suning.netalliance.custompromotionurl.query", key, model);
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		resultJSON = resultJSON.optJSONObject("sn_responseContent");
-		String shortUrl = resultJSON.optJSONObject("sn_body").optJSONObject("queryCustompromotionurl")
-				.optString("shortUrl");
-		return URLDecoder.decode(shortUrl);
-	}
-
-	/**
-	 * 鍟嗗搧绮鹃�夋帴鍙�
-	 * @Title: getSelectRecommendGoods
-	 * @Description: 
-	 * @param eliteId
-	 * @param page
-	 * @return 
-	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public static List<SuningGoodsInfo> getSelectRecommendGoods(int eliteId, int page) {
-		JSONObject model = new JSONObject();
-		model.put("eliteId", eliteId);
-		model.put("pageIndex", page);
-		// model.put("picWidth", 320);
-		// model.put("picHeight", 320);
-		model.put("size", 10);
-		model.put("couponMark", 1);
-
-		String key = "querySelectrecommendcommodity";
-		String result = baseRequest("suning.netalliance.selectrecommendcommodity.query", key, model);
-		System.out.println(result);
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		resultJSON = resultJSON.optJSONObject("sn_responseContent");
-		JSONArray array = resultJSON.optJSONObject("sn_body").optJSONObject(key).optJSONArray("commodityList");
-		if (array != null) {
-			Type type = new TypeToken<ArrayList<SuningGoodsInfo>>() {
-			}.getType();
-			List<SuningGoodsInfo> goodsList = new Gson().fromJson(array.toString(), type);
-			return goodsList;
-		}
-		return null;
-	}
-
-}
+package com.yeshi.fanli.util.suning;
+
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Date;
+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 com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfoRecommend;
+import com.yeshi.fanli.dto.suning.SuningOrderQueryResultDTO;
+import com.yeshi.fanli.dto.suning.SuningQueryModel;
+import com.yeshi.fanli.entity.suning.SuningOrderInfo;
+import com.yeshi.fanli.util.StringUtil;
+import org.yeshi.utils.TimeUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+public class SuningApiUtil {
+
+	public final static String APP_SECRET = "a217bc7018fd8ca112bb60f09057d996";
+	public final static String APP_KEY = "6fca015e83eff7ef150bebcad418ea32";
+
+	public final static String PID_SHARE = "666527";
+	public final static String PID_BUY = "666526";
+	public final static String PID_COUPON = "666528";
+
+	private static String post(String url, String entity, Map<String, String> headers) {
+		String charset = "utf-8";
+		HttpClient client = new HttpClient();
+		PostMethod method = new PostMethod(url);
+		method.addRequestHeader("Content-Type", "text/html;charset=" + charset);
+		method.setRequestHeader("Content-Type", "text/html;charset=" + charset);
+		method.setRequestBody(entity);
+		for (Iterator<String> its = headers.keySet().iterator(); its.hasNext();) {
+			String key = its.next();
+			method.addRequestHeader(key, headers.get(key));
+		}
+
+		try {
+			client.executeMethod(method);
+			return method.getResponseBodyAsString();
+		} catch (HttpException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return "";
+	}
+
+	private static String getSign(Map<String, String> baseParams, String resParams) {
+		StringBuffer sb = new StringBuffer();
+		try {
+			sb.append(APP_SECRET);
+			sb.append(baseParams.get("appMethod"));
+			sb.append(baseParams.get("appRequestTime"));
+			sb.append(baseParams.get("appKey"));
+			sb.append(baseParams.get("versionNo"));
+		} catch (Exception e) {
+
+		}
+
+		try {
+			sb.append(StringUtil.getBase64String(resParams));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return StringUtil.Md5(sb.toString());
+	}
+
+	private static String baseRequest(String method, JSONObject params) {
+		Map<String, String> baseParams = new HashMap<>();
+		baseParams.put("appMethod", method);
+		baseParams.put("appRequestTime", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
+		baseParams.put("format", "json");
+		baseParams.put("appKey", APP_KEY);
+		baseParams.put("versionNo", "v1.2");
+		String sign = getSign(baseParams, params.toString());
+		baseParams.put("signInfo", sign);
+		String result = post("https://open.suning.com/api/http/sopRequest/" + method, params.toString(), baseParams);
+		System.out.println(result);
+		return result;
+	}
+
+	private static String baseRequest(String method, String key, JSONObject params) {
+		JSONObject keyJSON = new JSONObject();
+		for (Iterator<String> its = params.keySet().iterator(); its.hasNext();) {
+			String k = its.next();
+			keyJSON.put(k, params.get(k));
+		}
+		JSONObject content = new JSONObject();
+		content.put(key, keyJSON);
+		JSONObject body = new JSONObject();
+		body.put("sn_body", content);
+		JSONObject request = new JSONObject();
+		request.put("sn_request", body);
+		return baseRequest(method, request);
+	}
+
+	/**
+	 * 鏌ヨ鍟嗗搧
+	 * @Title: searchGoods
+	 * @Description: 
+	 * @param model
+	 * @return 
+	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static List<SuningGoodsInfo> searchGoods(SuningQueryModel model) {
+		model.setPicWidth(320);
+		model.setPicHeight(320);
+		String key = "querySearchcommoditynew";
+		String json = new Gson().toJson(model);
+		// String result =
+		// baseRequest("suning.netalliance.searchcommoditynew.query", key,
+		// JSONObject.fromObject(json));
+		String result = baseRequest("suning.netalliance.searchcommoditynew.query", key, JSONObject.fromObject(json));
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONObject(key)
+				.optJSONArray("commodityList");
+		if (array != null) {
+			Type type = new TypeToken<ArrayList<SuningGoodsInfo>>() {
+			}.getType();
+			List<SuningGoodsInfo> goodsList = new Gson().fromJson(array.toString(), type);
+			return goodsList;
+		}
+
+		return null;
+	}
+
+	/**
+	 * 鏌ヨ鍟嗗搧
+	 * @Title: searchGoods
+	 * @Description: 
+	 * @param model
+	 * @return 
+	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static List<SuningGoodsInfo> searchGoodsOld(SuningQueryModel model) {
+		model.setPicWidth(320);
+		model.setPicHeight(320);
+		String key = "querySearchcommodity";
+		String json = new Gson().toJson(model);
+		String result = baseRequest("suning.netalliance.searchcommodity.query", key, JSONObject.fromObject(json));
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		JSONObject responseContent = resultJSON.optJSONObject("sn_responseContent");
+		if (responseContent != null) {
+			JSONObject snBody = responseContent.optJSONObject("sn_body");
+			if (snBody != null) {
+				JSONArray array = snBody.optJSONArray(key);
+				if (array != null) {
+					Type type = new TypeToken<ArrayList<SuningGoodsInfo>>() {
+					}.getType();
+					List<SuningGoodsInfo> goodsList = new Gson().fromJson(array.toString(), type);
+					return goodsList;
+				}
+			}
+		}
+		return null;
+	}
+
+	public static SuningGoodsInfo getGoodsDetail(String goodsCode, String supplierCode) {
+		JSONObject model = new JSONObject();
+		model.put("commodityStr", goodsCode + "-" +SuningUtil.getFullSupplierCode( supplierCode));
+		model.put("picWidth", 600);
+		model.put("picHeight", 600);
+		model.put("couponMark", 1);
+
+		String key = "queryCommoditydetail";
+		String result = baseRequest("suning.netalliance.commoditydetail.query", key, model);
+		System.out.println(result);
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		
+		if( resultJSON.optJSONObject("sn_responseContent")==null)
+			return null;
+		if(resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body")==null)
+			return null;
+		
+		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONArray(key);
+		if (array != null && array.size() > 0) {
+			return new Gson().fromJson(array.optJSONObject(0).toString(), SuningGoodsInfo.class);
+		}
+		return null;
+	}
+
+	/**
+	 * 鏌ヨ鍏宠仈鍟嗗搧
+	 * @Title: searchGoods
+	 * @Description: 
+	 * @param model
+	 * @return 
+	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static List<SuningGoodsInfoRecommend> getRecommendGoods(String goodsCode, String supplierCode) {
+		JSONObject model = new JSONObject();
+		model.put("commodityCode", goodsCode);
+		model.put("supplierCode", supplierCode);
+		model.put("picWidth", 320);
+		model.put("picHeight", 320);
+
+		String key = "getMorerecommend";
+		String json = new Gson().toJson(model);
+		String result = baseRequest("suning.netalliance.morerecommend.get", key, JSONObject.fromObject(json));
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONObject(key)
+				.optJSONArray("commodityList");
+		if (array != null) {
+			Type type = new TypeToken<ArrayList<SuningGoodsInfoRecommend>>() {
+			}.getType();
+			List<SuningGoodsInfoRecommend> goodsList = new Gson().fromJson(array.toString(), type);
+			return goodsList;
+		}
+		return null;
+	}
+
+	public static List<SuningGoodsInfo> getGoodsDetailList(List<String> list) {
+		String sts = "";
+		for (String st : list) {
+			sts += st + "_";
+		}
+
+		if (sts.endsWith("_"))
+			sts = sts.substring(0, sts.length() - 1);
+
+		JSONObject model = new JSONObject();
+		model.put("commodityStr", sts);
+		model.put("picWidth", 300);
+		model.put("picHeight", 300);
+		model.put("couponMark", 1);
+		List<SuningGoodsInfo> goodsList = new ArrayList<>();
+
+		String key = "queryCommoditydetail";
+		String result = baseRequest("suning.netalliance.commoditydetail.query", key, model);
+		System.out.println(result);
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		JSONArray array = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONArray(key);
+		if (array != null && array.size() > 0) {
+			for (int i = 0; i < array.size(); i++) {
+				goodsList.add(new Gson().fromJson(array.optJSONObject(i).toString(), SuningGoodsInfo.class));
+			}
+		}
+		return goodsList;
+	}
+
+	public static String convertLink(String productUrl, String quanUrl, String pid, String subUser) {
+		JSONObject model = new JSONObject();
+		if (productUrl != null)
+			model.put("productUrl", productUrl);
+
+		if (!StringUtil.isNullOrEmpty(quanUrl))
+			model.put("quanUrl", quanUrl);
+
+		if (pid != null)
+			model.put("promotionId", pid);
+
+		if (subUser != null)
+			model.put("subUser", subUser);
+
+		String key = "getExtensionlink";
+		String result = baseRequest("suning.netalliance.extensionlink.get", key, model);
+		System.out.println(result);
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		JSONObject json = resultJSON.optJSONObject("sn_responseContent").optJSONObject("sn_body").optJSONObject(key);
+		String link = json.optString("shortLink");
+		return link;
+	}
+
+	/**
+	 * 0
+	 * @Title: getOrderList
+	 * @Description: 
+	 * @param startTime
+	 * @param endTime
+	 * @param page
+	 * @param orderLineStatus  锛�0锛氬叏閮ㄧ姸鎬侊紱1锛氱瓑寰呬粯娆撅紱2锛氭敮浠樺畬鎴愶紱3锛氶��娆撅紱4锛氳鍗曞凡鍙栨秷锛�5锛氱‘璁ゆ敹璐э級
+	 * @return 
+	 * SuningOrderQueryResultDTO 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static SuningOrderQueryResultDTO getOrderList(Date startTime, Date endTime, int page, int orderLineStatus) {
+		JSONObject model = new JSONObject();
+		model.put("startTime", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
+		model.put("endTime", TimeUtil.getGernalTime(endTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
+		model.put("pageSize", 20);
+		model.put("pageNo", page);
+		model.put("orderLineStatus", orderLineStatus);
+
+		String key = "queryOrder";
+		String result = baseRequest("suning.netalliance.order.query", key, model);
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		resultJSON = resultJSON.optJSONObject("sn_responseContent");
+		JSONObject snBody = resultJSON.optJSONObject("sn_body");
+		if (snBody == null)
+			return null;
+
+		JSONArray array = snBody.optJSONArray(key);
+
+		if (array == null)
+			return null;
+
+		Gson gson = new Gson();
+
+		Type type = new TypeToken<ArrayList<SuningOrderInfo>>() {
+		}.getType();
+
+		if (array != null) {
+			List<SuningOrderInfo> orderList = new ArrayList<>();
+			for (int i = 0; i < array.size(); i++) {
+				JSONObject data = array.optJSONObject(i);
+				JSONArray itemArray = data.optJSONArray("orderDetail");
+				List<SuningOrderInfo> tempList = gson.fromJson(itemArray.toString(), type);
+				for (SuningOrderInfo info : tempList) {
+					info.setOrderCode(data.optString("orderCode"));
+					orderList.add(info);
+				}
+			}
+
+			return new SuningOrderQueryResultDTO(resultJSON.optJSONObject("sn_head").optInt("totalSize"), orderList);
+		}
+
+		return null;
+	}
+
+	/**
+	 * 甯歌杞摼
+	 * @Title: convertCommonLink
+	 * @Description: 
+	 * @param url
+	 * @param pid
+	 * @param subUser
+	 * @return 
+	 * String 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static String convertCommonLink(String url, String pid, String subUser) {
+		JSONObject model = new JSONObject();
+		model.put("adBookId", pid);
+		model.put("visitUrl", url);
+		model.put("subUser", subUser);
+
+		String key = "queryCustompromotionurl";
+		String result = baseRequest("suning.netalliance.custompromotionurl.query", key, model);
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		resultJSON = resultJSON.optJSONObject("sn_responseContent");
+		String shortUrl = resultJSON.optJSONObject("sn_body").optJSONObject("queryCustompromotionurl")
+				.optString("shortUrl");
+		return URLDecoder.decode(shortUrl);
+	}
+
+	/**
+	 * 鍟嗗搧绮鹃�夋帴鍙�
+	 * @Title: getSelectRecommendGoods
+	 * @Description: 
+	 * @param eliteId
+	 * @param page
+	 * @return 
+	 * List<SuningGoodsInfo> 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public static List<SuningGoodsInfo> getSelectRecommendGoods(int eliteId, int page) {
+		JSONObject model = new JSONObject();
+		model.put("eliteId", eliteId);
+		model.put("pageIndex", page);
+		// model.put("picWidth", 320);
+		// model.put("picHeight", 320);
+		model.put("size", 10);
+		model.put("couponMark", 1);
+
+		String key = "querySelectrecommendcommodity";
+		String result = baseRequest("suning.netalliance.selectrecommendcommodity.query", key, model);
+		System.out.println(result);
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		resultJSON = resultJSON.optJSONObject("sn_responseContent");
+		JSONArray array = resultJSON.optJSONObject("sn_body").optJSONObject(key).optJSONArray("commodityList");
+		if (array != null) {
+			Type type = new TypeToken<ArrayList<SuningGoodsInfo>>() {
+			}.getType();
+			List<SuningGoodsInfo> goodsList = new Gson().fromJson(array.toString(), type);
+			return goodsList;
+		}
+		return null;
+	}
+
+}

--
Gitblit v1.8.0