From 1a1d2cf46c83c9ecb5ee322c25229c19364c6725 Mon Sep 17 00:00:00 2001 From: max Date: Wed, 28 Feb 2024 14:44:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E6=88=90=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E9=A1=B5UI=E6=94=B9=E7=89=88=EF=BC=88=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=83=A8=E5=88=86=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/chwl/app/MainActivity.java | 32 -- .../java/com/chwl/app/application/App.java | 5 - .../chwl/app/avroom/ButtonItemFactory.java | 1 - .../app/ui/im/recent/RecentListFragment.java | 30 -- .../com/chwl/app/ui/webview/JSInterface.java | 1 - .../main/res/layout/fragment_recent_list.xml | 9 +- .../chwl/core/gift/toolbox/GiftToolbox.java | 74 ----- .../bean/PublicChatHallMessage.java | 286 ---------------- .../manager/PublicChatHallDataManager.java | 4 - .../model/IPublicChatHallModel.java | 42 --- .../model/PublicChatHallModel.java | 309 ------------------ .../util/PublicChatHallMessageConvertor.java | 10 - 12 files changed, 1 insertion(+), 802 deletions(-) delete mode 100644 core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/bean/PublicChatHallMessage.java delete mode 100644 core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/IPublicChatHallModel.java delete mode 100644 core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/PublicChatHallModel.java delete mode 100644 core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/util/PublicChatHallMessageConvertor.java diff --git a/app/src/main/java/com/chwl/app/MainActivity.java b/app/src/main/java/com/chwl/app/MainActivity.java index 7258ee2c1..b2be40301 100644 --- a/app/src/main/java/com/chwl/app/MainActivity.java +++ b/app/src/main/java/com/chwl/app/MainActivity.java @@ -159,7 +159,6 @@ public class MainActivity extends BaseMvpActivity { fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment()); -// fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment()); fragmentArray.put(MainTabType.TAB_TYPE_MSG, new ContactsListFragment()); fragmentArray.put(MainTabType.TAB_TYPE_ME, new MeFragment()); } @@ -194,12 +193,6 @@ public class MainActivity extends BaseMvpActivity AVRoomActivity.start(context, Long.parseLong(linkedInfo.getRoomUid())); } else if (!TextUtils.isEmpty(linkedInfo.getUrl()) && linkedInfo.getType().equals("3")) { CommonWebViewActivity.start(context, UriProvider.getLinkUrl(linkedInfo.getUrl())); -// } else if (!TextUtils.isEmpty(linkedInfo.getWorldId()) && linkedInfo.getType().equals("5")) { -// MiniWorldGuestPageActivity.start(context, linkedInfo.getWorldId()); -// } else if (linkedInfo.getType().equals("6") && !TextUtils.isEmpty(linkedInfo.getWorldId()) && -// !TextUtils.isEmpty(linkedInfo.getDynamicId())) { -// DynamicDetailActivity.start(context, JavaUtil.str2long(linkedInfo.getDynamicId()), -// JavaUtil.str2long(linkedInfo.getWorldId()), 6); } else if (linkedInfo.getType().equals("7") && !TextUtils.isEmpty(linkedInfo.getUid())) { NimP2PMessageActivity.start(context, linkedInfo.getUid()); } else { @@ -316,34 +309,9 @@ public class MainActivity extends BaseMvpActivity UserInfo userInfo = UserModel.get().getCacheLoginUserInfo(); if (userInfo != null) { handleLinkedJump(this); -// if (userInfo.isShowLimitCharge() && -// PmDialogShowMrg.get().isHasShow() && -// DemoCache.readNewUserChargeGift() == 1) { -// StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_NUGIFT_POP_SHOW, getString(R.string.enjoy_the_popup_exposure)); -// NewUserChargeGiftDialog.start(context); -// DemoCache.saveNewUserChargeGift(2); -// } -// checkShowAnchorCardView(); } } -// private void checkShowAnchorCardView() { -// if (touchRunnable != null || !mResumed || AvRoomDataManager.get().mCurrentRoomInfo != null) -// return; -// int anchorCardViewType = DemoCache.readAnchorCardView(); -// if (anchorCardViewType == 2) { -// if (CurrentTimeUtils.getCurrentTime() - DemoCache.readAnchorCardViewTime() > 15 * 60 * 1000) { -// touchRunnable = () -> { -// touchRunnable = null; -// homeViewModel.requestAnchorInfo(); -// }; -// mMainTabLayout.postDelayed(touchRunnable, 5000); -// } -// } else if (anchorCardViewType == 1 || DemoCache.readLaunchCount() == 1) { -// homeViewModel.requestAnchorInfo(); -// } -// } - @Override protected void onPause() { super.onPause(); diff --git a/app/src/main/java/com/chwl/app/application/App.java b/app/src/main/java/com/chwl/app/application/App.java index 4704b7968..7522aa224 100644 --- a/app/src/main/java/com/chwl/app/application/App.java +++ b/app/src/main/java/com/chwl/app/application/App.java @@ -66,9 +66,7 @@ import com.chwl.core.interceptor.TimeSyncInterceptor; import com.chwl.core.manager.IMMessageManager; import com.chwl.core.manager.IMSystemMsgManager; import com.chwl.core.market_verify.MarketVerifyModel; -import com.chwl.core.mentoring_relationship.model.MentoringRelationshipModel; import com.chwl.core.pay.PayModel; -import com.chwl.core.public_chat_hall.model.PublicChatHallModel; import com.chwl.core.radish.RadishModel; import com.chwl.core.radish.signin.bean.ImNotice; import com.chwl.core.room.face.DynamicFaceModel; @@ -480,11 +478,8 @@ public class App extends BaseApp { ChannelModel.get(); MarketVerifyModel.get(); GiftModel.get(); - PublicChatHallModel.get(); // 模厅 HallDataManager.get().application(); - // 师徒 - MentoringRelationshipModel.get(); //全局处理 GlobalHandleManager.get().init(); diff --git a/app/src/main/java/com/chwl/app/avroom/ButtonItemFactory.java b/app/src/main/java/com/chwl/app/avroom/ButtonItemFactory.java index 774772ad7..e63fecaea 100644 --- a/app/src/main/java/com/chwl/app/avroom/ButtonItemFactory.java +++ b/app/src/main/java/com/chwl/app/avroom/ButtonItemFactory.java @@ -26,7 +26,6 @@ import com.chwl.core.initial.bean.InitInfo; import com.chwl.core.kick.KickModel; import com.chwl.core.manager.AvRoomDataManager; import com.chwl.core.manager.IMNetEaseManager; -import com.chwl.core.public_chat_hall.manager.PublicChatHallDataManager; import com.chwl.core.room.bean.RoomInfo; import com.chwl.core.room.model.AvRoomModel; import com.chwl.core.statistic.StatLogKey; diff --git a/app/src/main/java/com/chwl/app/ui/im/recent/RecentListFragment.java b/app/src/main/java/com/chwl/app/ui/im/recent/RecentListFragment.java index 2bb7585f9..64e908993 100644 --- a/app/src/main/java/com/chwl/app/ui/im/recent/RecentListFragment.java +++ b/app/src/main/java/com/chwl/app/ui/im/recent/RecentListFragment.java @@ -3,21 +3,15 @@ package com.chwl.app.ui.im.recent; import android.annotation.SuppressLint; import android.os.Bundle; import android.text.TextUtils; -import android.util.Log; -import android.view.View; -import android.widget.FrameLayout; import androidx.annotation.Nullable; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import com.google.gson.Gson; import com.netease.nim.uikit.business.recent.RecentContactsCallback; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.model.RecentContact; -import com.trello.rxlifecycle3.android.FragmentEvent; import com.chwl.app.R; import com.chwl.app.base.BaseFragment; import com.chwl.app.module_hall.im.NimHelper; @@ -30,8 +24,6 @@ import com.chwl.app.room_chat.activity.NimTeamRoomMessageActivity; import com.chwl.core.auth.AuthModel; import com.chwl.core.auth.event.LoginEvent; import com.chwl.core.im.RefreshInRoomListEvent; -import com.chwl.core.mentoring_relationship.bean.GrabApprenticesInfo; -import com.chwl.core.mentoring_relationship.model.MentoringRelationshipModel; import com.chwl.core.user.AttentionModel; import com.chwl.core.user.bean.AttentionInfo; import com.chwl.core.user.bean.AttentionItem; @@ -100,28 +92,6 @@ public class RecentListFragment extends BaseFragment { super.onStart(); } - @SuppressLint("CheckResult") - private void grabApprentice(GrabApprenticesInfo item) { - if (item == null) return; - List grabApprenticesInfoList = - MentoringRelationshipModel.get().getGrabApprenticesInfoList(); - if (grabApprenticesInfoList == null) return; - // 删除 item - grabApprenticesInfoList.remove(item); - // 点击抢徒弟按钮,打点 - MentoringRelationshipModel.get() - .grabApprentices(item.getUid()) - .compose(bindUntilEvent(FragmentEvent.DESTROY)) - .subscribe((s, throwable) -> { - if (throwable == null) { - NimP2PMessageActivity.start(getContext(), s); - // 抢徒弟成功,打点 - } else { - toast(throwable.getMessage()); - } - }); - } - @Override public void onSetListener() { } diff --git a/app/src/main/java/com/chwl/app/ui/webview/JSInterface.java b/app/src/main/java/com/chwl/app/ui/webview/JSInterface.java index 353df5f6e..e9c764091 100644 --- a/app/src/main/java/com/chwl/app/ui/webview/JSInterface.java +++ b/app/src/main/java/com/chwl/app/ui/webview/JSInterface.java @@ -38,7 +38,6 @@ import com.chwl.core.market_verify.MarketVerifyModel; import com.chwl.core.pay.PayModel; import com.chwl.core.pay.bean.WalletInfo; import com.chwl.core.praise.PraiseModel; -import com.chwl.core.public_chat_hall.manager.PublicChatHallDataManager; import com.chwl.core.room.bean.RoomInfo; import com.chwl.core.user.UserModel; import com.chwl.core.web.bean.WebJsBeanInfo; diff --git a/app/src/main/res/layout/fragment_recent_list.xml b/app/src/main/res/layout/fragment_recent_list.xml index ea1724df4..987cdd51b 100644 --- a/app/src/main/res/layout/fragment_recent_list.xml +++ b/app/src/main/res/layout/fragment_recent_list.xml @@ -6,17 +6,10 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - - - - - \ No newline at end of file diff --git a/core/src/main/java/com/chwl/core/gift/toolbox/GiftToolbox.java b/core/src/main/java/com/chwl/core/gift/toolbox/GiftToolbox.java index be2600b1f..06c563b02 100644 --- a/core/src/main/java/com/chwl/core/gift/toolbox/GiftToolbox.java +++ b/core/src/main/java/com/chwl/core/gift/toolbox/GiftToolbox.java @@ -28,8 +28,6 @@ import com.chwl.core.im.custom.bean.MultiLuckyGiftAttachment; import com.chwl.core.manager.AvRoomDataManager; import com.chwl.core.manager.IMNetEaseManager; import com.chwl.core.manager.RoomEvent; -import com.chwl.core.public_chat_hall.manager.PublicChatHallDataManager; -import com.chwl.core.public_chat_hall.model.PublicChatHallModel; import com.chwl.core.retry.ImRetryManager; import com.chwl.core.room.bean.RoomInfo; import com.chwl.core.user.UserModel; @@ -481,76 +479,4 @@ public class GiftToolbox { return IMNetEaseManager.get() .sendMessageSingle(imMessage); } - - /** - * 公聊大厅发送礼物消息 - * - * @param multiGiftReceiveInfo - */ - public static Single sendGiftPublicChatHallMessage(GiftMultiReceiverInfo multiGiftReceiveInfo) { - UserInfo myUserInfo = UserModel.get().getCacheLoginUserInfo(); - if (myUserInfo == null) return null; - GiftReceiveInfo giftReceiveInfo = new GiftReceiveInfo(); - GiftAttachment giftAttachment = new GiftAttachment(CustomAttachment.CUSTOM_MSG_PUBLIC_CHAT_HALL, - CustomAttachment.CUSTOM_MSG_SUB_PUBLIC_CHAT_HALL_GIFT); - giftAttachment.setUid(myUserInfo.getUid() + ""); - giftReceiveInfo.setUid(myUserInfo.getUid()); - giftReceiveInfo.setNick(myUserInfo.getNick()); - giftReceiveInfo.setAvatar(myUserInfo.getAvatar()); - List targetUsers = multiGiftReceiveInfo.getTargetUsers(); - if (!ListUtils.isListEmpty(targetUsers) && targetUsers.size() >= 1) { - giftReceiveInfo.setTargetUid(targetUsers.get(0).getUid()); - giftReceiveInfo.setTargetNick(targetUsers.get(0).getNick()); - giftReceiveInfo.setTargetAvatar(targetUsers.get(0).getAvatar()); - } - giftReceiveInfo.setGiftNum(multiGiftReceiveInfo.getGiftNum()); - giftAttachment.setGiftReceiveInfo(giftReceiveInfo); - giftReceiveInfo.setGift(multiGiftReceiveInfo.getGift()); - ChatRoomMessage imMessage = ChatRoomMessageBuilder.createChatRoomCustomMessage(PublicChatHallDataManager.get().getPublicChatHallId() + "", - giftAttachment); - return PublicChatHallModel.get().sendChatRoomMessage(imMessage, true); - } - - /** - * 群聊送礼消息 - */ - public static Single sendGiftTeamMessage(String sessionId, GiftMultiReceiverInfo multiGiftReceiveInfo) { - UserInfo myUserInfo = UserModel.get().getCacheLoginUserInfo(); - if (myUserInfo == null) return Single.error(new Throwable("current cached user is null")); - GiftInfo giftInfo = multiGiftReceiveInfo.getGift(); - int giftId = multiGiftReceiveInfo.getGiftId(); - giftId = giftId > 0 ? giftId : giftInfo != null ? giftInfo.getGiftId() : 0; - if (giftInfo == null) { - giftInfo = new GiftInfo(); - giftInfo.setGiftId(giftId); - giftInfo.setCount(multiGiftReceiveInfo.getGiftNum()); - } - Long targetUid = multiGiftReceiveInfo.getTargetUsers().get(0).getUid(); - String targetNick = multiGiftReceiveInfo.getTargetUsers().get(0).getNick(); - GiftAttachment giftAttachment = new GiftAttachment(CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT, - CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_GIFT); - giftAttachment.setUid(myUserInfo.getUid() + ""); - GiftReceiveInfo giftReceiveInfo = new GiftReceiveInfo(); - giftReceiveInfo.setNick(myUserInfo.getNick()); - giftReceiveInfo.setTargetUid(targetUid); - giftReceiveInfo.setTargetNick(targetNick); - giftReceiveInfo.setAvatar(myUserInfo.getAvatar()); - giftReceiveInfo.setGiftId(giftId); - giftReceiveInfo.setUid(myUserInfo.getUid()); - giftReceiveInfo.setGiftNum(multiGiftReceiveInfo.getGiftNum()); - giftReceiveInfo.setGift(multiGiftReceiveInfo.getGift()); - giftAttachment.setGiftReceiveInfo(giftReceiveInfo); - GiftInfo giftInfo1 = GiftModel.get().findGiftInfoById(giftReceiveInfo.getGiftId()); - if (giftInfo1 == null || TextUtils.isEmpty(giftInfo1.getGiftUrl())) { - giftInfo1 = giftReceiveInfo.getGift(); - } - giftReceiveInfo.setGift(giftInfo1); - giftAttachment.setGiftReceiveInfo(giftReceiveInfo); - CustomMessageConfig customMessageConfig = new CustomMessageConfig(); - customMessageConfig.enablePush = false; - IMMessage imMessage = MessageBuilder.createCustomMessage(sessionId, - SessionTypeEnum.Team, "", giftAttachment, customMessageConfig); - return IMNetEaseManager.get() - .sendMessageSingle(imMessage); - } } diff --git a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/bean/PublicChatHallMessage.java b/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/bean/PublicChatHallMessage.java deleted file mode 100644 index 3cca8ad37..000000000 --- a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/bean/PublicChatHallMessage.java +++ /dev/null @@ -1,286 +0,0 @@ -package com.chwl.core.public_chat_hall.bean; - -import java.util.List; - -//@Data -public class PublicChatHallMessage { - - public static final String TYPE_MSG_TEXT = "TEXT"; - public static final String TYPE_MSG_CUSTOM = "CUSTOM"; - - /** - * eventType : 4 - * attach : {"first":28,"data":{"first":0,"atUids":["900114"],"atNames":[ResUtil.getString(R.string.public_chat_hall_bean_publicchathallmessage_01)],"second":0,"content":ResUtil.getString(R.string.public_chat_hall_bean_publicchathallmessage_02)},"second":282} - * ext : {"900111":{"charmLevelSeq":16,"experUrl":"https:\/\/img.erbanyy.com\/new_ul_14.png","erbanNo":"3237053","charmUrl":"https:\/\/img.erbanyy.com\/new_ml_16.png","hasPrettyErbanNo":false,"experLevelSeq":14,"defUser":1}} - * fromAccount : 900111 - * fromAvator : https://image.zhongjialx.com/Fms5Po_CANCiQowH9yu6D7WPDeC1?imageslim - * fromClientType : IOS - * fromExt : {"900111":{"charmLevelSeq":16,"experUrl":"https:\/\/img.erbanyy.com\/new_ul_14.png","erbanNo":"3237053","charmUrl":"https:\/\/img.erbanyy.com\/new_ml_16.png","hasPrettyErbanNo":false,"experLevelSeq":14,"defUser":1}} - * fromNick : smile - * msgTimestamp : 1542941627270 - * msgType : CUSTOM - * msgidClient : 31f329c4-9521-4407-af5f-ae35901ec5d8 - * resendFlag : 0 - * roleInfoTimetag : 1542941426110 - * roomId : 57147316 - * customMsgType : 4 - * toAccounts : [{"uid":900114}] - */ - - /** - * 值为4,表示是聊天室消息 - */ - private String eventType; - - /** - * 消息内容,若msgType为CUSTOM自定义消息,该字段为JSON格式;否则该字段为普通字符串类型 - */ - private String attach; - - /** - * 第三方扩展字段, 格式不限,长度限制4096,字符串类型 - */ - private String ext; - - /** - * 消息发送者的账号,字符串类型 - */ - private long fromAccount; - - /** - * 发送者的头像,字符串类型 - */ - private String fromAvator; - - /** - * 客户端类型: AOS、IOS、PC、WINPHONE、WEB、REST,字符串类型 - */ - private String fromClientType; - - /** - * 发送者身份的扩展字段,开发者可以自定义,字符串类型 - */ - private String fromExt; - - /** - * 发送方昵称,字符串类型 - */ - private String fromNick; - - /** - * 消息发送的时间戳 - */ - private long msgTimestamp; - - /** - * 消息类型: - * TEXT、 - * PICTURE、 - * AUDIO、 - * VIDEO、 - * LOCATION 、 - * NOTIFICATION、 - * FILE、 //文件消息 - * NETCALL_AUDIO、 //网络电话音频聊天 - * NETCALL_VEDIO、 //网络电话视频聊天 - * DATATUNNEL_NEW、 //新的数据通道请求通知 - * TIPS、 //提示类型消息 - * CUSTOM //自定义消息 - */ - private String msgType; - - /** - * 客户端生成的消息id - */ - private String msgidClient; - - /** - * 重发标记:0不是重发, 1是重发 - */ - private int resendFlag; - - /** - * 消息发送者用户名片的最后更新时间,可转为Long型数据 - */ - private long roleInfoTimetag; - - /** - * 消息所属的聊天室id,可转为Long型数据 - */ - private int roomId; - private int customMsgType; - private List toAccounts; - - public String getEventType() { - return eventType; - } - - public void setEventType(String eventType) { - this.eventType = eventType; - } - - public String getAttach() { - return attach; - } - - public void setAttach(String attach) { - this.attach = attach; - } - - public String getExt() { - return ext; - } - - public void setExt(String ext) { - this.ext = ext; - } - - public long getFromAccount() { - return fromAccount; - } - - public void setFromAccount(long fromAccount) { - this.fromAccount = fromAccount; - } - - public String getFromAvator() { - return fromAvator; - } - - public void setFromAvator(String fromAvator) { - this.fromAvator = fromAvator; - } - - public String getFromClientType() { - return fromClientType; - } - - public void setFromClientType(String fromClientType) { - this.fromClientType = fromClientType; - } - - public String getFromExt() { - return fromExt; - } - - public void setFromExt(String fromExt) { - this.fromExt = fromExt; - } - - public String getFromNick() { - return fromNick; - } - - public void setFromNick(String fromNick) { - this.fromNick = fromNick; - } - - public long getMsgTimestamp() { - return msgTimestamp; - } - - public void setMsgTimestamp(long msgTimestamp) { - this.msgTimestamp = msgTimestamp; - } - - public String getMsgType() { - return msgType; - } - - public void setMsgType(String msgType) { - this.msgType = msgType; - } - - public String getMsgidClient() { - return msgidClient; - } - - public void setMsgidClient(String msgidClient) { - this.msgidClient = msgidClient; - } - - public int getResendFlag() { - return resendFlag; - } - - public void setResendFlag(int resendFlag) { - this.resendFlag = resendFlag; - } - - public long getRoleInfoTimetag() { - return roleInfoTimetag; - } - - public void setRoleInfoTimetag(long roleInfoTimetag) { - this.roleInfoTimetag = roleInfoTimetag; - } - - public int getRoomId() { - return roomId; - } - - public void setRoomId(int roomId) { - this.roomId = roomId; - } - - public int getCustomMsgType() { - return customMsgType; - } - - public void setCustomMsgType(int customMsgType) { - this.customMsgType = customMsgType; - } - - public List getToAccounts() { - return toAccounts; - } - - public void setToAccounts(List toAccounts) { - this.toAccounts = toAccounts; - } - - public static class ToAccountsBean { - /** - * uid : 900114 - */ - - private int uid; - - public int getUid() { - return uid; - } - - public void setUid(int uid) { - this.uid = uid; - } - - @Override - public String toString() { - return "ToAccountsBean{" + - "uid=" + uid + - '}'; - } - } - - @Override - public String toString() { - return "PublicChatHallMessage{" + - "eventType='" + eventType + '\'' + - ", attach=" + attach + - ", ext='" + ext + '\'' + - ", fromAccount=" + fromAccount + - ", fromAvator='" + fromAvator + '\'' + - ", fromClientType='" + fromClientType + '\'' + - ", fromExt='" + fromExt + '\'' + - ", fromNick='" + fromNick + '\'' + - ", msgTimestamp=" + msgTimestamp + - ", msgType='" + msgType + '\'' + - ", msgidClient='" + msgidClient + '\'' + - ", resendFlag=" + resendFlag + - ", roleInfoTimetag=" + roleInfoTimetag + - ", roomId=" + roomId + - ", customMsgType=" + customMsgType + - ", toAccounts=" + toAccounts + - '}'; - } -} diff --git a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/manager/PublicChatHallDataManager.java b/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/manager/PublicChatHallDataManager.java index 45ebc51fc..4a814fb4d 100644 --- a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/manager/PublicChatHallDataManager.java +++ b/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/manager/PublicChatHallDataManager.java @@ -38,7 +38,6 @@ import com.chwl.core.public_chat_hall.event.PublicChatHallHistoryEvent; import com.chwl.core.public_chat_hall.event.PublicChatHallMsgCountingDownEvent; import com.chwl.core.public_chat_hall.event.PublicChatHallMsgIncomingEvent; import com.chwl.core.public_chat_hall.event.PublicChatHallPlayGiftAnimationEvent; -import com.chwl.core.public_chat_hall.model.PublicChatHallModel; import com.chwl.library.utils.ListUtils; import com.chwl.library.utils.ResUtil; @@ -133,9 +132,6 @@ public class PublicChatHallDataManager { if (attachment == null) continue; if (attachment.getType() == ChatRoomMemberTempMuteAdd) { List targets = ((ChatRoomNotificationAttachment) attachment).getTargets(); - if (targets.contains(AuthModel.get().getCurrentUid() + "")) { - PublicChatHallModel.get().getOwnerInfo().subscribe(); - } } } else if (msg.getMsgType() == MsgTypeEnum.custom) { MsgAttachment attachment = msg.getAttachment(); diff --git a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/IPublicChatHallModel.java b/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/IPublicChatHallModel.java deleted file mode 100644 index ab05dd0b7..000000000 --- a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/IPublicChatHallModel.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.chwl.core.public_chat_hall.model; - -import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomResultData; -import com.chwl.core.base.IModel; -import com.chwl.core.bean.response.ServiceResult; -import com.chwl.core.public_chat_hall.bean.PublicChatHallMessage; - -import java.util.List; - -import io.reactivex.Observable; -import io.reactivex.Single; - -public interface IPublicChatHallModel extends IModel { - - /** - * 进入云信聊天室(公聊大厅版本) - * @param roomId - * @param retryCount - * @return - */ - Observable enterRoom(final long roomId, final int retryCount); - - /** - * 获取艾特我的历史消息 - * @param page 页码 - */ - Single>> getAitMeHistoryMessage(int page); - - /** - * 获取我发出的历史消息 - * @param page 页码 - */ - Single>> getSentHistoryMessage(int page); - - /** - * 禁言 - */ - Single userMute(long roomId, - long targetUid, - long muteTime, - String reason); -} diff --git a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/PublicChatHallModel.java b/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/PublicChatHallModel.java deleted file mode 100644 index 2b9e785ba..000000000 --- a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/model/PublicChatHallModel.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.chwl.core.public_chat_hall.model; - -import android.annotation.SuppressLint; - -import androidx.annotation.Nullable; - -import com.netease.nimlib.sdk.AbortableFuture; -import com.netease.nimlib.sdk.NIMChatRoomSDK; -import com.netease.nimlib.sdk.RequestCallback; -import com.netease.nimlib.sdk.ResponseCode; -import com.netease.nimlib.sdk.chatroom.model.ChatRoomMember; -import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage; -import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomData; -import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomResultData; -import com.chwl.core.R; -import com.chwl.core.Constants; -import com.chwl.core.auth.AuthModel; -import com.chwl.core.base.BaseModel; -import com.chwl.core.bean.response.ServiceResult; -import com.chwl.core.decoration.car.bean.CarInfo; -import com.chwl.core.decoration.headwear.bean.HeadWearInfo; -import com.chwl.core.initial.InitialModel; -import com.chwl.core.level.UserLevelVo; -import com.chwl.core.noble.bean.NobleInfo; -import com.chwl.core.public_chat_hall.bean.PublicChatHallMessage; -import com.chwl.core.public_chat_hall.manager.PublicChatHallDataManager; -import com.chwl.core.user.UserModel; -import com.chwl.core.user.bean.UserInfo; -import com.chwl.core.user.event.LoadLoginUserInfoEvent; -import com.chwl.core.utils.net.RxHelper; -import com.chwl.library.net.rxnet.RxNet; -import com.chwl.library.utils.ListUtils; -import com.chwl.library.utils.ResUtil; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -import io.reactivex.Observable; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.Single; -import io.reactivex.SingleOnSubscribe; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.schedulers.Schedulers; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.GET; -import retrofit2.http.POST; -import retrofit2.http.Query; - -public class PublicChatHallModel extends BaseModel implements IPublicChatHallModel { - /** - * 艾特我的消息查询类型 - */ - private static final int QUERY_TYPE_AIT_ME = 1; - - /** - * 我发出的消息查询类型 - */ - private static final int QUERY_TYPE_SENT_BY_ME = 2; - - private Api api; - - private PublicChatHallModel() { - api = RxNet.create(Api.class); - EventBus.getDefault().register(this); - } - - public static PublicChatHallModel get() { - return PublicChatHallModelHolder.instance; - } - - public static class PublicChatHallModelHolder { - public static final PublicChatHallModel instance = new PublicChatHallModel(); - } - - @SuppressLint("CheckResult") - @Subscribe(threadMode = ThreadMode.MAIN) - public void loadLoginUserInfo(LoadLoginUserInfoEvent event) { - // 登录成功后自动进入公聊大厅 - PublicChatHallModel.get() - .enterRoom(PublicChatHallDataManager.get().getPublicChatHallId(), 3) - .subscribe(enterChatRoomResultData -> { - if (enterChatRoomResultData.getResCode() == ResponseCode.RES_SUCCESS) { - PublicChatHallDataManager.get().loadHistory(); - } - getOwnerInfo().subscribe(); - }, Throwable::printStackTrace); - } - - //获取自己信息 - public Single getOwnerInfo() { - return Single.create(e -> { - ArrayList objects = new ArrayList<>(); - objects.add(AuthModel.get().getCurrentUid() + ""); - NIMChatRoomSDK.getChatRoomService().fetchRoomMembersByIds(String.valueOf(PublicChatHallDataManager.get().getPublicChatHallId()), - objects) - .setCallback(new RequestCallback>() { - @Override - public void onSuccess(List param) { - if (!ListUtils.isListEmpty(param)) { - for (ChatRoomMember chatRoomMember : param) { - if (Objects.equals(chatRoomMember.getAccount(), String.valueOf(AuthModel.get().getCurrentUid()))) { - //自己 - PublicChatHallDataManager.get().mOwnerMember = chatRoomMember; - } - } - } - e.onSuccess(ResUtil.getString(R.string.public_chat_hall_model_publicchathallmodel_01)); - } - - @Override - public void onFailed(int code) { - e.onError(new Throwable(ResUtil.getString(R.string.public_chat_hall_model_publicchathallmodel_02) + code)); - } - - @Override - public void onException(Throwable exception) { - e.onError(new Throwable(ResUtil.getString(R.string.public_chat_hall_model_publicchathallmodel_03) + exception.toString())); - - } - }); - }); - - } - - /** - * 进入云信聊天室(公聊大厅) - * - * @param roomId - * @param retryCount 重试次数 - * @return - */ - @Override - public Observable enterRoom(final long roomId, final int retryCount) { - return Observable.create((ObservableOnSubscribe) e -> { - long tempRoomId = roomId; - if (tempRoomId == 0) { - tempRoomId = InitialModel.get().getCacheInitInfo().getPublicChatRoomId(); - } - if (tempRoomId == 0) { - e.onError(new Throwable("error:roomId == 0")); - return; - } - EnterChatRoomData enterChatRoomData = new EnterChatRoomData(String.valueOf(tempRoomId)); - UserInfo userInfo = UserModel.get().getCurrentUserInfo().blockingGet(); - Map map = null; - if (userInfo == null) { - e.onError(new Throwable("userInfo is null")); - } else { - map = getUserExtension(userInfo); - } - if (map == null) return; - if (map.size() > 0) - enterChatRoomData.setExtension(map); - - AbortableFuture enterChatRoomEx = - NIMChatRoomSDK.getChatRoomService().enterChatRoomEx(enterChatRoomData, retryCount); - enterChatRoomEx.setCallback(new RequestCallback() { - - @Override - public void onSuccess(EnterChatRoomResultData param) { - e.onNext(param); - e.onComplete(); - } - - @Override - public void onFailed(int code) { - e.onError(new Throwable(String.valueOf(code))); - } - - @Override - public void onException(Throwable exception) { - e.onError(exception); - } - }); - }).subscribeOn(Schedulers.computation()) - .observeOn(AndroidSchedulers.mainThread()) - .unsubscribeOn(Schedulers.computation()); - } - - @Nullable - private Map getUserExtension(UserInfo userInfo) { - NobleInfo nobleInfo = userInfo.getNobleInfo(); - HeadWearInfo headWearInfo = userInfo.getUserHeadwear(); - UserLevelVo userLevelVo = userInfo.getUserLevelVo(); - CarInfo carInfo = userInfo.getCarInfo(); - Map map = new HashMap<>(1); - Map valueMap = null; - valueMap = userInfo.toMap(valueMap, userInfo); - if (userLevelVo != null) { - valueMap = userLevelVo.toMapForPublicChatHall((nobleInfo != null && nobleInfo.getLevel() > 0) ? nobleInfo.toMap(valueMap) : valueMap); - } - if (carInfo != null) { - valueMap = carInfo.toMap(valueMap, carInfo); - } - //多个判断,头饰不过期才传pic - if (headWearInfo != null && headWearInfo.getStatus() == HeadWearInfo.STATUS_IN_USED) { - valueMap = headWearInfo.toMap(valueMap); - } - if (valueMap != null && valueMap.size() > 0) { - map.put(String.valueOf(AuthModel.get().getCurrentUid()), valueMap); - } - return map; - } - - /** - *

发送 云信聊天室信息

- *

返回的是一个观察者,需要subscribe才会开始发送信息

- *

不关心信息发送是否成功的,可以直接调用无参subscribe()方法, - * 相反关心的则需要在subscribe(new Consumer(..){...})方法中通过Consumer来消耗事件

- *

ps: 无参subscribe()方法调用如果发生错误,会在rxjava的error handler中得到回调,默认的实现在application的onCreate中

- * - * @param chatRoomMessage 自定义的聊天室信息 - * @param resend 是否自动重发 - * @return 返回一个可被observer观察订阅的observable - */ - public Single sendChatRoomMessage(final ChatRoomMessage chatRoomMessage, final boolean resend) { - if (chatRoomMessage == null) { - throw new IllegalArgumentException("ChatRoomMessage can't be null!"); - } - return Single.create((SingleOnSubscribe) e -> { - long currentUid = AuthModel.get().getCurrentUid(); - UserInfo userInfo = UserModel.get().getUserInfo(currentUid).blockingGet(); - Map map = null; - if (userInfo == null) { - e.onError(new Throwable("userInfo is null")); - } else { - map = getUserExtension(userInfo); - } - chatRoomMessage.setLocalExtension(map); - chatRoomMessage.setRemoteExtension(map); - NIMChatRoomSDK.getChatRoomService().sendMessage( - chatRoomMessage, - resend - ) - .setCallback(new RequestCallback() { - @Override - public void onSuccess(Void param) { - e.onSuccess(chatRoomMessage); - } - - @Override - public void onFailed(int code) { - e.onError(new Exception(String.valueOf(code))); - } - - @Override - public void onException(Throwable exception) { - e.onError(exception); - } - }); - }).subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - @Override - public Single>> getAitMeHistoryMessage(int page) { - return api.getMyHistoryMessage(String.valueOf(AuthModel.get().getCurrentUid()), - QUERY_TYPE_AIT_ME, page, Constants.PAGE_SIZE) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - @Override - public Single>> getSentHistoryMessage(int page) { - return api.getMyHistoryMessage(String.valueOf(AuthModel.get().getCurrentUid()), - QUERY_TYPE_SENT_BY_ME, page, Constants.PAGE_SIZE) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - @Override - public Single userMute(long roomId, long targetUid, long muteTime, String reason) { - return api.userMute(roomId, targetUid, muteTime, reason) - .compose(RxHelper.singleMainResult(true)); - } - - interface Api { - - /** - * 获取用户在公聊大厅里的消息 - * - * @param uid 用户 ID - * @param type 查询类型(1:@我的,2:我发出的) - * @param page 页码 - * @param pageSize 分页大小 - * @return - */ - @GET("/public/chatroom/getMsg") - Single>> getMyHistoryMessage(@Query("uid") String uid, - @Query("type") int type, - @Query("page") int page, - @Query("pageSize") int pageSize); - - @FormUrlEncoded - @POST("/userMute/record/add") - Single> userMute(@Field("roomId") long roomId, - @Field("targetUid") long targetUid, - @Field("muteTime") long muteTime, - @Field("reason") String reason); - } -} diff --git a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/util/PublicChatHallMessageConvertor.java b/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/util/PublicChatHallMessageConvertor.java deleted file mode 100644 index 619833eec..000000000 --- a/core/src/model_public_chat_hall/java/com/chwl/core/public_chat_hall/util/PublicChatHallMessageConvertor.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.chwl.core.public_chat_hall.util; - -public class PublicChatHallMessageConvertor { - -// public static ChatRoomMessage getChatRoomMessage(PublicChatHallMessage message) { -// switch (message.getMsgType()) { -// ChatRoomMessageBuilder. -// } -// } -}