金币详情功能修改
This commit is contained in:
@@ -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
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@@ -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<FragmentAssociationBinding>() {
|
||||
|
||||
companion object {
|
||||
@@ -85,7 +85,7 @@ class AssociationFragment : BaseViewBindingFragment<FragmentAssociationBinding>(
|
||||
.build()
|
||||
|
||||
associationViewModel.clanListLiveData.observe(viewLifecycleOwner) {
|
||||
associationAdapter.setNewData(it)
|
||||
rvDelegate.setNewData(it)
|
||||
}
|
||||
|
||||
associationViewModel.getClanList()
|
||||
|
@@ -38,7 +38,8 @@ class EarnRecordViewModel : BaseViewModel() {
|
||||
|
||||
//结算明细
|
||||
private val _memberSettleLiveData = MutableLiveData<ClanHallMemberIncomeTotalInfo?>()
|
||||
val memberSettleLiveData: MutableLiveData<ClanHallMemberIncomeTotalInfo?> = _memberSettleLiveData
|
||||
val memberSettleLiveData: MutableLiveData<ClanHallMemberIncomeTotalInfo?> =
|
||||
_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
|
||||
|
@@ -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<ActivityGoldDetailBinding>(),
|
||||
|
||||
private val earnRecordModel: EarnRecordViewModel by viewModels()
|
||||
|
||||
private val mIncomeAdapter: GoldDetailAdapter by lazy { GoldDetailAdapter() }
|
||||
|
||||
private lateinit var rvDelegate: RVDelegate<MemberSettlement>
|
||||
|
||||
companion object {
|
||||
|
||||
@JvmStatic
|
||||
@@ -31,23 +43,30 @@ class GoldDetailActivity : BaseViewBindingActivity<ActivityGoldDetailBinding>(),
|
||||
|
||||
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<MemberSettlement>()
|
||||
.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<ActivityGoldDetailBinding>(),
|
||||
}
|
||||
}
|
||||
|
||||
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) }
|
||||
|
@@ -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<MemberSettlement, BaseViewHolder> {
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
}
|
@@ -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<ActivityAssociationBinding>() {
|
||||
|
||||
companion object {
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_down_arrow.webp
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_down_arrow.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 798 B |
@@ -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" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivRoomDown"
|
||||
android:src="@drawable/ic_down_arrow"
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_24"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -151,7 +158,10 @@
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/mRecyclerView"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
|
||||
|
||||
</LinearLayout>
|
95
app/src/main/res/layout/item_gold_detail.xml
Normal file
95
app/src/main/res/layout/item_gold_detail.xml
Normal file
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_marginBottom="@dimen/dp_16"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:background="@color/color_white">
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/iv_user_avatar"
|
||||
android:layout_width="@dimen/dp_45"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:src="@drawable/default_cover"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_user_name"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_user_name"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_name"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:layout_marginTop="3dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_hall_name"
|
||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_user_avatar"
|
||||
tools:text="@string/layout_item_clan_income_01" />
|
||||
|
||||
<com.yizhuan.erban.common.widget.RectRoundImageView
|
||||
android:id="@+id/iv_hall_avatar"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="@dimen/dp_6"
|
||||
android:src="@drawable/default_cover"
|
||||
app:borderRadius="8dp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_hall_name"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_hall_name"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:type="round" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_hall_name"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="3dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_have_exchange"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_user_name"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_hall_avatar"
|
||||
tools:text="@string/layout_item_clan_income_01" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_have_exchange"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_settlement"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_hall_name"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="1,000,000,000" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_settlement"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="22dp"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_have_exchange"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="1,000,000,000" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -4993,5 +4993,6 @@
|
||||
<string name="please_input_withdraw_gold">請輸入提現金幣</string>
|
||||
<string name="all">全部</string>
|
||||
<string name="time">次</string>
|
||||
<string name="empty_data">暫無數據</string>
|
||||
|
||||
</resources>
|
Reference in New Issue
Block a user