| | |
| | | |
| | | 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; |
| | |
| | | * @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: |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | /** |
| | | * 打开指定链接 |
| | | */ |
| | | 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://"); |
| | |
| | | |
| | | |
| | | 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")); |
| | | } |
| | |
| | | @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")); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | 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")); |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | 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")); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | 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")); |
| | | } |
| | |
| | | /** |
| | | * 商品购买请求参数 |
| | | */ |
| | | static class GoodsBuyRequestInfo { |
| | | public static class GoodsBuyRequestInfo { |
| | | private int goodsType; |
| | | private String goodsId; |
| | | private String couponLink; |