From 3595485efbfeb0db8c0e719e34aac022af284754 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 22 五月 2021 18:14:40 +0800 Subject: [PATCH] 特价完善 --- app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java | 265 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 230 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java b/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java index 11a8975..6009830 100644 --- a/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java +++ b/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java @@ -1,5 +1,6 @@ package com.tejia.lijin.app.ui.recommend; +import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -42,6 +43,7 @@ import com.tejia.lijin.app.BasicTextHttpResponseHandler; import com.tejia.lijin.app.R; import com.tejia.lijin.app.ShoppingApi; +import com.tejia.lijin.app.entity.CouponInfo; import com.tejia.lijin.app.entity.CouponUser; import com.tejia.lijin.app.entity.GoodsDetail; import com.tejia.lijin.app.entity.PushEventData; @@ -50,6 +52,8 @@ import com.tejia.lijin.app.entity.goods.GoodsDetailVO; import com.tejia.lijin.app.ui.BaseActivity; import com.tejia.lijin.app.ui.dialog.GoodsDetailHongBaoAndCouponSelectDialog; +import com.tejia.lijin.app.ui.dialog.GoodsDetailJumpLoaingDialog; +import com.tejia.lijin.app.ui.dialog.GoodsDetailNotifyDialog; import com.tejia.lijin.app.ui.dialog.JumpTaoBaoDialog; import com.tejia.lijin.app.ui.goods.GoodsDetailHongBaoListAdapter; import com.tejia.lijin.app.ui.goods.GoodsDetailPreEventManager; @@ -61,12 +65,15 @@ import com.tejia.lijin.app.util.FlowLayout; import com.tejia.lijin.app.util.GlideCircleTransform; import com.tejia.lijin.app.util.GlideRoundTransform; +import com.tejia.lijin.app.util.GoodsBuyJumpUtil; import com.tejia.lijin.app.util.ImageUtil; import com.tejia.lijin.app.util.SetLabels; import com.tejia.lijin.app.util.Toast_Dialog; import com.tejia.lijin.app.util.TopStatusSettings; import com.tejia.lijin.app.util.clipboard.ClipboardUtil; +import com.tejia.lijin.app.util.goods.GoodsBuyUtil; import com.tejia.lijin.app.util.ui.GoodsDetailUtil; +import com.tejia.lijin.app.util.ui.dialog.DialogUtil; import com.tejia.lijin.app.util.umengCustomEvent.GoodsCustomEvent; import com.tejia.lijin.app.util.user.LoginAndInviteStatusUtil; import com.tejia.lijin.app.util.user.UserUtil; @@ -150,6 +157,7 @@ private LinearLayout ll_loading; private ImageView iv_loading; private TextView tv_loading; + private View view_goods_imgs_tag;//鐢ㄦ潵鏍囪瘑瀵艰埅鏍忛�変腑 //鐚滀綘鍠滄 private LinearLayout ll_guess_like; @@ -220,6 +228,7 @@ tv_loading = findViewById(R.id.tv_loading); iv_loading = findViewById(R.id.iv_loading); webView = findViewById(R.id.webView); + view_goods_imgs_tag = findViewById(R.id.view_goods_imgs_tag); vp_goods_detail = findViewById(R.id.vp_goods_img); @@ -307,7 +316,6 @@ avLoadingIndicatorView.setVisibility(View.VISIBLE); Animation ani = AnimationUtils.loadAnimation(this, R.anim.touming); //鐢虫槑涓�涓姩鐢� avLoadingIndicatorView.setAnimation(ani);//涓哄浘鐗囩粦瀹氬姩鐢� - ll_content.setVisibility(View.GONE); fl_face.setVisibility(View.VISIBLE); bannerAdapter = new ImageAdapter(mBanners, this); vp_goods_detail.setAdapter(bannerAdapter); @@ -402,10 +410,8 @@ if (scrollY < fl_goods_detail.getTop()) {//澶撮儴 setPosition(1); } else if (scrollY >= (fl_goods_detail.getTop() - titleHeight) - && scrollY < ll_guess_like.getTop()) {//璇︽儏鍥剧墖 + && scrollY < view_goods_imgs_tag.getTop()) {//璇︽儏鍥剧墖 setPosition(2); - } else if (scrollY >= ll_guess_like.getTop() - titleHeight) {//鐚滀綘鍠滄 - setPosition(4); } else { setPosition(4); } @@ -554,6 +560,8 @@ } + GoodsDetailNotifyDialog notifyDialog; + @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); @@ -565,6 +573,30 @@ initView(); initData(); getAppPageNotification(); + +// new GoodsDetailJumpLoaingDialog.Builder(this).setHasAd(true).setAdPid("").setNotify("閾傞噾浼氬憳鍏嶅箍鍛婏紝绀奸噾鎻愰珮100%", "http://www.baidu.com").setPlatform(Constant.GOODS_TYPE_TB).setOnCloseListener(new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() { +// @Override +// public void onClose(boolean auto) { +// } +// }).create().show(); + + } + + public void showNotifyDialog() { + if (notifyDialog == null) + notifyDialog = new GoodsDetailNotifyDialog.Builder(this).setOnButtonClickListener(new GoodsDetailNotifyDialog.Builder.IDialogButtonClick() { + @Override + public void onLeftClick() { + DialogUtil.dismiss(notifyDialog); + } + + @Override + public void onRightClick() { + DialogUtil.dismiss(notifyDialog); + goFanli(); + } + }).create(); + DialogUtil.show(notifyDialog); } @@ -710,7 +742,10 @@ tv_name.setText(mInfo.getGoods().getTitle()); webView.loadUrl(mInfo.getExtra().getDetailUrl()); - tv_sales_num.setText(GoodsDetailUtil.getSalesTypeDesc(mInfo.getGoods().getSalesType()) + " " + mInfo.getGoods().getSalesCount()); + if (StringUtils.isNullOrEmpty(mInfo.getGoods().getSalesCount())) { + tv_sales_num.setText(""); + } else + tv_sales_num.setText(GoodsDetailUtil.getSalesTypeDesc(mInfo.getGoods().getSalesType()) + " " + mInfo.getGoods().getSalesCount()); if (mInfo.getGoods().getShopInfo() != null) { ll_shop.setVisibility(View.VISIBLE); @@ -722,7 +757,7 @@ tv_shop_name.setText(mInfo.getGoods().getShopInfo().getShopName()); try { - GoodsDetailUtil.fillShopType(tv_shop_type, mInfo.getGoods().getShopInfo().getUserType()); + GoodsDetailUtil.fillShopType(tv_shop_type, mInfo.getGoods().getShopType()); if (!StringUtils.isNullOrEmpty(mInfo.getGoods().getShopInfo().getScoreGoods())) { tv_shop_des.setText("瀹濊礉鎻忚堪: " + mInfo.getGoods().getShopInfo().getScoreGoods()); @@ -781,10 +816,7 @@ initFanliAndBuyBtn(mInfo.getExtra().isBuyValid(), mInfo.getExtra().isFanliValid()); requestState(0); sv_goods.scrollTo(0, 0); -// ll_content.setVisibility(View.VISIBLE); -// fl_face.setVisibility(View.GONE); } else if (jsonObject.optString("code").equalsIgnoreCase("2")) { - ll_content.setVisibility(View.GONE); findViewById(R.id.ll_goods_nothing).setVisibility(View.VISIBLE); fl_face.setVisibility(View.VISIBLE); } @@ -1101,10 +1133,15 @@ * @param state */ private void requestState(int state) { - ll_content.setVisibility(state == 0 ? View.VISIBLE : View.GONE); +// fl_face.setVisibility(state != 0 ? View.VISIBLE : View.GONE); ll_no_data.setVisibility(state == 1 ? View.VISIBLE : View.GONE); ll_request_failture.setVisibility(state == 2 ? View.VISIBLE : View.GONE); ll_no_net.setVisibility(state == 3 ? View.VISIBLE : View.GONE); + if (mInfo == null) { + fl_face.setVisibility(View.VISIBLE); + } else { + fl_face.setVisibility(View.GONE); + } } @Override @@ -1125,43 +1162,56 @@ private void goFanli() { - new GoodsDetailHongBaoAndCouponSelectDialog.Builder(this).setCouponList(mInfo.getGoods().getCouponInfoList()).setItemClickListener(new GoodsDetailHongBaoAndCouponSelectDialog.OnItemClickListener() { - @Override - public void onClick(int p) { - goodsDetailPreEventManager.startClick(0, new GoodsDetailPreEventManager.IPreEventListener() { - @Override - public void onPreSuccess() { - - //TODO 杩斿埄 - } - }); - } - }).create().show(); + if (mInfo.getGoods().getCouponInfoList() != null && mInfo.getGoods().getCouponInfoList().size() > 1) { + new GoodsDetailHongBaoAndCouponSelectDialog.Builder(this).setCouponList(mInfo.getGoods().getCouponInfoList()).setItemClickListener(new GoodsDetailHongBaoAndCouponSelectDialog.OnItemClickListener() { + @Override + public void onClick(int p) { + goFanli(mInfo.getGoods().getCouponInfoList().get(p)); + } + }).create().show(); + } else { + goFanli(null); + } //鍒ゆ柇鏄惁鏈夊寮犲埜鎯呭喌 } + private void goFanli(final CouponInfo couponInfo) { + goodsDetailPreEventManager.startClick(0, new GoodsDetailPreEventManager.IPreEventListener() { + @Override + public void onPreSuccess() { + fanliRequest(couponInfo); + } + }); + } + private void goBuy() { - List<GoodsDetailVO.GoodsHongBaoListVO> hongBaoList = new ArrayList<>(); + final List<GoodsDetailVO.GoodsHongBaoListVO> hongBaoList = new ArrayList<>(); hongBaoList.addAll(mInfo.getGoods().getPriceList()); for (int i = 0; i < hongBaoList.size(); i++) { if (hongBaoList.get(i).getType() != 2) { hongBaoList.remove(i--); } } + if (hongBaoList.size() > 1) { + new GoodsDetailHongBaoAndCouponSelectDialog.Builder(this).setHongBaoList(hongBaoList).setItemClickListener(new GoodsDetailHongBaoAndCouponSelectDialog.OnItemClickListener() { + @Override + public void onClick(int p) { + goBuy(hongBaoList.get(p)); + } + }).create().show(); + } else { + if (hongBaoList.size() > 0) + goBuy(hongBaoList.get(0)); + } + } - - new GoodsDetailHongBaoAndCouponSelectDialog.Builder(this).setHongBaoList(hongBaoList).setItemClickListener(new GoodsDetailHongBaoAndCouponSelectDialog.OnItemClickListener() { + private void goBuy(final GoodsDetailVO.GoodsHongBaoListVO lijinVO) { + goodsDetailPreEventManager.startClick(1, new GoodsDetailPreEventManager.IPreEventListener() { @Override - public void onClick(int p) { - goodsDetailPreEventManager.startClick(1, new GoodsDetailPreEventManager.IPreEventListener() { - @Override - public void onPreSuccess() { - //TODO 璐拱 - } - }); + public void onPreSuccess() { + buyRequest(lijinVO); } - }).create().show(); - + }); } @@ -1239,7 +1289,11 @@ @Override public void onHongBaoClick(int p, GoodsDetailVO.GoodsHongBaoListVO info) { - + if (info.getType() == 4) { + goFanli(null); + } else { + goBuy(info); + } } @Override @@ -1292,4 +1346,145 @@ }); } + + private void buyRequest(GoodsDetailVO.GoodsHongBaoListVO goodsHongBaoListVO) { + + ShoppingApi.buyWithLijin(getApplicationContext(), mInfo.getGoods().getGoodsId(), mInfo.getGoods().getGoodsType(), goodsHongBaoListVO.getId(), UserUtil.getUid(getApplicationContext()), from, new BasicTextHttpResponseHandler() { + + @Override + public void onStart() { + super.onStart(); + if (loadingDialog != null && !loadingDialog.isShowing()) + loadingDialog.show(); + } + + @Override + public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { + super.onSuccessPerfect(statusCode, headers, jsonObject); + int code = jsonObject.optInt("code"); + if (code == 0) { + JSONObject data = jsonObject.optJSONObject("data"); + JSONObject link = data.optJSONObject("link"); + if (link != null) { + GoodsBuyJumpUtil.jumpTB(GoodsDetailActivity.this, null, link.optString("clickUrl"), null, 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() { + + } + + @Override + public void onJumpThirdAppSuccess() { + + } + + @Override + public void onJumpThirdAppFail() { + + } + }); + } + } else { + if (code == 2001) { + //鐢ㄦ埛鏈轰細宸茬粡鐢ㄥ畬浜� + showNotifyDialog(); + } else + Toast.makeText(GoodsDetailActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) { + super.onFailure(statusCode, headers, jsonObject, e); + } + + @Override + public void onFinish() { + super.onFinish(); + if (loadingDialog != null && loadingDialog.isShowing()) + loadingDialog.dismiss(); + } + }); + + } + + private void fanliRequest(CouponInfo couponInfo) { + GoodsBuyUtil.GoodsBuyRequestInfo requestInfo = new GoodsBuyUtil.GoodsBuyRequestInfo(); + requestInfo.setGoodsId(mInfo.getGoods().getGoodsId()); + requestInfo.setGoodsType(mInfo.getGoods().getGoodsType()); + if (couponInfo != null) + requestInfo.setCouponLink(couponInfo.getLink()); + requestInfo.setUid(UserUtil.getUid(getApplicationContext())); + requestInfo.setFrom(from); + + //杩斿埄 + GoodsBuyUtil.fanli(this, getApplicationContext(), requestInfo, new GoodsBuyUtil.IBuyGoodsResultListener() { + @Override + public void onConvertLinkStart() { + if (loadingDialog != null && !loadingDialog.isShowing()) + loadingDialog.show(); + } + + @Override + public void onConvertLinkSuccess() { + + } + + @Override + public void onConvertLinkFail(String msg) { + + } + + @Override + public void onConvertLinkComplete() { + if (loadingDialog != null && loadingDialog.isShowing()) + loadingDialog.dismiss(); + } + + @Override + public void onJumpThirdAppStart() { + + } + + @Override + public void onJumpThirdAppSuccess() { + + } + + @Override + public void onJumpThirdAppFail() { + + } + }); + + } + + + /** + * 鑾峰彇璐拱鏈轰細淇℃伅 + */ + private void getBuyChanceInfoRequest() { + //TODO 鍒ゆ柇鏄惁杩樻湁鏈轰細锛堣繑鍥炲綋鍓嶅墿浣欏灏戞锛岃繕鑳借В閿佸灏戞锛夛紝濡傛灉鏈夋満浼氶渶瑕佺湅婵�鍔辫棰戝箍鍛� + } + } -- Gitblit v1.8.0