签约 完善 1

This commit is contained in:
2025-12-01 11:34:56 +08:00
parent 9183342636
commit 06ce98a3ab
6 changed files with 80 additions and 59 deletions

View File

@@ -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没有

View File

@@ -25,7 +25,7 @@ public enum QXRoomSeatViewType {
/**
* 签约
*/
SIGNCONTRACT(7,"签约"),
SIGNCONTRACT(10,"签约"),
/**
* 小黑屋麦位

View File

@@ -431,7 +431,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
if (mentorShipFragment == null) {
mentorShipFragment = RoomMentorShipFragment.Companion.newInstance(mRoomInfoResp);
} else {
mentorShipFragment.roomInfoUpdate(mRoomInfoResp);
mentorShipFragment.roomTypeSwitch(mRoomInfoResp);
}
newFragment = mentorShipFragment;
}
@@ -533,14 +533,14 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
((RoomActivity) getActivity()).upRoomInfo(mRoomInfoResp);
}
}
//误导
public void updateSeatViewExchangedWithPitArray(RoomInfoResp roomInfoResp) {
mRoomInfoResp = roomInfoResp;
setRoomSeatViewType();
loadSubFragment(qxRoomSeatViewType);
updateChildFragmentViews();
}
//1003 1004
public void upRoomInfoData(RoomInfoResp roomInfoResp) {
this.mRoomInfoResp = roomInfoResp;
setRoomSeatViewType();

View File

@@ -8,6 +8,7 @@ import android.widget.PopupWindow
import android.widget.Switch
import android.widget.TextView
import com.blankj.utilcode.util.ActivityUtils
import com.blankj.utilcode.util.LogUtils
import com.xscm.modulemain.R
import com.xscm.modulemain.activity.room.contacts.MentorShipContacts
import com.xscm.modulemain.activity.room.presenter.MentorShipPresenter
@@ -41,13 +42,9 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
View.OnClickListener {
companion object {
@Volatile
private var INSTANCE: RoomMentorShipFragment? = null
fun newInstance(roomInfoResp: RoomInfoResp): RoomMentorShipFragment {
return INSTANCE ?: synchronized(this) {
INSTANCE ?: RoomMentorShipFragment(roomInfoResp).also { INSTANCE = it }
}
return RoomMentorShipFragment(roomInfoResp)
}
}
@@ -71,6 +68,8 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
private var dialogMentorShip: DialogMentorShip? = null
private var isStart = false
private val ivForMai = arrayOf(
com.xscm.moduleutil.R.mipmap.icon_apply_for_mai,
com.xscm.moduleutil.R.mipmap.icon_show_alent,
@@ -91,6 +90,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
override fun initView() {
initPopupWindow()
viewList.clear()
viewList.add(mBinding.rmsw1)
viewList.add(mBinding.rmswMidd)
@@ -109,11 +109,15 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
view.setHostTv(mBinding.tvHostName)
} else if (idx == 1) {
mSignPitBean = bean
if (bean.user_id != "0" && mUserInfo?.user_id != null && viewList[0].pitBean?.user_id.equals(mUserInfo?.user_id.toString())) {
if (bean.user_id != "0" && mUserInfo?.user_id != null && viewList[0].pitBean?.user_id.equals(
mUserInfo?.user_id.toString()
)
) {
mBinding.tvTimeLeft.visibility = View.VISIBLE
}
}
view.isMentorShip(true)
LogUtils.e("for_info", "bean:${bean}")
view.setData(bean)
view.setOnClickListener { v ->
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<String>,walletBean: WalletBean?) {
override fun wallet(list: List<String>, 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显示

View File

@@ -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<DialogMentorShipLayoutBind
}
}
fun show(list: List<String>, mSignPitBean: RoomPitBean?, onItemClickListener: OnItemClickListener?) {
fun show(list: List<String>, 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)

View File

@@ -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" />
<TextView
android:id="@+id/tv_time_left"
@@ -63,7 +63,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_constraintEnd_toStartOf="@id/tv_time"
app:layout_constraintTop_toTopOf="@id/tv_time" />
@@ -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" />