Ver Fonte

fix: 语音房礼物叠加

tongmengxiao há 1 ano atrás
pai
commit
b3c6457de6

+ 2 - 1
baseswago/src/main/java/com/swago/baseswago/model/live/audio/AudioSendGiftModel.kt

@@ -28,7 +28,8 @@ data class AudioSendGiftModel(
     val nextWealthNeedJingyan:String,
     val nextWealthNeedJingyan:String,
     val giftOneceNum: Int,
     val giftOneceNum: Int,
     val senderAvatar:String,
     val senderAvatar:String,
-    val im_data: ImData
+    val im_data: ImData,
+    val isCombo: Int
 )
 )
 
 
 data class Receiver(
 data class Receiver(

+ 12 - 5
room/src/main/java/com/swago/room/gift/GiftDialog.kt

@@ -448,7 +448,7 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
                             1 -> {
                             1 -> {
                                 //幸运
                                 //幸运
                                 SwagoRoomManager.iRoomInfo?.let {
                                 SwagoRoomManager.iRoomInfo?.let {
-                                    if (it.getRoomType() == 1){
+                                    if (it.getRoomType() == 2){
                                         binding.combo.visibility = View.VISIBLE
                                         binding.combo.visibility = View.VISIBLE
                                         binding.combo.start()
                                         binding.combo.start()
                                         binding.tvToSend.visibility = View.GONE
                                         binding.tvToSend.visibility = View.GONE
@@ -571,7 +571,8 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
                             giftModel.id,
                             giftModel.id,
                             giftBatch,
                             giftBatch,
                             selectedUserList,
                             selectedUserList,
-                            giftNum
+                            giftNum,
+                            isCombo
                         )
                         )
                     }else{
                     }else{
                         Toast.makeText(
                         Toast.makeText(
@@ -588,7 +589,8 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
                                 giftModel.id,
                                 giftModel.id,
                                 giftBatch,
                                 giftBatch,
                                 listOf(receiveId),
                                 listOf(receiveId),
-                                giftNum
+                                giftNum,
+                                isCombo
                             )
                             )
                         }else{
                         }else{
                             Toast.makeText(
                             Toast.makeText(
@@ -709,8 +711,13 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
                binding.rvAudioUser.visibility = View.GONE
                binding.rvAudioUser.visibility = View.GONE
             }else{
             }else{
                 binding.rvAudioUser.visibility = View.VISIBLE
                 binding.rvAudioUser.visibility = View.VISIBLE
-                data[0].selected = true
-                selectedUserList.add(data[0].user_id)
+                data.forEachIndexed { index, maiUserInfo ->
+                    if (maiUserInfo.user_id == receiveId){
+                        data[index].selected = true
+                        selectedUserList.add(data[index].user_id)
+                    }
+                }
+
             }
             }
             adapter.setNewData(data)
             adapter.setNewData(data)
         }
         }

+ 2 - 0
room/src/main/java/com/swago/room/gift/GiftVm.kt

@@ -116,6 +116,7 @@ class GiftVm(application: Application) : BaseViewModel(application) {
         gift_batch: Int,
         gift_batch: Int,
         gift_receive_id: List<String>,
         gift_receive_id: List<String>,
         gift_num: Int = 1,
         gift_num: Int = 1,
+        is_combo: Int
     ) {
     ) {
         requestData2(false) {
         requestData2(false) {
             requestData {
             requestData {
@@ -128,6 +129,7 @@ class GiftVm(application: Application) : BaseViewModel(application) {
                 jsonObject.put("gift_id", gift_id)
                 jsonObject.put("gift_id", gift_id)
                 jsonObject.put("gift_batch", gift_batch)
                 jsonObject.put("gift_batch", gift_batch)
                 jsonObject.put("gift_num", gift_num)
                 jsonObject.put("gift_num", gift_num)
+                jsonObject.put("is_combo", is_combo)
                 jsonObject.put("gift_receive_id", jsonArray)
                 jsonObject.put("gift_receive_id", jsonArray)
                 val data = ApiManager.roomApi.sendAudioGift(
                 val data = ApiManager.roomApi.sendAudioGift(
                     jsonObject.toString()
                     jsonObject.toString()

+ 48 - 1
room/src/main/java/com/swago/room/vm/MsgVm.kt

@@ -666,7 +666,54 @@ class MsgVm(application: Application) : AbsMsgVm(application) {
                         }
                         }
                         //多人送礼动画
                         //多人送礼动画
                         if (it.senderId != UserInfo.getUserInfo()?.id){
                         if (it.senderId != UserInfo.getUserInfo()?.id){
-                            addAudioGiftAnimFun?.invoke(it)
+                            if (it.giftType == 3) {
+                                val imGiftModel = IMGiftModel()
+                                imGiftModel.giftIcon = it.giftIcon
+                                imGiftModel.senderName = it.senderName
+                                val receiverName = StringBuffer()
+                                it.receivers.forEach {
+                                    receiverName.append("${it.receiverName} ,")
+                                }
+                                if (it.receivers.isNotEmpty())
+                                    receiverName.deleteCharAt(receiverName.length - 1)
+                                imGiftModel.receiverName = receiverName.toString()
+                                imGiftModel.giftNum = it.giftNum
+                                imGiftModel.multiple = it.multiple
+                                imGiftModel.senderId = it.senderId
+                                imGiftModel.giftId = it.giftId
+                                imGiftModel.giftOneceNum = it.giftOneceNum
+                                imGiftModel.senderAvatar = it.senderAvatar
+                                showGiftDanDao?.invoke(imGiftModel)
+                            } else {
+                                if (it.giftType == 1 || it.giftType == 5){
+                                    val imGiftModel = IMGiftModel()
+                                    imGiftModel.giftIcon = it.giftIcon
+                                    imGiftModel.giftNum = it.giftNum
+                                    imGiftModel.senderId = it.senderId
+                                    imGiftModel.giftId = it.giftId
+                                    imGiftModel.giftOneceNum = it.giftOneceNum
+                                    imGiftModel.senderAvatar = it.senderAvatar
+
+
+                                    imGiftModel.giftIdName = it.giftIdName
+                                    imGiftModel.giftName = it.giftName
+                                    imGiftModel.giftArName = it.giftArName
+                                    imGiftModel.giftEnName = it.giftEnName
+                                    imGiftModel.senderName = it.senderName
+                                    imGiftModel.multiple = it.multiple
+                                    val receiverName = StringBuffer()
+                                    it.receivers.forEach {
+                                        receiverName.append("${it.receiverName} ,")
+                                    }
+                                    if (it.receivers.isNotEmpty())
+                                        receiverName.deleteCharAt(receiverName.length - 1)
+                                    imGiftModel.receiverName = receiverName.toString()
+
+                                    playSvgUrl?.invoke(imGiftModel ,true)
+                                }
+
+                                addAudioGiftAnimFun?.invoke(it)
+                            }
                         }
                         }
 
 
                     }
                     }