From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 六月 2020 19:26:26 +0800 Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复 --- fanli/src/main/java/com/yeshi/fanli/util/suning/SuningApiUtil.java | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 170 insertions(+), 4 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 2d10145..6582967 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 @@ -2,6 +2,7 @@ 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; @@ -16,6 +17,7 @@ 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; @@ -120,6 +122,9 @@ 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) @@ -134,11 +139,44 @@ 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 + "-" + supplierCode); + 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); @@ -149,6 +187,66 @@ 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) { @@ -181,7 +279,7 @@ * @param startTime * @param endTime * @param page - * @param orderLineStatus + * @param orderLineStatus 锛�0锛氬叏閮ㄧ姸鎬侊紱1锛氱瓑寰呬粯娆撅紱2锛氭敮浠樺畬鎴愶紱3锛氶��娆撅紱4锛氳鍗曞凡鍙栨秷锛�5锛氱‘璁ゆ敹璐э級 * @return * SuningOrderQueryResultDTO 杩斿洖绫诲瀷 * @throws @@ -198,7 +296,15 @@ String result = baseRequest("suning.netalliance.order.query", key, model); JSONObject resultJSON = JSONObject.fromObject(result); resultJSON = resultJSON.optJSONObject("sn_responseContent"); - JSONArray array = resultJSON.optJSONObject("sn_body").optJSONArray(key); + 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>>() { @@ -210,7 +316,7 @@ JSONObject data = array.optJSONObject(i); JSONArray itemArray = data.optJSONArray("orderDetail"); List<SuningOrderInfo> tempList = gson.fromJson(itemArray.toString(), type); - for(SuningOrderInfo info:tempList){ + for (SuningOrderInfo info : tempList) { info.setOrderCode(data.optString("orderCode")); orderList.add(info); } @@ -222,4 +328,64 @@ 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