admin
2021-02-06 cad915058c3c53bf328a8ae9ca9bc7de099caba7
src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java
@@ -163,7 +163,17 @@
        String result = baseRequest("https://coapi.pptv.com/coapi-web/api/http/sopRequest", params, "pptv.channel.openid.get");
        System.out.println(result);
        JSONObject resultJSON = JSONObject.fromObject(result);
        return resultJSON.optJSONObject("response").optJSONObject("body").optString("openId");
        JSONObject response = resultJSON.optJSONObject("response");
        if (StringUtil.isNullOrEmpty(response.optString("error_code")))
            return response.optJSONObject("body").optString("openId");
        return null;
    }
    public static void getVIPPriceList() {
        Map<String, String> params = new HashMap<>();
        String result = baseRequest("https://coapi.pptv.com/coapi-web/api/http/sopRequest", params, "pptv.channel.goods.associator");
        System.out.println(result);
    }
@@ -172,13 +182,55 @@
     *
     * @param code
     */
    public static void login(String code) {
    public static boolean login(String code) {
        String url = String.format("https://coapi.pptv.com/coapi-web/api/getUserToken/%s/%s.htm", APP_KEY, code);
        String result = HttpUtil.get(url);
       System.out.println(result);
//        JSONObject resultJSON = JSONObject.fromObject(result);
//        return resultJSON.optJSONObject("response").optJSONObject("body").optString("openId");
        JSONObject resultJSON = JSONObject.fromObject(result);
        return resultJSON.optInt("errCode") == 1;
    }
    /**
     * 买商品
     *
     * @param openId
     * @param orderNo
     * @param goodsNo
     * @param orderTime
     * @return
     */
    public static boolean buyGoods(String openId, String orderNo, String goodsNo, Date orderTime) {
        Map<String, String> params = new HashMap<>();
        params.put("openId", openId);
        params.put("canal", CANAL);
        params.put("channel", "yeshi");
        params.put("goodsNo", goodsNo);
        params.put("outOrderId", orderNo);
        params.put("orderTime", TimeUtil.getGernalTime(orderTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
        params.put("sign", StringUtil.Md5(String.format("%s&%s&%s&%s", openId, params.get("channel"), orderNo, "2MnD8nCWu7EzbiJ")));
        String result = get("http://uc.test.pptv.com/cusp/jointMember", params);
        System.out.println(result);
        JSONObject data = JSONObject.fromObject(result);
        if (data.optInt("errorCode") == 0) {
            return true;
        }
        return false;
    }
    private static String get(String url, Map<String, String> params) {
        List<String> list = new ArrayList<>();
        for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) {
            String key = its.next();
            list.add(key + "=" + URLEncoder.encode(params.get(key)));
        }
        url += "?" + org.yeshi.utils.StringUtil.concat(list, "&");
        System.out.println(url);
        return HttpUtil.get(url);
    }
    public static void main(String[] args) {
        buyGoods("257dfd950c20ad25dee9f99ef926c0f8", "buwan_27", "DA7559531560894", new Date());
    }