admin
2021-03-02 4011b8d0b377af33e2bc435f7726329630d706cb
src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java
@@ -160,10 +160,21 @@
    public static String getOpenId(String uid) {
        Map<String, String> params = new HashMap<>();
        params.put("uid", uid);
        String result = baseRequest("https://coapi.pptv.com/coapi-web/api/http/sopRequest", params, "pptv.channel.openid.get");
//        String result = baseRequest("https://coapi.pptv.com/coapi-web/api/http/sopRequest", params, "pptv.channel.openid.get");
        String result = baseRequest("http://coapiwebsit.cnsuning.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 +183,56 @@
     *
     * @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.optInt("errCode") == 1;
    }
       System.out.println(result);
//        JSONObject resultJSON = JSONObject.fromObject(result);
//        return resultJSON.optJSONObject("response").optJSONObject("body").optString("openId");
    /**
     * 买商品
     *
     * @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", CHANNEL_ID);
        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://billing.api.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) {
        //DA7559531560894
        buyGoods("257dfd950c20ad25dee9f99ef926c0f8", "buwan_100", "DA7559531560894", new Date());
    }