diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java b/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java index e1e73737..47a44db2 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java @@ -160,6 +160,11 @@ public class EMMessageInfo implements MultiItemEntity { public static final int QXRoomMessageTypeSignTipText = 1094; /// 暴币展示动画列表 public static final int QXRoomMessageTypeSignChat = 1100; + + /// 酒吧房撩ta推送 + public static final int QXRoomMessageTypeFlirtatious = 1200; + + private RoomMessageEvent emMessage; private int custom = 0; @@ -218,6 +223,7 @@ public class EMMessageInfo implements MultiItemEntity { return 1; case QXRoomMessageTypeRoomOMh: case QXRoomMessageTypeGift: + case QXRoomMessageTypeFlirtatious: return 3; case 1: case 2: diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java index 71b774bc..638ae3c3 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java @@ -578,7 +578,7 @@ public interface ApiServer { @FormUrlEncoded @POST(Constants.GET_ROOM_GIFT) - Call> roomGift(@Field("room_id") String room_id, @Field("gift_id") String gift_id, @Field("gift_num") String num, @Field("to_uid") String to_uid, @Field("type") String gift_type, @Field("pit_number") String pit_number, @Field("heart_id") String heat_id); + Call> roomGift(@Field("room_id") String room_id, @Field("gift_id") String gift_id, @Field("gift_num") String num, @Field("to_uid") String to_uid, @Field("type") String gift_type, @Field("pit_number") String pit_number, @Field("heart_id") String heat_id,@Field("gift_bag_id")String gift_bag_id); @FormUrlEncoded @POST(Constants.POST_CP_GIVE_GIFT) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index 9be353b6..b137b062 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -4072,8 +4072,8 @@ public class RetrofitClient { }); } - public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number, String heart_id, BaseObserver observer) { - sApiServer.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number, heart_id).enqueue(new Callback>() { + public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number, String heart_id,String gift_bag_id, BaseObserver observer) { + sApiServer.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number, heart_id,gift_bag_id).enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { if (response.code() == 200) { diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftContacts.java b/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftContacts.java index bb89962c..544274c9 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftContacts.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftContacts.java @@ -43,7 +43,7 @@ public class RewardGiftContacts { void giveGift(String user_id, String gid, String num, String to_uid, String gift_type); - void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number,String heart_id); + void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number,String heart_id,String gift_bag_id); void wallet(); diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftPresenter.java b/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftPresenter.java index 4e34aa90..fd47a119 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftPresenter.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/presenter/RewardGiftPresenter.java @@ -103,8 +103,8 @@ public class RewardGiftPresenter extends BasePresenter } @Override - public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number, String heart_id) { - RetrofitClient.getInstance().roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number, heart_id, new BaseObserver() { + public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number, String heart_id,String gift_bag_id) { + RetrofitClient.getInstance().roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number, heart_id,gift_bag_id, new BaseObserver() { @Override public void onSubscribe(Disposable d) { diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java b/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java index 79b410c8..04f2a810 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java @@ -288,7 +288,8 @@ public class Constants { public static final String GET_REDPACKET_DETAIL = "/api/Redpacket/detail";//红包详情 public static final String POST_GRAB = "/api/Redpacket/grab";//抢红包 - public static final String GET_ROOM_GIFT = "/api/Room/room_give_gift";//直播间送礼 +// public static final String GET_ROOM_GIFT = "/api/Room/room_give_gift";//直播间送礼 + public static final String GET_ROOM_GIFT = "/api/SendGift/send_gift";//直播间送礼 public static final String POST_CP_GIVE_GIFT = "/api/UserCp/cpGiveGift";//用户CP礼物回赠 public static final String GET_CP_ZONE = "/api/UserCp/cpZone";//心动空间 public static final String POST_MY_FAMILY = "/api/Family/myFamily";//我的家族 diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt index 5d5ed374..0408e110 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt @@ -1151,6 +1151,7 @@ class RoomActivity : BaseMvpActivity(), "1", giftGiveEvent!!.getPit(), giftGiveEvent!!.heart_id, + giftGiveEvent!!.giftModel.gift_bag.toString(), object : BaseObserver() { override fun onSubscribe(d: Disposable) { } @@ -1574,6 +1575,8 @@ class RoomActivity : BaseMvpActivity(), QXGiftPlayerManager.getInstance(this) .displayChatEffectView(messageEvent.text.play_image) + }else if( msgType == EMMessageInfo.QXRoomMessageTypeFlirtatious){ //酒吧房撩ta推送的信息 + roomFragment?.handleRoomMessage(messageEvent) } } diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java index a62b1d42..881dac82 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java @@ -611,6 +611,7 @@ public class ChatRoomFragment extends BaseMvpFragment() { @@ -80,18 +81,36 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : view.setData(bean) view.iv_custom_gift?.setOnClickListener { - GiftGivingDialog(ActivityUtils.getTopActivity(), mRoomId,view.pitBean.user_id,view.pitBean.nickname,view.pitBean.avatar).show() + GiftGivingDialog( + ActivityUtils.getTopActivity(), + mRoomId, + view.pitBean.user_id, + view.pitBean.nickname, + view.pitBean.avatar + ).show() } view.ivYueT?.setOnClickListener { - RoomAboutDialog(ActivityUtils.getTopActivity(),mRoomId,view.pitBean.user_id,view.pitBean.nickname,view.pitBean.avatar).show() + RoomAboutDialog( + ActivityUtils.getTopActivity(), + mRoomId, + view.pitBean.user_id, + view.pitBean.nickname, + view.pitBean.avatar + ).show() } view.ivLiaoT?.setOnClickListener { - if (!SpUtil.getBooleanValue("pub", false)) { - FlirtatiousDialog(ActivityUtils.getTopActivity()).show() - }else{ - + if (SpUtil.getBooleanValue("pub", false)) { + FlirtatiousDialog( + ActivityUtils.getTopActivity(), + view.pitBean.nickname + ).show() + } else { + FlirtatiousDialog( + ActivityUtils.getTopActivity(), + view.pitBean.nickname + ).show() } } @@ -100,7 +119,7 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : return@setOnClickListener } - if (mUserInfo?.pit_number == 9 && (view.pitBean.user_id == "0" || view.pitBean.user_id.isEmpty())){ + if (mUserInfo?.pit_number == 9 && (view.pitBean.user_id == "0" || view.pitBean.user_id.isEmpty())) { val mPitBean = mRoomInfoResp?.room_info?.pit_list!![indexList[idx].toInt() - 1] @@ -112,7 +131,7 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : mRoomInfoResp, childFragmentManager ) - } else if (mUserInfo?.pit_number == 9 && !(view.pitBean.user_id == "0" || view.pitBean.user_id.isEmpty())){ + } else if (mUserInfo?.pit_number == 9 && !(view.pitBean.user_id == "0" || view.pitBean.user_id.isEmpty())) { RoomUserInfoFragment.show( mRoomInfoResp?.room_info?.room_id, view.getUserId(), @@ -123,10 +142,12 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : isNumberWhether(), childFragmentManager ) - }else{ + } else { if (view.pitBean.user_id == "0" || view.pitBean.user_id.isEmpty()) { + // TODO: 这是展示设置心愿礼物的,这里有个点,要考虑,当前用户在麦位上,点击的时候,直接走上麦按钮,如果不在麦上,就直接选择心愿礼物 +// WishGiftDialog(ActivityUtils.getTopActivity(),mRoomId).show() MvpPre!!.applyPit(mRoomInfoResp?.room_info?.room_id!!, view.pitNumber) - }else { + } else { RoomUserInfoFragment.show( mRoomInfoResp?.room_info?.room_id, view.getUserId(), @@ -144,7 +165,7 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : } mBinding.ivSetTime.setOnClickListener { - RoomDurationDialog(ActivityUtils.getTopActivity(),mRoomId).show() + RoomDurationDialog(ActivityUtils.getTopActivity(), mRoomId).show() } mBinding.ivCustomGift.setOnClickListener { SetupCustomGiftDialog(ActivityUtils.getTopActivity(), mRoomId).show() @@ -285,4 +306,18 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : } } + // TODO: 撩ta推送过来的,在touserInfos,包含了所有的麦上用户的id,这里根据用户麦上的用户id,进行判断,只有在麦上的,才会进行播放 + fun event1200(messageEvent: RoomMessageEvent) { + for (view in viewList) { + if (view.userId.isNotEmpty()) { + for (userInfo in messageEvent.text.toUserInfos) { + if (view.userId == userInfo.user_id.toString()) { +// view.setData(view.pitBean) + view.setPitGift(messageEvent.text.giftInfo.play_image) + } + } + } + } + } + } \ No newline at end of file diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/WheatPresenter.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/WheatPresenter.java index c3f1b78d..ceaccef2 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/WheatPresenter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/WheatPresenter.java @@ -132,7 +132,7 @@ public class WheatPresenter extends BasePresenter implements @Override public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number) { - api.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number,"", new BaseObserver() { + api.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number,"","", new BaseObserver() { @Override public void onSubscribe(Disposable d) { diff --git a/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomGiftDialogFragment.java b/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomGiftDialogFragment.java index f44582d7..9a0ec864 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomGiftDialogFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomGiftDialogFragment.java @@ -597,7 +597,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment(context, com.xscm.moduleutil.R.style.BaseDialogStyleH) { // 定义回调接口 private var onConfirmCallback: ((String) -> Unit)? = null + private var mNickName: String = nickname; + private var isSelected: Boolean = false // 设置回调接口的方法 fun setOnConfirmListener(callback: (String) -> Unit): FlirtatiousDialog { @@ -50,9 +52,13 @@ class FlirtatiousDialog(context: Context) : mBinding.ivClose.setOnClickListener { dismiss() } - + if (SpUtil.getBooleanValue("pub",false)) { + mBinding.vCheckbox.isSelected = true + isSelected = true + } mBinding.tvConfirm.setOnClickListener { onConfirmCallback?.invoke("") + SpUtil.setBooleanValue("pub", isSelected) dismiss() } mBinding.tvCancel.setOnClickListener { @@ -60,16 +66,19 @@ class FlirtatiousDialog(context: Context) : } mBinding.vCheckbox.setOnClickListener { it.isSelected = !it.isSelected - if (it.isSelected) { - SpUtil.setBooleanValue("pub", true) - } - } + isSelected = it.isSelected + } + } + + override fun show() { + mBinding.tvTitle.text = "确定要撩一撩台上的 ${mNickName} 吗?共计需要 10个 金币。" + super.show() } override fun initData() { // 初始化数据,如果需要的话 - RetrofitClient.getInstance().wallet(object : BaseObserver(){ + RetrofitClient.getInstance().wallet(object : BaseObserver() { override fun onSubscribe(d: Disposable) { } @@ -78,6 +87,7 @@ class FlirtatiousDialog(context: Context) : }) } + private fun setupWindow() { val window = window ?: return window.setGravity(Gravity.CENTER) diff --git a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt index 0942ae5b..e16bc0d3 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt @@ -12,6 +12,7 @@ import android.widget.TextView import com.xscm.modulemain.R import com.xscm.moduleutil.bean.room.RoomPitBean import com.xscm.moduleutil.utils.ImageUtils +import com.xscm.moduleutil.widget.AvatarFrameView import com.xscm.moduleutil.widget.BaseWheatView class RoomPubWheatView : BaseWheatView { @@ -32,7 +33,7 @@ class RoomPubWheatView : BaseWheatView { private var hostTv: TextView? = null private var tv_time: TextView? = null private var ll_bottom: LinearLayout? = null - + private var iv_gift: AvatarFrameView? = null var ivYueT: ImageView? = null var ivLiaoT: ImageView? = null @@ -61,6 +62,7 @@ class RoomPubWheatView : BaseWheatView { ivYueT = findViewById(R.id.iv_yue_t) ivLiaoT = findViewById(R.id.iv_liao_t) + iv_gift = findViewById(R.id.iv_gift) } @@ -117,7 +119,10 @@ class RoomPubWheatView : BaseWheatView { fun setSex(value: String?, format: Boolean) { mCharmView.setSex("", "", value, format) } - + fun setPitGift(giftPlayString: String){ + iv_gift?.visibility=VISIBLE + iv_gift?.setSource(giftPlayString, 2) + } private fun handleOnState(bean: RoomPitBean) { mIvRipple.visibility = VISIBLE diff --git a/MainModule/src/main/res/layout/layout_room_pub_wheat.xml b/MainModule/src/main/res/layout/layout_room_pub_wheat.xml index 00bacb9d..d43c3588 100644 --- a/MainModule/src/main/res/layout/layout_room_pub_wheat.xml +++ b/MainModule/src/main/res/layout/layout_room_pub_wheat.xml @@ -60,7 +60,7 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintWidth_percent="0.6" /> -