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 000000000..cc169bdf7 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_down_arrow.webp differ diff --git a/app/src/main/res/layout/activity_gold_detail.xml b/app/src/main/res/layout/activity_gold_detail.xml index 11467a5d1..bfb217ef6 100644 --- a/app/src/main/res/layout/activity_gold_detail.xml +++ b/app/src/main/res/layout/activity_gold_detail.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/color_white" android:orientation="vertical" tools:context=".earn.activity.GoldDetailActivity"> @@ -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