From ddff7888bf7e754d12fb5fc85a58f3012f456490 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 05 六月 2021 17:26:03 +0800
Subject: [PATCH] 特价完善

---
 app/src/main/java/com/tejia/lijin/app/util/GoodsBuyJumpUtil.java |  322 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 318 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/util/GoodsBuyJumpUtil.java b/app/src/main/java/com/tejia/lijin/app/util/GoodsBuyJumpUtil.java
index 95f4b50..18c2214 100644
--- a/app/src/main/java/com/tejia/lijin/app/util/GoodsBuyJumpUtil.java
+++ b/app/src/main/java/com/tejia/lijin/app/util/GoodsBuyJumpUtil.java
@@ -1,25 +1,160 @@
 package com.tejia.lijin.app.util;
 
+import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
+import android.os.Handler;
 import android.util.Log;
 import android.view.View;
+import android.webkit.WebChromeClient;
+import android.webkit.WebViewClient;
 
+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.trade.biz.AlibcConstants;
+import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
+import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
 import com.kepler.jd.Listener.OpenAppAction;
 import com.kepler.jd.login.KeplerApiManager;
 import com.kepler.jd.sdk.bean.KeplerAttachParameter;
+import com.tejia.lijin.app.entity.TbPidInfo;
 import com.tejia.lijin.app.entity.common.GoodsConvertLinkJumpLink;
+import com.tejia.lijin.app.entity.user.UserLijinLevelInfoVO;
+import com.tejia.lijin.app.ui.dialog.GoodsDetailJumpLoaingDialog;
 import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
+import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
+import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
 import com.tejia.lijin.app.util.downutil.StringUtils;
+import com.tejia.lijin.app.util.goods.GoodsBuyUtil;
+import com.tejia.lijin.app.util.ui.dialog.DialogUtil;
+
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 鍘昏喘涔扮殑璺宠浆閾炬帴
  */
 public class GoodsBuyJumpUtil {
 
-    public static void jumpPDD(Context context, GoodsConvertLinkJumpLink link) {
+
+    public static void jumpTB(final Activity activity, final TbPidInfo tInfo, final String clickUrl, final String couponUrl, UserLijinLevelInfoVO userLevel, final GoodsBuyUtil.IBuyGoodsResultListener buyGoodsResultListener) {
+
+        if (userLevel != null && userLevel.getUpgradeRights() != null) {
+            showADLoading(activity, Constant.GOODS_TYPE_TB, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
+                @Override
+                public void onClose(boolean auto) {
+                    jumpTB(activity, tInfo, clickUrl, couponUrl, buyGoodsResultListener);
+                }
+            });
+        } else {
+            final Dialog dialog = getLoadingDialog(activity, Constant.GOODS_TYPE_TB);
+            jumpTB(activity, tInfo, clickUrl, couponUrl, new GoodsBuyUtil.IBuyGoodsResultListener() {
+                @Override
+                public void onConvertLinkStart() {
+
+                }
+
+                @Override
+                public void onConvertLinkSuccess() {
+
+                }
+
+                @Override
+                public void onConvertLinkFail(String msg) {
+
+                }
+
+                @Override
+                public void onConvertLinkComplete() {
+
+                }
+
+                @Override
+                public void onJumpThirdAppStart() {
+                    DialogUtil.show(dialog);
+                    new Handler().postDelayed(new Runnable() {
+                        public void run() {
+                            DialogUtil.dismiss(dialog);
+                        }
+
+                    }, 3 * 1000);
+
+                }
+
+                @Override
+                public void onJumpThirdAppSuccess() {
+                    DialogUtil.dismiss(dialog);
+                }
+
+                @Override
+                public void onJumpThirdAppFail() {
+                    DialogUtil.dismiss(dialog);
+                }
+            });
+        }
+
+    }
+
+    private static void jumpTB(Activity activity, TbPidInfo tInfo, String clickUrl, String couponUrl, final GoodsBuyUtil.IBuyGoodsResultListener buyGoodsResultListener) {
+        AlibcShowParams alibcShowParams = new AlibcShowParams();
+        alibcShowParams.setOpenType(OpenType.Auto);
+        alibcShowParams.setBackUrl("alisdk://");
+        alibcShowParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpBROWER);
+        AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams("", "", "");
+        if (tInfo != null) {
+            alibcTaokeParams = new AlibcTaokeParams("", "", "");
+            alibcTaokeParams.setPid(tInfo.getPid());
+            alibcTaokeParams.setAdzoneid(tInfo.getAdZoneId());
+            alibcTaokeParams.pid = tInfo.getPid();
+            alibcTaokeParams.adzoneid = tInfo.getAdZoneId();
+            alibcTaokeParams.extraParams = new HashMap<>();
+            alibcTaokeParams.extraParams.put("taokeAppkey", tInfo.getAppKey());
+        }
+        Map<String, String> exParams = new HashMap<>();
+        exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
+        exParams.put("alibaba", "闃块噷宸村反");//鑷畾涔夊弬鏁伴儴鍒嗭紝鍙换鎰忓鍒犳敼
+        if (!com.wpc.library.util.common.StringUtils.isEmpty(clickUrl) || !com.wpc.library.util.common.StringUtils.isEmpty(couponUrl)) {
+            String url = (!com.wpc.library.util.common.StringUtils.isEmpty(couponUrl)) ? couponUrl : clickUrl;
+            AlibcTradeSDK.setTaokeParams(alibcTaokeParams);
+            if (buyGoodsResultListener != null)
+                buyGoodsResultListener.onJumpThirdAppStart();
+            AlibcTradeUtil.openByUrl(activity,
+                    url, null, new WebViewClient(), new WebChromeClient(),
+                    alibcShowParams, alibcTaokeParams, null);
+        }
+
+    }
+
+
+    public static void jumpPDD(final Activity context, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel) {
+        jumpPDD(context, link);
+
+
+        if (userLevel != null && userLevel.getUpgradeRights() != null) {
+            showADLoading(context, Constant.GOODS_TYPE_PDD, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
+                @Override
+                public void onClose(boolean auto) {
+                    jumpPDD(context, link);
+                }
+            });
+        } else {
+            final Dialog dialog = getLoadingDialog(context, Constant.GOODS_TYPE_PDD);
+            DialogUtil.show(dialog);
+            jumpPDD(context, link);
+            new Handler().postDelayed(new Runnable() {
+                public void run() {
+                    DialogUtil.dismiss(dialog);
+                }
+
+            }, 3 * 1000);
+        }
+
+    }
+
+    private static void jumpPDD(Context context, GoodsConvertLinkJumpLink link) {
         if (context == null)
             return;
         if (link == null)
@@ -90,7 +225,7 @@
 
         try {
 
-            if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink())&&ApkUtil.checkAPP(context, "com.jingdong.app.mall")) {
+            if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.jingdong.app.mall")) {
                 KeplerApiManager.getWebViewService().openAppWebViewPage(context, link.getNativeJumpLink(), new KeplerAttachParameter(), mOpenAppAction);
                 return;
             }
@@ -117,11 +252,135 @@
             if (dialog != null && dialog.isShowing())
                 dialog.dismiss();
         }
+    }
+
+
+    public static void jumpJD(final Activity activity, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel, final IJumpResult jumpResult) {
+
+        if (userLevel != null && userLevel.getUpgradeRights() != null) {
+            showADLoading(activity, Constant.GOODS_TYPE_JD, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
+                @Override
+                public void onClose(boolean auto) {
+                    jumpJD(activity, link, null);
+                }
+            });
+        } else {
+            final Dialog dialog = getLoadingDialog(activity, Constant.GOODS_TYPE_JD);
+            DialogUtil.show(dialog);
+            jumpJD(activity, link, new IJumpResult() {
+                @Override
+                public void onSuccess() {
+                }
+
+                @Override
+                public void onFail(String msg) {
+                }
+            });
+            new Handler().postDelayed(new Runnable() {
+                public void run() {
+                    DialogUtil.dismiss(dialog);
+                }
+
+            }, 3 * 1000);
+        }
 
     }
 
 
-    public static void jumpVIPShop(Context context, GoodsConvertLinkJumpLink link) {
+    private static void jumpJD(final Activity activity, GoodsConvertLinkJumpLink link, final IJumpResult jumpResult) {
+        if (link == null)
+            return;
+
+        if (activity == null) {
+            return;
+        }
+
+        OpenAppAction mOpenAppAction = new OpenAppAction() {
+            @Override
+            public void onStatus(final int status, final String url) {
+                if (activity != null)
+                    activity.runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            if (status == OpenAppAction.OpenAppAction_result_APP) {
+                                //鍛间含涓滄垚鍔�
+                                Log.e("mResult", "鍛间含涓滄垚鍔�");
+                                if (jumpResult != null)
+                                    jumpResult.onSuccess();
+                            } else if (status == OpenAppAction.OpenAppAction_start) {
+                                //寮�濮嬬姸鎬佹湭蹇呬竴瀹氭墽琛岋紝
+                                Log.e("mResult", "寮�濮嬪懠璧蜂含涓�");
+                            } else {
+                                //鍞よ捣浜笢澶辫触
+                                Log.e("mResult", "鍞よ捣浜笢澶辫触" + status);
+                                Intent intent = new Intent(activity, ShareBrowserActivity.class);
+                                intent.putExtra("url", url);
+                                intent.putExtra("interceptGoodsDetail", false);
+                                activity.startActivity(intent);
+                                if (jumpResult != null)
+                                    jumpResult.onFail("鍞よ捣浜笢澶辫触");
+                            }
+                        }
+                    });
+            }
+        };
+
+
+        try {
+
+            if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(activity, "com.jingdong.app.mall")) {
+                KeplerApiManager.getWebViewService().openAppWebViewPage(activity, link.getNativeJumpLink(), new KeplerAttachParameter(), mOpenAppAction);
+                return;
+            }
+
+            if (link.getWxxcxJumpInfo() != null) {
+                try {
+                    WXUtil.jumpWXXCX(activity, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
+                    return;
+                } catch (Exception e) {
+                    //鏈�鍚庤烦杞綉椤�
+                    Intent intent = new Intent(activity, ShareBrowserActivity.class);
+                    intent.putExtra("url", link.getJumpLink());
+                    intent.putExtra("interceptGoodsDetail", false);
+                    activity.startActivity(intent);
+                }
+            }
+
+
+            Intent intent = new Intent(activity, ShareBrowserActivity.class);
+            intent.putExtra("url", link.getJumpLink());
+            intent.putExtra("interceptGoodsDetail", false);
+            activity.startActivity(intent);
+        } finally {
+            if (jumpResult != null)
+                jumpResult.onSuccess();
+        }
+
+    }
+
+
+    public static void jumpVIPShop(final Activity context, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel) {
+        if (userLevel != null && userLevel.getUpgradeRights() != null) {
+            showADLoading(context, Constant.GOODS_TYPE_VIP, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
+                @Override
+                public void onClose(boolean auto) {
+                    jumpVIPShop(context, link);
+                }
+            });
+        } else {
+            final Dialog dialog = getLoadingDialog(context, Constant.GOODS_TYPE_VIP);
+            DialogUtil.show(dialog);
+            jumpVIPShop(context, link);
+            new Handler().postDelayed(new Runnable() {
+                public void run() {
+                    DialogUtil.dismiss(dialog);
+                }
+            }, 3 * 1000);
+        }
+    }
+
+
+    private static void jumpVIPShop(Context context, GoodsConvertLinkJumpLink link) {
         if (context == null)
             return;
         if (link == null)
@@ -155,8 +414,31 @@
     }
 
 
+    public static void jumpSuning(final Activity context, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel) {
 
-    public static void jumpSuning(Context context, GoodsConvertLinkJumpLink link) {
+        if (userLevel != null && userLevel.getUpgradeRights() != null) {
+            showADLoading(context, Constant.GOODS_TYPE_SUNING, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
+                @Override
+                public void onClose(boolean auto) {
+                    jumpSuning(context, link);
+                }
+            });
+        } else {
+            final Dialog dialog = getLoadingDialog(context, Constant.GOODS_TYPE_SUNING);
+            DialogUtil.show(dialog);
+            jumpSuning(context, link);
+            new Handler().postDelayed(new Runnable() {
+                public void run() {
+                    DialogUtil.dismiss(dialog);
+                }
+            }, 3 * 1000);
+        }
+
+
+    }
+
+
+    private static void jumpSuning(Context context, GoodsConvertLinkJumpLink link) {
         if (context == null)
             return;
         if (link == null)
@@ -190,4 +472,36 @@
     }
 
 
+    private static Dialog showADLoading(Activity activity, int platform, UserLijinLevelInfoVO userLevel, GoodsDetailJumpLoaingDialog.Builder.IDialogClose dialogCloseListener) {
+
+        GoodsDetailJumpLoaingDialog.Builder builder = new GoodsDetailJumpLoaingDialog.Builder(activity).setPlatform(platform).setOnCloseListener(dialogCloseListener);
+
+        if (userLevel != null) {
+            if (userLevel.getLoadingAdInfo() != null) {
+                builder = builder.setHasAd(true).setAdInfo(userLevel.getLoadingAdInfo().getType(), userLevel.getLoadingAdInfo().getPid());
+            }
+
+            if (userLevel.getUpgradeRights() != null) {
+                builder = builder.setNotify(userLevel.getUpgradeRights().getDesc(), userLevel.getUpgradeRights().getLink());
+            }
+        }
+        Dialog dialog = builder.create();
+        dialog.show();
+        return dialog;
+    }
+
+    private static Dialog getLoadingDialog(Activity activity, int platform) {
+        GoodsDetailJumpLoaingDialog.Builder builder = new GoodsDetailJumpLoaingDialog.Builder(activity).setPlatform(platform);
+        Dialog dialog = builder.create();
+        return dialog;
+    }
+
+
+    public static interface IJumpResult {
+        public void onSuccess();
+
+        public void onFail(String msg);
+
+    }
+
 }

--
Gitblit v1.8.0