From 01e23be6118d68d38a71d186296d440eadcaa197 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 07 六月 2021 18:23:41 +0800 Subject: [PATCH] 特价bug修复 --- app/src/main/java/com/tejia/lijin/app/util/goods/GoodsBuyUtil.java | 98 +++++++++++++++++++++++++----------------------- 1 files changed, 51 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/com/tejia/lijin/app/util/goods/GoodsBuyUtil.java b/app/src/main/java/com/tejia/lijin/app/util/goods/GoodsBuyUtil.java index 043564b..fa230a4 100644 --- a/app/src/main/java/com/tejia/lijin/app/util/goods/GoodsBuyUtil.java +++ b/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; -- Gitblit v1.8.0