|
@@ -3,16 +3,23 @@ package com.swago.room.hongbao
|
|
|
import android.os.Bundle
|
|
|
import android.view.Gravity
|
|
|
import android.view.View
|
|
|
-import androidx.fragment.app.activityViewModels
|
|
|
import androidx.fragment.app.viewModels
|
|
|
+import com.swago.baseswago.baseroom.SwagoRoomManager
|
|
|
import com.swago.baseswago.dialog.BaseXDFragment
|
|
|
+import com.swago.baseswago.im.ImConstant
|
|
|
+import com.swago.baseswago.model.im.RoomChatMsgBean
|
|
|
import com.swago.baseswago.util.AppContext
|
|
|
+import com.swago.baseswago.util.LogUtil
|
|
|
import com.swago.baseswago.util.NoDoubleClickListener
|
|
|
+import com.swago.baseswago.util.UserInfo
|
|
|
import com.swago.loadUrl
|
|
|
import com.swago.room.R
|
|
|
import com.swago.room.databinding.DialogRedEnvelopeResultBinding
|
|
|
+import com.swago.room.util.IMSender
|
|
|
import com.swago.room.vm.RoomOtherVm
|
|
|
-import com.swago.room.vm.RoomVm
|
|
|
+import com.tencent.imsdk.v2.V2TIMMessage
|
|
|
+import com.tencent.imsdk.v2.V2TIMValueCallback
|
|
|
+import org.json.JSONObject
|
|
|
|
|
|
class RedEnvelopResultDialog : BaseXDFragment<DialogRedEnvelopeResultBinding>() {
|
|
|
|
|
@@ -23,8 +30,10 @@ class RedEnvelopResultDialog : BaseXDFragment<DialogRedEnvelopeResultBinding>()
|
|
|
}
|
|
|
|
|
|
private val roomOtherVm by viewModels<RoomOtherVm>()
|
|
|
+ private var name = ""
|
|
|
|
|
|
var openGiftDialog:(()->Unit)? = null
|
|
|
+ var addSenderMsgToRoomChatList: ((roomChatMsgBean: RoomChatMsgBean) -> Unit)? = null
|
|
|
|
|
|
companion object {
|
|
|
fun newInstance(id: String, avatar: String, name: String): RedEnvelopResultDialog {
|
|
@@ -42,7 +51,7 @@ class RedEnvelopResultDialog : BaseXDFragment<DialogRedEnvelopeResultBinding>()
|
|
|
arguments?.let {
|
|
|
val id = it.getString("id", "")
|
|
|
val avatar = it.getString("avatar", "")
|
|
|
- val name = it.getString("name", "")
|
|
|
+ name = it.getString("name", "")
|
|
|
context?.let {
|
|
|
binding.ivAvatar.loadUrl(it, avatar)
|
|
|
}
|
|
@@ -73,6 +82,47 @@ class RedEnvelopResultDialog : BaseXDFragment<DialogRedEnvelopeResultBinding>()
|
|
|
binding.tvCongratulation.text = AppContext.getContext().resources.getString(R.string.congratulation)
|
|
|
binding.tvReceive.text = AppContext.getContext().resources.getString(R.string.receive_red_envelope_coin)
|
|
|
binding.tvToSendGift.visibility = View.VISIBLE
|
|
|
+ val content = AppContext.getContext().resources.getString(R.string.thank_for_boss).format(it,name)
|
|
|
+ UserInfo.getUserInfo()?.let {
|
|
|
+ val roomChatMsgBean = RoomChatMsgBean()
|
|
|
+ roomChatMsgBean.content = content
|
|
|
+ roomChatMsgBean.sendName = it.user_name
|
|
|
+ roomChatMsgBean.senderId = it.id
|
|
|
+ roomChatMsgBean.senderLevel = it.user_wealth_level.toInt()
|
|
|
+ roomChatMsgBean.isBenefit = it.is_benefit
|
|
|
+ roomChatMsgBean.isPrettyAccount = it.is_pretty_account
|
|
|
+ addSenderMsgToRoomChatList?.invoke(roomChatMsgBean)
|
|
|
+
|
|
|
+ val jsonObject = JSONObject()
|
|
|
+ jsonObject.put("senderId", it.id)
|
|
|
+ jsonObject.put("sendName", it.user_name)
|
|
|
+ jsonObject.put("senderLevel", it.user_wealth_level)
|
|
|
+ jsonObject.put("isBenefit", it.is_benefit)
|
|
|
+ jsonObject.put("content", content)
|
|
|
+ jsonObject.put("isPrettyAccount", it.is_pretty_account)
|
|
|
+
|
|
|
+ val jsonObjectType = JSONObject()
|
|
|
+ jsonObjectType.put("type", ImConstant.room_chat_text)
|
|
|
+ jsonObjectType.put("data", jsonObject)
|
|
|
+ val toByteArray = jsonObjectType.toString().encodeToByteArray()
|
|
|
+ SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
|
|
|
+ IMSender.sendGroupCusMessage(
|
|
|
+ toByteArray,
|
|
|
+ iRoomInfo.getRoomGroupId(),
|
|
|
+ object : V2TIMValueCallback<V2TIMMessage> {
|
|
|
+ override fun onSuccess(t: V2TIMMessage?) {
|
|
|
+ LogUtil.d("发送成功")
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onError(code: Int, desc: String?) {}
|
|
|
+
|
|
|
+ },
|
|
|
+ V2TIMMessage.V2TIM_PRIORITY_NORMAL
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|