diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/RoomUserBean.java b/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/RoomUserBean.java index 55c1cbb0..43d3e82c 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/RoomUserBean.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/RoomUserBean.java @@ -28,7 +28,7 @@ public class RoomUserBean implements Serializable { private String avatar;//用户头像 private String dress;//头像装扮 private int is_room_owner;//是否是房主,1是;0不是 - private int pit_number;//麦位号,如果在麦位上就返回值 + private int pit_number = 0;//麦位号,如果在麦位上就返回值 private String state;//麦位状态,如果在麦位撒好难过就有返回值,正常;1:封麦;3禁麦 private String count_down;//麦位倒计时,在麦位上就有返回值,禁麦倒计时 private int is_collect;//是否收藏,1是;0没有 diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java b/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java index 9195c401..48a6b384 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java @@ -25,7 +25,7 @@ public enum QXRoomSeatViewType { /** * 签约 */ - SIGNCONTRACT(7,"签约"), + SIGNCONTRACT(10,"签约"), /** * 小黑屋麦位 diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java index 96d3af55..80edb364 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java @@ -431,7 +431,7 @@ public class RoomFragment extends BaseMvpFragment if (ClickUtils.isFastDoubleClick(v)) { @@ -169,30 +173,27 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : mBinding.tvTimeRight.setOnClickListener(this) if (mRoomInfo?.sign_info?.sign_id != "-1") { - if (mRoomInfo?.sign_info?.sign_status == 0) { - mBinding.tvTimeLeft.text = startOrDelay[0] - } else { - mBinding.tvTimeLeft.text = startOrDelay[1] + mSignId = mRoomInfo?.sign_info?.sign_id + if (mRoomInfo?.sign_info?.sign_status == 1) { startTimer(mRoomInfo?.sign_info?.end_time!!) + if (mUserInfo?.user_id?.toString().equals(mSignPitBean?.user_id)) { + setIvForMai(1) + } else if (!mSignPitBean?.user_id.equals("0")) { + setIvForMai(2) + } else { + setIvForMai(0) + } + }else{ + setIvForMai(0) } mBinding.tvSignDay.visibility = View.VISIBLE - - mSignId = mRoomInfo?.sign_info?.sign_id mBinding.tvLeftPrice.text = mRoomInfo?.sign_info?.current_body_value.toString() - mBinding.tvSignDay.text = "签约${mRoomInfo?.sign_info?.sign_day}天" - if (mUserInfo?.user_id?.toString().equals(mSignPitBean?.user_id)) { - setIvForMai(1) - } else if (!mSignPitBean?.user_id.equals("0")) { - setIvForMai(2) - } else { - setIvForMai(0) - } + } else { - mBinding.tvTimeLeft.text = startOrDelay[0] - mBinding.tvTime.text = "倒计时 00:00" + showBtn() setIvForMai(0) } } @@ -229,12 +230,31 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : } } - private fun showHostOrAboveBottomView(isShow: Boolean) { - if (getHostUser() < 4) { - mBinding.tvTimeRight.visibility = if (isShow) View.VISIBLE else View.INVISIBLE - mBinding.tvTime.visibility = if (isShow) View.VISIBLE else View.INVISIBLE + private fun showBtn(isSignUser:Boolean = false) { + if (isStart) { + mBinding.tvTimeLeft.text = startOrDelay[1] + mBinding.tvTime.visibility = View.VISIBLE + if (getHostUser() < 4) { + mBinding.tvTimeRight.visibility = View.VISIBLE + } } else { - mBinding.tvTime.visibility = if (isShow) View.VISIBLE else View.INVISIBLE + mBinding.tvTimeLeft.text = startOrDelay[0] + mBinding.tvTimeLeft.visibility = View.INVISIBLE + mBinding.tvTime.visibility = View.INVISIBLE + mBinding.tvTimeRight.visibility = View.INVISIBLE + if (!isSignUser){ + mBinding.tvLeftPrice.text = "0" + mBinding.tvSignDay.visibility = View.GONE + } + + mBinding.tvTime.text = "倒计时 00:00" + setIvForMai(0) + } + + if (mRoomInfo?.user_info?.pit_number == 9 && !mSignPitBean?.user_id.equals("0")) { + mBinding.tvTimeLeft.visibility = View.VISIBLE + } else { + mBinding.tvTimeLeft.visibility = View.INVISIBLE } } @@ -242,6 +262,13 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : fun roomInfoUpdate(mRoomInfoResp: RoomInfoResp) { mRoomInfo = mRoomInfoResp mUserInfo = mRoomInfo?.user_info + showBtn() + } + + fun roomTypeSwitch(mRoomInfoResp: RoomInfoResp) { + mRoomInfo = mRoomInfoResp + mUserInfo = mRoomInfo?.user_info + initView() } fun event1003(messageEvent: RoomMessageEvent) { @@ -253,32 +280,21 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : if (pitNumber == "1") { mSignPitBean = pitBean } - if (pitNumber == "9" && pitBean.user_id.equals(mUserInfo?.user_id.toString())) { - mBinding.tvTimeLeft.visibility = View.VISIBLE - } } - + showBtn() } fun event1004(messageEvent: RoomMessageEvent) { - val fromUserInfo = messageEvent.text.fromUserInfo ?: return - val pitNumber = messageEvent.text.pit_number - val userId = fromUserInfo.user_id - if (indexList.contains(pitNumber)) { val viewPos = indexList.indexOf(pitNumber) val pitBean = mRoomInfo?.room_info?.pit_list!![pitNumber.toInt() - 1] viewList[viewPos].setData(pitBean) - if (pitNumber == "1") { mSignPitBean = pitBean } - - if (pitNumber == "9" && pitBean.user_id.equals(mUserInfo?.user_id.toString())) { - mBinding.tvTimeLeft.visibility = View.GONE - } } + showBtn() } /** @@ -323,6 +339,12 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : pitBean.charm = fromUserInfo.charm viewList[indexList.indexOf("2")].setData(pitBean) + //当前主持出价,需要更新主持麦位 + if (viewList[0].pitBean?.user_id != "0" && viewList[0].pitBean?.user_id == pitBean.user_id) { + viewList[0].setData(mRoomInfo?.room_info?.pit_list!![8]) + } + + if (dialogMentorShip != null && dialogMentorShip?.isShowing!!) { MvpPre!!.signCoinList(mSignId!!) } @@ -360,11 +382,11 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : MvpPre!!.wallet(list) } - override fun wallet(list: List,walletBean: WalletBean?) { + override fun wallet(list: List, walletBean: WalletBean?) { if (dialogMentorShip == null) { dialogMentorShip = DialogMentorShip(ActivityUtils.getTopActivity()) } - dialogMentorShip?.show(list,mSignPitBean, + dialogMentorShip?.show(list, mSignPitBean,walletBean, object : DialogMentorShip.OnItemClickListener { override fun onItemClick(coin: String) { MvpPre!!.signCoin(mSignId!!, coin) @@ -381,7 +403,8 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : // 在需要开始计时的地方调用 private fun startTimer(milliseconds: Long) { - showHostOrAboveBottomView(true) + isStart = true + showBtn() // 启动计时器 timer.startCountdown(milliseconds, scope) // 观察时间变化 @@ -397,12 +420,8 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) : private fun stopTimer() { timer.stop() setIvForMai(0) - showHostOrAboveBottomView(false) - - mBinding.tvLeftPrice.text = "0" - mBinding.tvSignDay.visibility = View.GONE - mBinding.tvTimeLeft.text = startOrDelay[0] - mBinding.tvTime.text = "倒计时 00:00" + isStart = false + showBtn() } // 更新UI显示 diff --git a/MainModule/src/main/java/com/xscm/modulemain/dialog/DialogMentorShip.kt b/MainModule/src/main/java/com/xscm/modulemain/dialog/DialogMentorShip.kt index 2e8eba7e..ef2de376 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/dialog/DialogMentorShip.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/dialog/DialogMentorShip.kt @@ -7,6 +7,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder import com.xscm.modulemain.R import com.xscm.modulemain.databinding.DialogMentorShipLayoutBinding +import com.xscm.moduleutil.bean.WalletBean import com.xscm.moduleutil.bean.room.RoomPitBean import com.xscm.moduleutil.utils.ImageUtils import com.xscm.moduleutil.widget.dialog.BaseDialog @@ -44,9 +45,10 @@ class DialogMentorShip(context: Context) : BaseDialog, mSignPitBean: RoomPitBean?, onItemClickListener: OnItemClickListener?) { + fun show(list: List, mSignPitBean: RoomPitBean?, walletBean: WalletBean?, onItemClickListener: OnItemClickListener?) { super.show() mBinding.tvName.text = mSignPitBean?.nickname + mBinding.tvWallet.text = walletBean?.coin ImageUtils.loadHeadCC(mSignPitBean?.avatar, mBinding.ivHead) this.onItemClickListener = onItemClickListener adapter?.setNewData(list) diff --git a/MainModule/src/main/res/layout/fragment_mentor_ship.xml b/MainModule/src/main/res/layout/fragment_mentor_ship.xml index 90eb6589..aba29958 100644 --- a/MainModule/src/main/res/layout/fragment_mentor_ship.xml +++ b/MainModule/src/main/res/layout/fragment_mentor_ship.xml @@ -44,11 +44,11 @@ android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="@dimen/sp_12" - android:visibility="gone" + android:visibility="invisible" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_title" - tools:text="倒计时:00:00" /> + android:text="倒计时 00:00" /> @@ -81,7 +81,7 @@ android:text="结束" android:textColor="@color/white" android:textSize="@dimen/sp_13" - android:visibility="gone" + android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@id/tv_time" app:layout_constraintStart_toEndOf="@id/tv_time" app:layout_constraintTop_toTopOf="@id/tv_time" />