admin
2021-06-07 01e23be6118d68d38a71d186296d440eadcaa197
app/src/main/java/com/tejia/lijin/app/util/goods/GoodsBuyUtil.java
@@ -2,37 +2,25 @@
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebViewClient;
import android.widget.Toast;
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
import com.alibaba.baichuan.android.trade.model.OpenType;
import com.alibaba.baichuan.android.trade.page.AlibcDetailPage;
import com.alibaba.baichuan.trade.biz.AlibcConstants;
import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
import com.alibaba.baichuan.trade.biz.login.AlibcLogin;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
import com.tejia.lijin.app.ShoppingApi;
import com.tejia.lijin.app.entity.TbPidInfo;
import com.tejia.lijin.app.entity.common.GoodsConvertLinkJumpLink;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityJD;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityPDD;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivitySuning;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityTB;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityVIP;
import com.tejia.lijin.app.entity.user.UserLijinLevelInfoVO;
import com.tejia.lijin.app.util.Constant;
import com.tejia.lijin.app.util.GoodsBuyJumpUtil;
import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
import com.tejia.lijin.app.util.user.UserUtil;
import com.wpc.library.util.common.StringUtils;
import org.apache.http.Header;
@@ -52,7 +40,7 @@
     * @param requestInfo
     * @param resultListener
     */
    public static void buy(Activity activity, Context context, GoodsBuyRequestInfo requestInfo, IBuyGoodsResultListener resultListener) {
    public static void fanli(Activity activity, Context context, GoodsBuyRequestInfo requestInfo, IBuyGoodsResultListener resultListener) {
        switch (requestInfo.getGoodsType()) {
            case Constant.GOODS_TYPE_TB:
@@ -62,13 +50,13 @@
                buyJD(activity, requestInfo, resultListener);
                break;
            case Constant.GOODS_TYPE_PDD:
                buyPDD(context, requestInfo, resultListener);
                buyPDD(activity, requestInfo, resultListener);
                break;
            case Constant.GOODS_TYPE_VIP:
                buyVIP(context, requestInfo, resultListener);
                buyVIP(activity, requestInfo, resultListener);
                break;
            case Constant.GOODS_TYPE_SUNING:
                buySuning(context, requestInfo, resultListener);
                buySuning(activity, requestInfo, resultListener);
                break;
        }
@@ -78,7 +66,7 @@
    /**
     * 打开指定链接
     */
    private static void jumpTB(Activity activity, TbPidInfo tInfo, String clickUrl, String couponUrl, final IBuyGoodsResultListener buyGoodsResultListener) {
    public static void jumpTB(Activity activity, TbPidInfo tInfo, String clickUrl, String couponUrl, final IBuyGoodsResultListener buyGoodsResultListener) {
        AlibcShowParams alibcShowParams = new AlibcShowParams();
        alibcShowParams.setOpenType(OpenType.Auto);
        alibcShowParams.setBackUrl("alisdk://");
@@ -108,24 +96,30 @@
    private static void buyTB(final Activity activity, final Context context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
        ShoppingApi.getTBLinkInfo(context,requestInfo.getUid(), requestInfo.getGoodsId(), requestInfo.getFrom(), "", new BasicTextHttpResponseHandler() {
        ShoppingApi.getTBLinkInfo(context, requestInfo.getUid(), requestInfo.getGoodsId(), requestInfo.getFrom(), "", new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    JSONObject data = jsonObject.optJSONObject("data");
                    TbPidInfo tInfo = null;
                    String clickUrl = null;
                    String couponUrl = null;
                    if (jsonObject.optJSONObject("data").optJSONObject("tbPidInfo") != null)
                        tInfo = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("tbPidInfo").toString(), TbPidInfo.class);
                    if (data.optJSONObject("tbPidInfo") != null)
                        tInfo = gson.fromJson(data.optJSONObject("tbPidInfo").toString(), TbPidInfo.class);
                    JSONObject object = jsonObject.optJSONObject("data").optJSONObject("link");
                    JSONObject object = data.optJSONObject("link");
                    if (object != null) {
                        clickUrl = object.optString("clickUrl");
                        couponUrl = object.optString("couponUrl");
                    }
                    buyGoodsResultListener.onConvertLinkSuccess();
                    jumpTB(activity, tInfo, clickUrl, couponUrl, buyGoodsResultListener);
                    UserLijinLevelInfoVO userLevel = null;
                    if (data.optJSONObject("userLevel") != null) {
                        userLevel = new Gson().fromJson(data.optJSONObject("userLevel").toString(), UserLijinLevelInfoVO.class);
                    }
                    GoodsBuyJumpUtil.jumpTB(activity, tInfo, clickUrl, couponUrl,userLevel, buyGoodsResultListener);
                } else {
                    buyGoodsResultListener.onConvertLinkFail(jsonObject.optString("msg"));
                }
@@ -157,20 +151,13 @@
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    GoodsConvertLinkJumpLink jumpLink = new Gson().fromJson(jsonObject.optJSONObject("data").toString(), GoodsConvertLinkJumpLink.class);
                    buyGoodsResultListener.onJumpThirdAppStart();
                    GoodsBuyJumpUtil.jumpJD(activity, jumpLink, new GoodsBuyJumpUtil.IJumpResult() {
                        @Override
                        public void onSuccess() {
                            buyGoodsResultListener.onJumpThirdAppSuccess();
                        }
                        @Override
                        public void onFail(String msg) {
                            buyGoodsResultListener.onJumpThirdAppFail();
                        }
                    });
                    JSONObject data = jsonObject.optJSONObject("data");
                    GoodsConvertLinkJumpLink jumpLink = new Gson().fromJson(data.toString(), GoodsConvertLinkJumpLink.class);
                    UserLijinLevelInfoVO userLevel = null;
                    if (data.optJSONObject("userLevel") != null) {
                        userLevel = new Gson().fromJson(data.optJSONObject("userLevel").toString(), UserLijinLevelInfoVO.class);
                    }
                    GoodsBuyJumpUtil.jumpJD(activity, jumpLink, userLevel, null);
                } else {
                    buyGoodsResultListener.onConvertLinkFail(jsonObject.optString("msg"));
                }
@@ -197,14 +184,20 @@
    }
    private static void buyPDD(final Context context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
    private static void buyPDD(final Activity context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
        ShoppingApi.getPDDLinkInfo(context, requestInfo.getUid(), requestInfo.getGoodsId(), requestInfo.getFrom(), "", new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    GoodsConvertLinkJumpLink pddJumpLink = new Gson().fromJson(jsonObject.optJSONObject("data").toString(), GoodsConvertLinkJumpLink.class);
                    JSONObject data = jsonObject.optJSONObject("data");
                    GoodsConvertLinkJumpLink pddJumpLink = new Gson().fromJson(data.toString(), GoodsConvertLinkJumpLink.class);
                    buyGoodsResultListener.onJumpThirdAppStart();
                    GoodsBuyJumpUtil.jumpPDD(context, pddJumpLink);
                    UserLijinLevelInfoVO userLevel = null;
                    if (data.optJSONObject("userLevel") != null) {
                        userLevel = new Gson().fromJson(data.optJSONObject("userLevel").toString(), UserLijinLevelInfoVO.class);
                    }
                    GoodsBuyJumpUtil.jumpPDD(context, pddJumpLink, userLevel);
                } else {
                    buyGoodsResultListener.onConvertLinkFail(jsonObject.optString("msg"));
                }
@@ -230,14 +223,20 @@
        });
    }
    private static void buyVIP(final Context context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
    private static void buyVIP(final Activity context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
        ShoppingApi.getVIPLinkInfo(context, requestInfo.getUid(), requestInfo.getGoodsId(), requestInfo.getFrom(), "", new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    GoodsConvertLinkJumpLink jumpLink = new Gson().fromJson(jsonObject.optJSONObject("data").toString(), GoodsConvertLinkJumpLink.class);
                    JSONObject data = jsonObject.optJSONObject("data");
                    GoodsConvertLinkJumpLink jumpLink = new Gson().fromJson(data.toString(), GoodsConvertLinkJumpLink.class);
                    buyGoodsResultListener.onJumpThirdAppStart();
                    GoodsBuyJumpUtil.jumpVIPShop(context, jumpLink);
                    UserLijinLevelInfoVO userLevel = null;
                    if (data.optJSONObject("userLevel") != null) {
                        userLevel = new Gson().fromJson(data.optJSONObject("userLevel").toString(), UserLijinLevelInfoVO.class);
                    }
                    GoodsBuyJumpUtil.jumpVIPShop(context, jumpLink, userLevel);
                } else {
                    buyGoodsResultListener.onConvertLinkFail(jsonObject.optString("msg"));
                }
@@ -265,14 +264,19 @@
    }
    private static void buySuning(final Context context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
    private static void buySuning(final Activity context, GoodsBuyRequestInfo requestInfo, final IBuyGoodsResultListener buyGoodsResultListener) {
        ShoppingApi.getSuningLinkInfo(context, requestInfo.getUid(), requestInfo.getGoodsId(), requestInfo.getFrom(), "", new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    GoodsConvertLinkJumpLink jumpLink = new Gson().fromJson(jsonObject.optJSONObject("data").toString(), GoodsConvertLinkJumpLink.class);
                    JSONObject data = jsonObject.optJSONObject("data");
                    GoodsConvertLinkJumpLink jumpLink = new Gson().fromJson(data.toString(), GoodsConvertLinkJumpLink.class);
                    buyGoodsResultListener.onJumpThirdAppStart();
                    GoodsBuyJumpUtil.jumpSuning(context, jumpLink);
                    UserLijinLevelInfoVO userLevel = null;
                    if (data.optJSONObject("userLevel") != null) {
                        userLevel = new Gson().fromJson(data.optJSONObject("userLevel").toString(), UserLijinLevelInfoVO.class);
                    }
                    GoodsBuyJumpUtil.jumpSuning(context, jumpLink, userLevel);
                } else {
                    buyGoodsResultListener.onConvertLinkFail(jsonObject.optString("msg"));
                }
@@ -302,7 +306,7 @@
    /**
     * 商品购买请求参数
     */
    static class GoodsBuyRequestInfo {
    public static class GoodsBuyRequestInfo {
        private int goodsType;
        private String goodsId;
        private String couponLink;