admin
2020-06-15 3e4ef41ffacd7f5fda2e81c3810cd11a6375b83c
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,9 +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;
@@ -149,6 +155,45 @@
      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);
      Gson gson = new Gson();
      if (resultJson.optInt("returnCode") == 0) {
         resultJson = resultJson.optJSONObject("result");
         int count = resultJson.optInt("total");
         JSONArray array = resultJson.optJSONArray("goodsInfoList");
         for (int i = 0; i < array.size(); i++) {
            VIPGoodsInfo info = gson.fromJson(array.optJSONObject(i).toString(), VIPGoodsInfo.class);
@@ -165,7 +210,7 @@
    * 
    * @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);
@@ -175,6 +220,12 @@
      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;
   }
   /**
@@ -220,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;
   }
}