From 9a97d6321dc2a4997ebe285b31b71dbbd9173226 Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 29 Jul 2022 15:13:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E4=BA=BA=E9=99=90=E6=97=B6=E9=A6=96?= =?UTF-8?q?=E5=85=85=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NewUserChargeGiftDialog.kt | 17 +++++++------ .../yizhuan/erban/home/fragment/MeFragment.kt | 25 +++++++++++-------- .../yizhuan/erban/home/helper/BannerHelper.kt | 2 +- .../layout/dialog_new_user_charge_gift.xml | 2 +- .../layout/dialog_new_user_charge_prize.xml | 6 +++-- app/src/main/res/layout/fragment_me.xml | 8 ++++-- .../layout/item_new_user_charge_reward.xml | 19 +++++++------- .../xchat_android_core/pay/IPayModel.java | 5 ++-- .../xchat_android_core/pay/PayModel.java | 22 ++++++++++++++++ .../pay/bean/FirstChargeGoods.java | 2 +- .../pay/bean/NewUserChargeInfo.java | 13 ++++++++++ .../nim/uikit/common/util/sys/TimeUtil.java | 2 +- 12 files changed, 85 insertions(+), 38 deletions(-) create mode 100644 core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/NewUserChargeInfo.java diff --git a/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt index a91707f5e..d436d3a14 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt @@ -36,6 +36,7 @@ import com.yizhuan.xchat_android_core.pay.bean.PaymentResult import com.yizhuan.xchat_android_core.pay.event.FirstChargeEvent import com.yizhuan.xchat_android_core.pay.event.NewUserChargeEvent import com.yizhuan.xchat_android_core.pay.model.unionpay.UnionPayModel +import com.yizhuan.xchat_android_core.user.UserModel import com.yizhuan.xchat_android_core.user.bean.UserInfo import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils import com.yizhuan.xchat_android_core.utils.toast @@ -94,10 +95,11 @@ class NewUserChargeGiftDialog : BaseViewBindingActivity) { this.goodsList = goodsList updateCurrGoods(goodsList.getOrNull(0)) - initNewUserCharge(CurrentTimeUtils.getCurrentTime() + 3 * 60 * 1000) val planViews = arrayListOf( binding.rbPlanA, binding.rbPlanB, @@ -129,7 +130,7 @@ class NewUserChargeGiftDialog : BaseViewBindingActivity goodsList.getOrNull(index)?.let { - if (!it.isFinish && !initChecked) { + if (!it.isFinishCharge && !initChecked) { initChecked = true button.isChecked = true } @@ -141,9 +142,10 @@ class NewUserChargeGiftDialog : BaseViewBindingActivity?>) { - if (ListUtils.isListEmpty(pagerList)) { + private fun setCenterInfoData(pagerList: List>?) { + if (pagerList.isNullOrEmpty()) { + mBinding.llSettingEntrance.isVisible = false return } + mBinding.llSettingEntrance.isVisible = true mBinding.magicIndicatorEntrance.initIndicator(pagerList.size) mBinding.magicIndicatorEntrance.setSelectedPage(0) mBinding.magicIndicatorEntrance.visibility = @@ -233,10 +235,12 @@ class MeFragment : BaseFragment(), View.OnClickListener { }) } - private fun setGameInfoData(pagerList: List?>) { - if (ListUtils.isListEmpty(pagerList)) { + private fun setGameInfoData(pagerList: List>?) { + if (pagerList.isNullOrEmpty()) { + mBinding.llGame.isVisible = false return } + mBinding.llGame.isVisible = true mBinding.magicIndicatorGame.initIndicator(pagerList.size) mBinding.magicIndicatorGame.setSelectedPage(0) mBinding.magicIndicatorGame.visibility = @@ -300,12 +304,7 @@ class MeFragment : BaseFragment(), View.OnClickListener { override fun onResume() { super.onResume() initUserDate() - // 每次页面重新可见的时候,如果处于审核状态,都尝试刷新拿取最新信息 - // 不算是一个多好的做法,但是 it works - // 不算频繁,可以接受 - if (mUserInfo?.isReview == true) { - requestUpdateUserInfo() - } + requestUpdateUserInfo() } private fun initUserDate() { @@ -366,9 +365,13 @@ class MeFragment : BaseFragment(), View.OnClickListener { CurrentTimeUtils.getCurrentTime() + 2 * 60 * 1000 + 30 * 1000 } if (userinfo.isShowLimitCharge) { - mBinding.flNewUserCharge.isVisible = true val count = (userinfo.limitChargeEndTime - CurrentTimeUtils.getCurrentTime()) / 1000 / 60 + 1 + if (count <= 0) { + mBinding.flNewUserCharge.isVisible = false + return + } + mBinding.flNewUserCharge.isVisible = true newUserDisposable?.dispose() newUserDisposable = Observable.intervalRange(0, count, 0, 1, TimeUnit.MINUTES) diff --git a/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt b/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt index 53bb1f574..19ccd89f2 100644 --- a/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt +++ b/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt @@ -16,7 +16,7 @@ import com.yizhuan.xchat_android_library.utils.ListUtils class BannerHelper { companion object { - fun setBanner(rollView: RollPagerView, bannerList: List) { + fun setBanner(rollView: RollPagerView, bannerList: List?) { if (ListUtils.isListEmpty(bannerList)) { rollView.visibility = View.GONE diff --git a/app/src/main/res/layout/dialog_new_user_charge_gift.xml b/app/src/main/res/layout/dialog_new_user_charge_gift.xml index 4389fceae..aa9a8d847 100644 --- a/app/src/main/res/layout/dialog_new_user_charge_gift.xml +++ b/app/src/main/res/layout/dialog_new_user_charge_gift.xml @@ -33,7 +33,7 @@ android:layout_marginStart="21dp" android:layout_marginTop="87dp" android:gravity="center" - android:text="限时6天23小时9分" + tools:text="限时6天23小时9分" android:textColor="@color/white" android:textSize="10sp" app:layout_constraintStart_toStartOf="@id/view_bg" diff --git a/app/src/main/res/layout/dialog_new_user_charge_prize.xml b/app/src/main/res/layout/dialog_new_user_charge_prize.xml index cbb1d4488..336a3f5a0 100644 --- a/app/src/main/res/layout/dialog_new_user_charge_prize.xml +++ b/app/src/main/res/layout/dialog_new_user_charge_prize.xml @@ -14,6 +14,7 @@ @@ -22,7 +23,9 @@ android:id="@+id/recycler_view" android:layout_width="wrap_content" android:layout_height="94dp" - android:layout_marginTop="73dp" /> + android:layout_marginStart="20dp" + android:layout_marginTop="73dp" + android:layout_marginEnd="20dp" /> - diff --git a/app/src/main/res/layout/fragment_me.xml b/app/src/main/res/layout/fragment_me.xml index 7ef524320..8f02409d2 100644 --- a/app/src/main/res/layout/fragment_me.xml +++ b/app/src/main/res/layout/fragment_me.xml @@ -543,9 +543,11 @@ android:layout_marginEnd="@dimen/dp_15" android:background="@drawable/shape_white_8dp_round" android:orientation="vertical" + android:visibility="gone" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/me_item_wallet"> + app:layout_constraintTop_toBottomOf="@id/me_item_wallet" + tools:visibility="visible"> + app:layout_constraintVertical_bias="0" + tools:visibility="visible"> giveGold(long toUid, String goldNum,String password); Single> getFirstChargeList(); + + Single getNewUserChargeInfo(); } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/pay/PayModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/pay/PayModel.java index 8d2bd8991..cdd2ed0b6 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/pay/PayModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/pay/PayModel.java @@ -14,6 +14,7 @@ import com.yizhuan.xchat_android_core.bean.response.result.WalletInfoResult; import com.yizhuan.xchat_android_core.manager.IMNetEaseManager; import com.yizhuan.xchat_android_core.manager.RoomEvent; import com.yizhuan.xchat_android_core.pay.bean.FirstChargeGoods; +import com.yizhuan.xchat_android_core.pay.bean.NewUserChargeInfo; import com.yizhuan.xchat_android_core.pay.bean.WalletInfo; import com.yizhuan.xchat_android_core.pay.bean.WxPayType; import com.yizhuan.xchat_android_core.pay.event.ChargeCustomNotificationEvent; @@ -434,6 +435,19 @@ public class PayModel extends BaseModel implements IPayModel { .compose(RxHelper.handleSchAndExce()); } + /** + * 获取新用户限时首充产品列表 + * + * @return + */ + @Override + public Single getNewUserChargeInfo(){ + return api.getNewUserChargeInfo() + .compose(RxHelper.handleBeanData()) + .compose(RxHelper.handleSchAndExce()); + } + + public interface Api { /** @@ -594,6 +608,14 @@ public class PayModel extends BaseModel implements IPayModel { */ @GET("/first/charge/list") Single>> getFirstChargeList(); + + /** + * 获取新用户限时首充产品列表 + * + * @return + */ + @GET("/first/charge/limit/list") + Single> getNewUserChargeInfo(); } } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/FirstChargeGoods.java b/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/FirstChargeGoods.java index edbb21175..d7da526a8 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/FirstChargeGoods.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/FirstChargeGoods.java @@ -14,5 +14,5 @@ public class FirstChargeGoods { private String chargeProdTitle; private ArrayList firstChargeRewardList; private String giveMoney; - private boolean finish; + private boolean finishCharge; } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/NewUserChargeInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/NewUserChargeInfo.java new file mode 100644 index 000000000..5dbd363a1 --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/NewUserChargeInfo.java @@ -0,0 +1,13 @@ +package com.yizhuan.xchat_android_core.pay.bean; + +import java.util.List; + +import lombok.Data; + +@Data +public class NewUserChargeInfo { + private long limitEndTime; + private List limitFirstChargeTaskList; + public NewUserChargeInfo() { + } +} diff --git a/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java b/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java index 8c55d1aa3..aad140f59 100644 --- a/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java +++ b/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java @@ -313,7 +313,7 @@ public class TimeUtil { long hour = seconds / (60 * 60) % 24; sb.append(hour).append("时"); - long minute = (seconds - 60 * 60 * hour) / 60; + long minute = seconds / 60 % 60; sb.append(minute).append("分"); return sb.toString();