1:添加交友小屋接口

2:修改上下麦展示设置时长的问题
3:修改上主持麦出现选择礼物的弹框
4:添加上嘉宾麦的判断
This commit is contained in:
2026-01-07 20:35:23 +08:00
parent 9fbb12819f
commit fe78c968f2
12 changed files with 225 additions and 79 deletions

View File

@@ -1578,6 +1578,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
.displayChatEffectView(messageEvent.text.play_image)
}else if( msgType == EMMessageInfo.QXRoomMessageTypeFlirtatious){ //酒吧房撩ta推送的信息
roomFragment?.handleRoomMessage(messageEvent)
}else if (msgType == EMMessageInfo.QXRoomMessageTypeFlirtatiousRoom) {//酒吧房约她进入小黑屋
}
}

View File

@@ -555,6 +555,7 @@ public class ChatRoomFragment extends BaseMvpFragment<ChatRoomPresenter, RoomFra
case 1071:
case 125:
case 1080:
case 1201:
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).roomInfoEvent(message);
}

View File

@@ -5,6 +5,7 @@ import android.text.TextUtils
import android.view.View
import com.blankj.utilcode.util.ActivityUtils
import com.blankj.utilcode.util.LogUtils
import com.blankj.utilcode.util.ToastUtils
import com.xscm.modulemain.R
import com.xscm.modulemain.activity.room.activity.RoomActivity
import com.xscm.modulemain.activity.room.presenter.PubPresenter
@@ -204,15 +205,27 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) :
if (mRoomInfoResp?.user_info?.pit_number != 0) {
MvpPre!!.applyPit(
mRoomInfoResp?.room_info?.room_id!!,
view.pitNumber,""
view.pitNumber, ""
)
} else {
// TODO: 这是展示设置心愿礼物的,这里有个点,要考虑,当前用户在麦位上,点击的时候,直接走上麦按钮,如果不在麦上,就直接选择心愿礼物
WishGiftDialog(
ActivityUtils.getTopActivity(),
mRoomId,
view.pitNumber
).show()
// TODO: 2026年1月7日20:22:58添加了上主持麦进行判断主持麦不需要选择礼物
if (view.pitNumber == "9") {
MvpPre!!.applyPit(
mRoomInfoResp?.room_info?.room_id!!,
view.pitNumber,
""
)
} else if (view.pitNumber == "10") {
ToastUtils.showLong("需要主持才可以抱上去哟!")
} else {
// TODO: 这是展示设置心愿礼物的,这里有个点,要考虑,当前用户在麦位上,点击的时候,直接走上麦按钮,如果不在麦上,就直接选择心愿礼物
WishGiftDialog(
ActivityUtils.getTopActivity(),
mRoomId,
view.pitNumber
).show()
}
}
// MvpPre!!.applyPit(mRoomInfoResp?.room_info?.room_id!!, view.pitNumber)
} else {
@@ -318,12 +331,14 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) :
val pitBean = mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1]
pitBean.end_time = messageEvent.text.end_time
viewList[viewPos].setData(pitBean)
if (mUserInfo?.user_id.toString() == pitBean.user_id) {
mBinding.ivSetTime.visibility = View.VISIBLE
if (pitNumber == "9") { // 添加判断麦位是否是9号麦
if (mUserInfo?.user_id.toString() == pitBean.user_id) {
mBinding.ivSetTime.visibility = View.VISIBLE
}
}
}
startTimer(messageEvent.text.end_time.toLong())
}
@@ -333,6 +348,10 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) :
val viewPos = indexList.indexOf(pitNumber)
val pitBean = mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1]
viewList[viewPos].setData(pitBean)
if (pitNumber == "9") { // 添加判断麦位是否是9号麦
mBinding.ivSetTime.visibility = View.GONE
}
}
var isMaiPit = false
viewList.forEach { it ->

View File

@@ -4,6 +4,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder
import com.xscm.modulemain.R
/**
@@ -13,40 +15,49 @@ import com.xscm.modulemain.R
class FixedItemAdapter(
private val itemCount: Int
) : RecyclerView.Adapter<FixedItemAdapter.ViewHolder>() {
) : BaseQuickAdapter<Int, BaseViewHolder>(R.layout.item_make_friends) {
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
// 在这里定义你的视图组件,例如:
// val imageView: ImageView = itemView.findViewById(R.id.imageView)
init {
setNewData(List(itemCount) { it })
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
// 使用你的实际布局资源替换 R.layout.item_fixed
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_make_friends, parent, false)
return ViewHolder(view)
// RecyclerView.Adapter<FixedItemAdapter.ViewHolder>() {
//
// class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
// // 在这里定义你的视图组件,例如:
// // val imageView: ImageView = itemView.findViewById(R.id.imageView)
// }
//
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
// // 使用你的实际布局资源替换 R.layout.item_fixed
// val view = LayoutInflater.from(parent.context)
// .inflate(R.layout.item_make_friends, parent, false)
//
// return ViewHolder(view)
// }
//
// override fun onBindViewHolder(holder: ViewHolder, position: Int) {
// // 设置点击监听器
//// holder.itemView.setOnClickListener {
//// itemClickListener?.invoke(position)
//// }
//
// // 如果所有图片都一样,可以在这里设置相同的图片资源
// // holder.imageView.setImageResource(R.drawable.your_image)
// }
//
// override fun getItemCount(): Int {
// return itemCount
// }
//
// /**
// * 更新项目数量
// */
// fun updateCount(newCount: Int) {
// // 如果使用DiffUtil可以实现更高效的更新
// notifyDataSetChanged()
// }
//}
override fun convert(helper: BaseViewHolder, item: Int?) {
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
// 设置点击监听器
// holder.itemView.setOnClickListener {
// itemClickListener?.invoke(position)
// }
// 如果所有图片都一样,可以在这里设置相同的图片资源
// holder.imageView.setImageResource(R.drawable.your_image)
}
override fun getItemCount(): Int {
return itemCount
}
/**
* 更新项目数量
*/
fun updateCount(newCount: Int) {
// 如果使用DiffUtil可以实现更高效的更新
notifyDataSetChanged()
}
}
}

View File

@@ -4,16 +4,14 @@ import android.content.Context
import android.view.Gravity
import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager
import com.blankj.utilcode.util.LogUtils
import com.blankj.utilcode.util.ScreenUtils
import com.xscm.modulemain.R
import com.xscm.modulemain.adapter.FixedItemAdapter
import com.xscm.modulemain.adapter.RoomGiftGivingAdapter
import com.xscm.modulemain.databinding.DialogGiftGivingBinding
import com.xscm.modulemain.databinding.DialogMakeFriendsBinding
import com.xscm.moduleutil.bean.RoonGiftModel
import com.xscm.moduleutil.bean.BlackRoomBean
import com.xscm.moduleutil.http.BaseObserver
import com.xscm.moduleutil.http.RetrofitClient
import com.xscm.moduleutil.widget.CommonEmptyView
import com.xscm.moduleutil.widget.dialog.BaseDialog
import io.reactivex.disposables.Disposable
@@ -22,10 +20,11 @@ import io.reactivex.disposables.Disposable
* 时间2026/1/5 19:27
* 用途:交友小屋弹窗
*/
class MakeFriendsDialog(context: Context, val roomId: String?) :
class MakeFriendsDialog(context: Context, var roomId: String?) :
BaseDialog<DialogMakeFriendsBinding>(context, com.xscm.moduleutil.R.style.BaseDialogStyleH) {
var adapter: FixedItemAdapter? = null
var mRoomId: String? = roomId
override fun getLayoutId(): Int {
return R.layout.dialog_make_friends
@@ -41,31 +40,41 @@ class MakeFriendsDialog(context: Context, val roomId: String?) :
override fun initData() {
// TODO: 这里调用的事设置插队礼物接口
// RetrofitClient.getInstance().getGiftList(1,roomId,object : BaseObserver<MutableList<RoonGiftModel>>() {
// override fun onSubscribe(d: Disposable) {
// }
//
// override fun onNext(t: MutableList<RoonGiftModel>) {
// if (t.isNotEmpty()) {
// adapter = RoomGiftGivingAdapter(t) { selectedValue, position ->
// // 处理选中事件
// LogUtils.e("选中了: $selectedValue, 位置: $position")
// }
//
// // 设置GridLayoutManager每行显示4个item
// val layoutManager =
// GridLayoutManager(context, 4)
// mBinding.recycleView.layoutManager = layoutManager
// mBinding.recycleView.adapter = adapter
// }
// }
// })
val layoutManager =
GridLayoutManager(context, 2)
adapter= FixedItemAdapter(15)
mBinding.recycleView.layoutManager = layoutManager
mBinding.recycleView.adapter = adapter
// val layoutManager =
// GridLayoutManager(context, 2)
// adapter = FixedItemAdapter(15)
// mBinding.recycleView.layoutManager = layoutManager
// mBinding.recycleView.adapter = adapter
}
override fun show(){
super.show()
RetrofitClient.getInstance().getBlackRoomList(roomId,object : BaseObserver<MutableList<BlackRoomBean>>() {
override fun onSubscribe(d: Disposable) {
}
override fun onNext(t: MutableList<BlackRoomBean>) {
val layoutManager =
GridLayoutManager(context, 2)
if(t.isNotEmpty()){
adapter = FixedItemAdapter(t.size)
}else{
adapter = FixedItemAdapter(0)
}
mBinding.recycleView.layoutManager = layoutManager
mBinding.recycleView.adapter = adapter
val commonEmptyView = CommonEmptyView(context)
commonEmptyView.setImg(R.mipmap.ic_empty)
commonEmptyView.setTextColor(context.getResources().getColor(com.xscm.moduleutil.R.color.color_FFBDBDBC))
commonEmptyView.setEmptyText("暂无数据交友小屋数据")
adapter?.bindToRecyclerView(mBinding.recycleView)
adapter?.setEmptyView(commonEmptyView)
}
})
}

View File

@@ -40,6 +40,8 @@ class RoomAboutDialog(
private var mUserId: String = userId
private var mUsername: String = username
private var mAvatar: String = avatar
private var giftId: String =""
// 定义回调接口
private var onConfirmCallback: ((String) -> Unit)? = null
@@ -67,8 +69,16 @@ class RoomAboutDialog(
}
mBinding.tvConfirm.setOnClickListener {
onConfirmCallback?.invoke("")
dismiss()
RetrofitClient.getInstance().meetingTa(mRoomId, mUserId,giftId, object : BaseObserver<String>() {
override fun onSubscribe(d: Disposable) {
}
override fun onNext(t: String) {
dismiss()
}
})
}
mBinding.tvRecharge.setOnClickListener {
@@ -105,6 +115,7 @@ class RoomAboutDialog(
mBinding.tvGiftPrice.text = t.gift_price
ImageUtils.loadHead(t.base_image, mBinding.ivGiftPic)
mBinding.tvGiftName.text = t.gift_name
giftId=t.gift_id
}
mBinding.tvBalance.text = t.user_wallet_coin ?: "0"