发房间消息增加部分扩展字段
This commit is contained in:
@@ -156,6 +156,7 @@ import com.yizhuan.xchat_android_core.team.bean.TeamInfo;
|
||||
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||
import com.yizhuan.xchat_android_core.user.bean.BaseInfo;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.ExtensionUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.LogUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver;
|
||||
@@ -2591,6 +2592,15 @@ public final class IMNetEaseManager {
|
||||
if (chatRoomMessage == null) {
|
||||
throw new IllegalArgumentException("ChatRoomMessage can't be null!");
|
||||
}
|
||||
|
||||
Map<String, Object> map = chatRoomMessage.getLocalExtension();
|
||||
if (map == null) map = new HashMap<>();
|
||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
if (userInfo != null) {
|
||||
ExtensionUtils.setupExtension(map, userInfo);
|
||||
}
|
||||
chatRoomMessage.setLocalExtension(map);
|
||||
chatRoomMessage.setRemoteExtension(map);
|
||||
return Single.create((SingleOnSubscribe<ChatRoomMessage>) e -> {
|
||||
NIMChatRoomSDK.getChatRoomService().sendMessage(chatRoomMessage, resend)
|
||||
.setCallback(new RequestCallback<Void>() {
|
||||
|
@@ -0,0 +1,47 @@
|
||||
package com.yizhuan.xchat_android_core.utils;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.yizhuan.xchat_android_core.decoration.car.bean.CarInfo;
|
||||
import com.yizhuan.xchat_android_core.decoration.headwear.bean.HeadWearInfo;
|
||||
import com.yizhuan.xchat_android_core.level.UserLevelVo;
|
||||
import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ExtensionUtils {
|
||||
|
||||
public static void setupExtension(@NonNull Map<String, Object> map, @NonNull UserInfo userInfo) {
|
||||
HeadWearInfo headWearInfo = userInfo.getUserHeadwear();
|
||||
UserLevelVo userLevelVo = userInfo.getUserLevelVo();
|
||||
CarInfo carInfo = userInfo.getCarInfo();
|
||||
Map<String, Object> valueMap = new HashMap<>();
|
||||
valueMap = userInfo.toMap(valueMap, userInfo);
|
||||
if (userLevelVo != null) {
|
||||
valueMap = userLevelVo.toMap(valueMap);
|
||||
}
|
||||
if (carInfo != null) {
|
||||
valueMap = carInfo.toMap(valueMap, carInfo);
|
||||
}
|
||||
if (!TextUtils.isEmptyText(userInfo.getNameplateWord())) {
|
||||
valueMap.put(UserInfo.NAMEPLATE_WORD, userInfo.getNameplateWord());
|
||||
}
|
||||
if (!TextUtils.isEmptyText(userInfo.getNameplatePic())) {
|
||||
valueMap.put(UserInfo.NAMEPLATE_PIC, userInfo.getNameplatePic());
|
||||
}
|
||||
|
||||
valueMap.put(SuperAdminUtil.PLATFORM_ROLE, userInfo.getPlatformRole());
|
||||
|
||||
//多个判断,头饰不过期才传pic
|
||||
if (headWearInfo != null && headWearInfo.getStatus() == HeadWearInfo.STATUS_IN_USED) {
|
||||
valueMap = headWearInfo.toMap(valueMap);
|
||||
}
|
||||
if (valueMap.size() > 0) {
|
||||
map.put(String.valueOf(userInfo.getUid()), valueMap);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user