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/vipshop/VipShopApiUtil.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 93 insertions(+), 18 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/vipshop/VipShopApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/vipshop/VipShopApiUtil.java index 62c956b..3a98301 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/vipshop/VipShopApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/vipshop/VipShopApiUtil.java @@ -2,6 +2,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.lang.reflect.Type; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; @@ -17,8 +18,14 @@ import org.yeshi.utils.StringUtil; import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; +import com.yeshi.fanli.dto.vip.VIPConvertResultDTO; +import com.yeshi.fanli.dto.vip.VIPSearchFilter; import com.yeshi.fanli.dto.vip.VIPSearchResult; import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; +import com.yeshi.fanli.dto.vipshop.VipShopOrderQueryModel; +import com.yeshi.fanli.dto.vipshop.VipShopQueryOrderResultDTO; +import com.yeshi.fanli.entity.vipshop.VipShopOrder; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -113,17 +120,73 @@ return null; } - public static VIPSearchResult search() { + /** + * 鎼滅储 + * @Title: search + * @Description: + * @param searchFilter + * @return + * VIPSearchResult 杩斿洖绫诲瀷 + * @throws + */ + public static VIPSearchResult search(VIPSearchFilter searchFilter) { Map<String, String> taskParams = new HashMap<>(); - taskParams.put("keyword", "澶瑰厠 鐢峰+ 甯﹀附"); - taskParams.put("page", "1"); - taskParams.put("pageSize", "20"); - taskParams.put("requestId", UUID.randomUUID() + ""); - // taskParams.put("priceStart", ""); - // taskParams.put("priceEnd", ""); + taskParams.put("keyword", searchFilter.getKeyword()); + taskParams.put("page", searchFilter.getPage() + ""); + taskParams.put("pageSize", searchFilter.getPageSize() + ""); + taskParams.put("requestId", System.currentTimeMillis() + "_" + UUID.randomUUID()); + if (searchFilter.getPriceStart() != null) + taskParams.put("priceStart", searchFilter.getPriceStart()); + + if (searchFilter.getPriceEnd() != null) + taskParams.put("priceEnd", searchFilter.getPriceEnd()); + if (searchFilter.getOrder() != null) + taskParams.put("order", searchFilter.getOrder() + ""); + if (searchFilter.getFieldName() != null) + taskParams.put("fieldName", searchFilter.getFieldName() + ""); + JSONObject root = new JSONObject(); root.put("request", JSONObject.fromObject(taskParams)); String result = baseRequest("com.vip.adp.api.open.service.UnionGoodsService", "query", root); + System.out.println(result); + List<VIPGoodsInfo> goodsList = new ArrayList<>(); + JSONObject resultJson = JSONObject.fromObject(result); + Gson gson = new Gson(); + if (resultJson.optInt("returnCode") == 0) { + resultJson = resultJson.optJSONObject("result"); + int count = resultJson.optInt("total"); + + JSONArray array = resultJson.optJSONArray("goodsInfoList"); + if (array != null && array.size() > 0) { + for (int i = 0; i < array.size(); i++) { + JSONObject optJSONObject = array.optJSONObject(i); + if (optJSONObject == null) { + continue; + } + VIPGoodsInfo info = gson.fromJson(array.optJSONObject(i).toString(), VIPGoodsInfo.class); + if (info != null) + goodsList.add(info); + } + } + + return new VIPSearchResult(goodsList, count); + } + return null; + } + + + + public static VIPSearchResult getGoodsList(int channelType,int page) { + Map<String, String> taskParams = new HashMap<>(); + taskParams.put("channelType",channelType+""); + taskParams.put("page", page+ ""); + taskParams.put("pageSize", 20 + ""); + taskParams.put("requestId", System.currentTimeMillis() + "_" + UUID.randomUUID()); + + + JSONObject root = new JSONObject(); + root.put("request", JSONObject.fromObject(taskParams)); + String result = baseRequest("com.vip.adp.api.open.service.UnionGoodsService", "goodsList", root); System.out.println(result); List<VIPGoodsInfo> goodsList = new ArrayList<>(); JSONObject resultJson = JSONObject.fromObject(result); @@ -147,16 +210,22 @@ * * @param goodsId */ - public static void convertLink(String goodsId, String tag) { + public static VIPConvertResultDTO convertLink(String goodsId, String tag) { JSONObject taskParams = new JSONObject(); JSONArray goodsIdArray = new JSONArray(); goodsIdArray.add(goodsId); taskParams.put("goodsIdList", goodsIdArray); taskParams.put("chanTag", tag); - taskParams.put("requestId", UUID.randomUUID() + ""); + taskParams.put("requestId", System.currentTimeMillis() + "_" + UUID.randomUUID()); String result = baseRequest("com.vip.adp.api.open.service.UnionUrlService", "genByGoodsId", JSONObject.fromObject(taskParams)); System.out.println(result); + JSONObject resultJSON = JSONObject.fromObject(result); + if (resultJSON.optInt("returnCode") == 0) { + String re = resultJSON.optJSONObject("result").optJSONArray("urlInfoList").optJSONObject(0).toString(); + return new Gson().fromJson(re, VIPConvertResultDTO.class); + } + return null; } /** @@ -202,20 +271,26 @@ return goodsList.get(0); } - public static void getOrderList() { - JSONObject params = new JSONObject(); - // params.put("status", 1); - params.put("orderTimeStart", System.currentTimeMillis() - 1000 * 60 * 60L); - params.put("orderTimeEnd", System.currentTimeMillis()); - params.put("page", 1); - // params.put("pageSize", ); - // params.put("updateTimeStart", ); - // params.put("updateTimeEnd", ); + public static VipShopQueryOrderResultDTO getOrderList(VipShopOrderQueryModel query) { + JSONObject params = JSONObject.fromObject(new Gson().toJson(query)); params.put("requestId", UUID.randomUUID()); JSONObject root = new JSONObject(); root.put("queryModel", params); String result = baseRequest("com.vip.adp.api.open.service.UnionOrderService", "orderList", root); System.out.println(result); + JSONObject json = JSONObject.fromObject(result); + if (json.optInt("returnCode") == 0) { + JSONObject resultJson = json.optJSONObject("result"); + int total = resultJson.optInt("total"); + JSONArray array = JSONArray.fromObject(resultJson.optJSONArray("orderInfoList")); + if (array != null) { + Type type = new TypeToken<ArrayList<VipShopOrder>>() { + }.getType(); + List<VipShopOrder> orderList = new Gson().fromJson(array.toString(), type); + return new VipShopQueryOrderResultDTO(orderList, total); + } + } + return null; } } -- Gitblit v1.8.0