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