From cbe9871d77e3586015f26d7e7c78d254bb8ec6f6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 19 七月 2019 17:25:55 +0800 Subject: [PATCH] 增加订单灰度测试代码 --- fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java | 102 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 90 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java index 720fe82..855054d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java @@ -12,6 +12,9 @@ import java.util.Set; import java.util.TreeMap; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpException; +import org.apache.commons.httpclient.methods.GetMethod; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -61,13 +64,29 @@ static Gson gson = new Gson(); + private static String get(String url) { + HttpClient client = new HttpClient(); + try { + client.getHttpConnectionManager().getParams().setConnectionTimeout(5000); + client.getHttpConnectionManager().getParams().setSoTimeout(5000); + GetMethod method = new GetMethod(url); + client.executeMethod(method); + return method.getResponseBodyAsString(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + private static String request(String url) { String result = null; while (result == null) { try { - result = HttpUtil.get(url); - if (result != null && result.startsWith("<html>")) + result = get(url); + if ((result != null && result.startsWith("<html>")) || StringUtil.isNullOrEmpty(result)) result = null; } catch (Exception e) { try { @@ -143,7 +162,16 @@ JSONObject data = JSONObject .fromObject(els.get(i).html().replace("var brandData =", "").trim().split("};")[0] + "}"); - taoBaoShopDTO = convertTaoBaoShopDTO(data); + taoBaoShopDTO = new TaoBaoShopDTO(); + JSONObject item = data.optJSONObject("act"); + taoBaoShopDTO.setSellerId(item.optLong("seller_id")); + taoBaoShopDTO.setBrandId(item.optString("brand_id")); + taoBaoShopDTO.setBrandDes(item.optString("brand_des")); + taoBaoShopDTO.setUserType(0); + + // 鍟嗗搧淇℃伅 + taoBaoShopDTO = getDynamicShopGoods(brandId, taoBaoShopDTO); + break; } } @@ -390,21 +418,30 @@ return StringUtil.Md5(signStr).toUpperCase(); } - public static TaoBaoShopDTO convertTaoBaoShopDTO(JSONObject data) { - TaoBaoShopDTO taoBaoShopDTO = new TaoBaoShopDTO(); - JSONObject item = data.optJSONObject("act"); - taoBaoShopDTO.setSellerId(item.optLong("seller_id")); - taoBaoShopDTO.setBrandId(item.optString("brand_id")); - taoBaoShopDTO.setBrandDes(item.optString("brand_des")); - int userType = 0; + /** + * 鑾峰彇搴楅摵涓嬪墠4涓晢鍝併�佸簵閾轰粙缁� + * + * @param brandId + * @return + */ + public static TaoBaoShopDTO getDynamicShopGoods(String brandId, TaoBaoShopDTO taoBaoShopDTO) { + if (brandId == null) { + return taoBaoShopDTO; + } + int userType = 0; List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); - JSONArray arrayGoods = data.optJSONArray("goods"); + + String result = HttpUtil.get("http://www.dataoke.com/brandGoods?id=" + brandId + "&page=1"); + JSONObject json = JSONObject.fromObject(result); + JSONArray arrayGoods = json.optJSONArray("goods"); + for (int i = 0; i < arrayGoods.size(); i++) { if (i >= 2) { break; } JSONObject itemGoods = arrayGoods.optJSONObject(i); + TaoBaoGoodsBrief taoBaoGoods = new TaoBaoGoodsBrief(); taoBaoGoods.setAuctionId(itemGoods.optLong("goodsid")); taoBaoGoods.setBiz30day(itemGoods.optInt("xiaoliang")); @@ -429,11 +466,52 @@ userType = itemGoods.optInt("istmall"); } - taoBaoShopDTO.setListGoods(listGoods); taoBaoShopDTO.setUserType(userType); + taoBaoShopDTO.setListGoods(listGoods); return taoBaoShopDTO; } + public static int RANK_TYPE_TIME = 1;// 瀹炴椂 + public static int RANK_TYPE_DAY = 2;// 鍏ㄥぉ姒� + public static int RANK_TYPE_HOT = 3;// 鐑帹姒� + + /** + * 鍚勫ぇ姒滃崟 + * + * @param type + * @return + */ + public static DaTaoKeGoodsResult getRankingList(int type, Integer cid) { + TaoKeAppInfo app = getRandomApp(); + DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult(); + Map<String, String> params = new TreeMap<>(); + params.put("version", "v1.0.0"); + params.put("appKey", app.getAppKey()); + params.put("rankType", type + ""); + if (cid != null) + params.put("cid", cid + ""); + params.put("sign", getSign(params, app.getAppSecret())); + String result = HttpUtil.get("https://openapi.dataoke.com/api/goods/get-ranking-list", params, new HashMap<>()); + JSONObject json = JSONObject.fromObject(result); + if (json != null) { + JSONArray array = json.optJSONArray("data"); + + List<DaTaoKeDetailV2> list = new ArrayList<>(); + for (int i = 0; i < array.size(); i++) { + JSONObject itemData = array.optJSONObject(i); + DaTaoKeDetailV2 item = gson.fromJson(itemData.toString(), DaTaoKeDetailV2.class); + item.setCouponConditions(itemData.optString("quanUsageCondition")); + item.setShopType(itemData.optInt("istmall")); + item.setOriginalPrice(new BigDecimal(itemData.optString("originPrice"))); + item.setMainPic(itemData.optString("pic")); + list.add(item); + } + daTaoKeGoodsResult.setGoodsList(list); + } + return daTaoKeGoodsResult; + + } + class DaTaoKeResult { Date updateTime; List<DaTaoKeDetail> dataList; -- Gitblit v1.8.0