From fbf1c43a417c7acc31b2650df0817aab3b918206 Mon Sep 17 00:00:00 2001 From: wushaocheng <15876365887@163.com> Date: Fri, 25 Nov 2022 20:37:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E5=B8=81=E8=AF=A6=E6=83=85=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/association/AssociationViewModel.kt | 8 -- .../fragment/AssociationFragment.kt | 8 +- .../yizhuan/erban/earn/EarnRecordViewModel.kt | 7 +- .../erban/earn/activity/GoldDetailActivity.kt | 54 +++++++--- .../erban/earn/adapter/GoldDetailAdapter.java | 29 ++++++ .../home/activity/AssociationActivity.kt | 8 +- .../res/drawable-xhdpi/ic_down_arrow.webp | Bin 0 -> 798 bytes .../main/res/layout/activity_gold_detail.xml | 12 ++- app/src/main/res/layout/item_gold_detail.xml | 95 ++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 10 files changed, 191 insertions(+), 31 deletions(-) create mode 100644 app/src/main/java/com/yizhuan/erban/earn/adapter/GoldDetailAdapter.java create mode 100644 app/src/main/res/drawable-xhdpi/ic_down_arrow.webp create mode 100644 app/src/main/res/layout/item_gold_detail.xml diff --git a/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt b/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt index 182eb705c..5018cfa2a 100644 --- a/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt +++ b/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt @@ -22,10 +22,6 @@ class AssociationViewModel : BaseViewModel() { safeLaunch( block = { _clanListLiveData.value = AssociationModel.getClanList() - }, - onError = { - it.message.toast() - _clanListLiveData.value = null } ) } @@ -34,10 +30,6 @@ class AssociationViewModel : BaseViewModel() { safeLaunch( block = { _hallListLiveData.value = AssociationModel.getHallList() - }, - onError = { - it.message.toast() - _hallListLiveData.value = null } ) } diff --git a/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt b/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt index 2adcd99b5..8772dfd72 100644 --- a/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt @@ -2,7 +2,6 @@ package com.yizhuan.erban.association.fragment import android.os.Bundle import android.view.View -import androidx.fragment.app.activityViewModels import androidx.fragment.app.viewModels import androidx.recyclerview.widget.LinearLayoutManager import com.chad.library.adapter.base.BaseQuickAdapter @@ -16,12 +15,13 @@ import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity import com.yizhuan.erban.ui.utils.RVDelegate import com.yizhuan.xchat_android_core.association.ClanListInfo import com.yizhuan.xchat_android_core.module_hall.hall.HallModel -import com.yizhuan.xchat_android_core.utils.Logger import com.yizhuan.xchat_android_core.utils.net.BeanObserver import com.yizhuan.xchat_android_core.utils.net.RxHelper import com.yizhuan.xchat_android_library.utils.ResUtil - +/** + * 公会榜单 + */ class AssociationFragment : BaseViewBindingFragment() { companion object { @@ -85,7 +85,7 @@ class AssociationFragment : BaseViewBindingFragment( .build() associationViewModel.clanListLiveData.observe(viewLifecycleOwner) { - associationAdapter.setNewData(it) + rvDelegate.setNewData(it) } associationViewModel.getClanList() diff --git a/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt b/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt index cb30a6005..1893431fd 100644 --- a/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt +++ b/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt @@ -38,7 +38,8 @@ class EarnRecordViewModel : BaseViewModel() { //结算明细 private val _memberSettleLiveData = MutableLiveData() - val memberSettleLiveData: MutableLiveData = _memberSettleLiveData + val memberSettleLiveData: MutableLiveData = + _memberSettleLiveData private var weekFirstDay: String = "" private var weekLastDay: String = "" @@ -61,9 +62,9 @@ class EarnRecordViewModel : BaseViewModel() { val curWeekDay = calendar[Calendar.DAY_OF_WEEK] //周一的时间 val firstDayTime: Long = if (curWeekDay == 1) { //周日 - calendar.timeInMillis - TimeUtils.MILLIS_OF_A_DAY * (7 - curWeekDay) + calendar.timeInMillis - TimeUtils.MILLIS_OF_A_DAY * (14 - curWeekDay) } else { - calendar.timeInMillis - TimeUtils.MILLIS_OF_A_DAY * (curWeekDay - 2) + calendar.timeInMillis - TimeUtils.MILLIS_OF_A_DAY * ((curWeekDay - 2) + 7) } //周日 val lastDayTime = firstDayTime + TimeUtils.MILLIS_OF_A_DAY * 6 diff --git a/app/src/main/java/com/yizhuan/erban/earn/activity/GoldDetailActivity.kt b/app/src/main/java/com/yizhuan/erban/earn/activity/GoldDetailActivity.kt index 355a26ebe..1f1789538 100644 --- a/app/src/main/java/com/yizhuan/erban/earn/activity/GoldDetailActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/earn/activity/GoldDetailActivity.kt @@ -4,13 +4,21 @@ import android.content.Context import android.content.Intent import androidx.activity.viewModels import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.LinearLayoutManager import com.jzxiang.pickerview.data.Type import com.netease.nim.uikit.StatusBarUtil import com.yizhuan.erban.R import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.EmptyViewHelper import com.yizhuan.erban.databinding.ActivityGoldDetailBinding import com.yizhuan.erban.earn.EarnRecordViewModel +import com.yizhuan.erban.earn.adapter.GoldDetailAdapter import com.yizhuan.erban.module_hall.hall.view.dialog.TimePickerDialog +import com.yizhuan.erban.module_hall.income.adapter.LiveIncomeAdapter +import com.yizhuan.erban.ui.utils.RVDelegate +import com.yizhuan.xchat_android_core.association.ClanListInfo +import com.yizhuan.xchat_android_core.earn.bean.MemberSettlement +import com.yizhuan.xchat_android_library.utils.ResUtil /** * 金币明细 @@ -20,6 +28,10 @@ class GoldDetailActivity : BaseViewBindingActivity(), private val earnRecordModel: EarnRecordViewModel by viewModels() + private val mIncomeAdapter: GoldDetailAdapter by lazy { GoldDetailAdapter() } + + private lateinit var rvDelegate: RVDelegate + companion object { @JvmStatic @@ -31,23 +43,30 @@ class GoldDetailActivity : BaseViewBindingActivity(), override fun init() { initTitleBar(getString(R.string.gold_detail)) - earnRecordModel.initCurrentDay() + initView() initListener() - getWeekIncomeTotal(earnRecordModel.getWeekFirstDay(), earnRecordModel.getWeekLastDay()) + initModel() + } - earnRecordModel.memberSettleLiveData.observe(this) { - it?.let { - binding.tvTotalGold.text = it.total.toString() - } - } - - earnRecordModel.getMemberSettlement( - earnRecordModel.getWeekFirstDay(), - earnRecordModel.getWeekLastDay() - ) + private fun initView() { + earnRecordModel.initCurrentDay() + rvDelegate = RVDelegate.Builder() + .setLayoutManager(LinearLayoutManager(context)) + .setRecyclerView(binding.mRecyclerView) + .setEmptyView( + EmptyViewHelper.createEmptyView( + context, + getString(R.string.empty_data) + ) + ) + .setAdapter(mIncomeAdapter) + .build() } private fun initListener() { + binding.ivRoomDown.setOnClickListener{ + + } binding.llDate.setOnClickListener { val builder = TimePickerDialog.Builder() .setType(Type.YEAR_MONTH_DAY) @@ -75,6 +94,17 @@ class GoldDetailActivity : BaseViewBindingActivity(), } } + private fun initModel() { + getWeekIncomeTotal(earnRecordModel.getWeekFirstDay(), earnRecordModel.getWeekLastDay()) + + earnRecordModel.memberSettleLiveData.observe(this) { + it?.let { + binding.tvTotalGold.text = it.total.toString() + rvDelegate.setNewData(it.memberSettlement) + } + } + } + override fun getTime(chooseTime: Long, weekFirstDay: String?, weekLastDay: String?) { earnRecordModel.setmWeekChooseDay(chooseTime) weekFirstDay?.let { earnRecordModel.setWeekFirstDay(it) } diff --git a/app/src/main/java/com/yizhuan/erban/earn/adapter/GoldDetailAdapter.java b/app/src/main/java/com/yizhuan/erban/earn/adapter/GoldDetailAdapter.java new file mode 100644 index 000000000..95e6be20d --- /dev/null +++ b/app/src/main/java/com/yizhuan/erban/earn/adapter/GoldDetailAdapter.java @@ -0,0 +1,29 @@ +package com.yizhuan.erban.earn.adapter; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.yizhuan.erban.R; +import com.yizhuan.erban.ui.utils.ImageLoadUtils; +import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2; +import com.yizhuan.xchat_android_core.earn.bean.MemberSettlement; + +import org.jetbrains.annotations.NotNull; + +public class GoldDetailAdapter extends BaseQuickAdapter { + + public GoldDetailAdapter() { + super(R.layout.item_gold_detail); + } + + @Override + protected void convert(@NotNull BaseViewHolder helper, MemberSettlement item) { + + helper.setText(R.id.tv_user_name, item.getNick()) + .setText(R.id.tv_hall_name, item.getHallName()) + .setText(R.id.tv_have_exchange, String.valueOf(item.getExchangeGolds())) + .setText(R.id.tv_settlement, String.valueOf(item.getSettlementGolds())); + ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_user_avatar), item.getAvatar()); + ImageLoadUtils.loadImage(mContext, item.getHallAvatar(), helper.getView(R.id.iv_hall_avatar)); + } + +} diff --git a/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt b/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt index de6e93863..9edd31bbe 100644 --- a/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt @@ -8,18 +8,20 @@ import androidx.fragment.app.Fragment import androidx.viewpager.widget.ViewPager import com.netease.nim.uikit.StatusBarUtil import com.yizhuan.erban.R -import com.yizhuan.erban.base.BaseViewBindingActivity -import com.yizhuan.erban.databinding.ActivityAssociationBinding import com.yizhuan.erban.association.fragment.AssociationFragment import com.yizhuan.erban.association.fragment.AssociationRoomFragment +import com.yizhuan.erban.base.BaseViewBindingActivity import com.yizhuan.erban.common.CommonPagerAdapter +import com.yizhuan.erban.databinding.ActivityAssociationBinding import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter -import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator import com.yizhuan.xchat_android_library.utils.ResUtil +/** + * 公会周榜 + */ class AssociationActivity : BaseViewBindingActivity() { companion object { diff --git a/app/src/main/res/drawable-xhdpi/ic_down_arrow.webp b/app/src/main/res/drawable-xhdpi/ic_down_arrow.webp new file mode 100644 index 0000000000000000000000000000000000000000..cc169bdf7a6af18ce511b94ac3c31f6380fab793 GIT binary patch literal 798 zcmWIYbaNA9W?%?+bqWXzu!!JdU|=u+Vtp|3baoDqU;=U(m?S_X3s5RIucRo*-AN%L zGD-m?1_O!7#RV`n7MhWP;oCI^Aj!aRSr>~uAtBC`)Z%2Iq7Oh^QUtV|fq^jv$QDV5 zuq#09BnZ0)#4ZX6at5kd0Ay>VBe9c^*ySY!B|tSNKIgA?khp~qQ(3^k zz~92aup2H^_~3|!GLha&VM;sS?X6@YqVfd0$} z!gPilhExUx22X}OhGYgkAj=4tNDLXwfGNi3I#8j${sC@*@C7S!r8RQP_Z*jhld&TA zc3Yvh(ewYwYZv57AG@1q_HW9v6}=)E{`)i>t;LuR{C#_`uRLBvs_D6M(;B0a0^yU} z)|Axp#xrP&O=w~)Nobr<@_fgi*LyW1UH*&i%)M=qySM1AI?N;F&<*92R6NhI%2`{8 v?s%7=Q}84AUG0jl+ib@(H!hLY%RJ3{tDyPXokgPCGakytw$(p!XJ7yT @@ -122,6 +123,12 @@ android:textSize="@dimen/sp_14" android:textStyle="bold" /> + + + android:layout_height="match_parent" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/> \ No newline at end of file diff --git a/app/src/main/res/layout/item_gold_detail.xml b/app/src/main/res/layout/item_gold_detail.xml new file mode 100644 index 000000000..3f83cac84 --- /dev/null +++ b/app/src/main/res/layout/item_gold_detail.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a6c9cfe9d..eda4b26e6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4993,5 +4993,6 @@ 請輸入提現金幣 全部 + 暫無數據 \ No newline at end of file