From 852e5a017bd93db16efbc9ecffbcdf76f08dae57 Mon Sep 17 00:00:00 2001 From: oujunhui <313127320@qq.com> Date: Thu, 13 Aug 2020 18:08:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E5=8A=A8=E5=8F=91=E8=B5=B7=E7=A7=81?= =?UTF-8?q?=E8=81=8A=E9=99=90=E5=88=B6=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../team/view/NimTeamMessageActivity.java | 2 + .../ui/im/avtivity/NimP2PMessageActivity.java | 2 + .../erban/ui/im/fragment/MessageFragment.java | 15 ++++++- .../activity/HallTeamMessageActivity.java | 2 + .../activity/MWTeamRoomMessageAct.java | 5 ++- .../MiniWorldTeamMessageActivity.java | 5 ++- .../NimHallTeamRoomMessageActivity.java | 2 + .../activity/NimRoomP2PMessageActivity.java | 2 + .../activity/NimTeamRoomMessageActivity.java | 2 + .../initial/bean/InitInfo.java | 2 + .../user/bean/UserInfo.java | 4 ++ .../session/fragment/MessageFragment.java | 15 ++++++- .../session/module/input/InputPanel.java | 39 ++++++++++++------- 13 files changed, 77 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/team/view/NimTeamMessageActivity.java b/app/src/main/java/com/yizhuan/erban/team/view/NimTeamMessageActivity.java index 669bfdf0c..74ad1652d 100644 --- a/app/src/main/java/com/yizhuan/erban/team/view/NimTeamMessageActivity.java +++ b/app/src/main/java/com/yizhuan/erban/team/view/NimTeamMessageActivity.java @@ -395,10 +395,12 @@ public class NimTeamMessageActivity extends BaseMessageActivity { if (userLevelVo != null) { fragment.setCurrentLevel(userLevelVo.experLevelSeq); } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) { fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); + fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay()); } return fragment; } diff --git a/app/src/main/java/com/yizhuan/erban/ui/im/avtivity/NimP2PMessageActivity.java b/app/src/main/java/com/yizhuan/erban/ui/im/avtivity/NimP2PMessageActivity.java index 8c0bc6e47..5f8619b5f 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/im/avtivity/NimP2PMessageActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/im/avtivity/NimP2PMessageActivity.java @@ -431,10 +431,12 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity { if (userLevelVo != null) { fragment.setCurrentLevel(userLevelVo.experLevelSeq); } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) { fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); + fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay()); } } return fragment; diff --git a/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java b/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java index 939e95a65..27e445105 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java +++ b/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java @@ -8,6 +8,7 @@ import android.os.Bundle; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.text.TextUtils; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -131,6 +132,9 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi private int limitLevel; private int currentLevel; + private int limitRegisterDay; + private int currentRegisterDay; + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); @@ -334,7 +338,7 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi if (inputPanel == null) { inputPanel = new InputPanel(container, rootView, getActionList()); inputPanel.setCustomization(customization); - inputPanel.setLimitLevel(limitLevel, currentLevel); + inputPanel.setLimitLevel(limitLevel, currentLevel,limitRegisterDay,currentRegisterDay); } else { inputPanel.reload(container, customization); } @@ -729,7 +733,16 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi this.limitLevel = limitLevel; } + public void setCurrentLevel(int currentLevel) { this.currentLevel = currentLevel; } + + public void setLimitRegisterDay(int limitRegisterDay) { + this.limitRegisterDay = limitRegisterDay; + } + + public void setCurrentRegisterDay(int currentRegisterDay){ + this.currentRegisterDay = currentRegisterDay; + } } diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/team/activity/HallTeamMessageActivity.java b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/team/activity/HallTeamMessageActivity.java index 760588dcf..d0c3f7ae7 100644 --- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/team/activity/HallTeamMessageActivity.java +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/team/activity/HallTeamMessageActivity.java @@ -340,10 +340,12 @@ public class HallTeamMessageActivity extends BaseMessageActivity { if (userLevelVo != null) { fragment.setCurrentLevel(userLevelVo.experLevelSeq); } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) { fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); + fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay()); } return fragment; diff --git a/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MWTeamRoomMessageAct.java b/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MWTeamRoomMessageAct.java index dbd5c6d51..985838192 100644 --- a/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MWTeamRoomMessageAct.java +++ b/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MWTeamRoomMessageAct.java @@ -531,9 +531,10 @@ public class MWTeamRoomMessageAct extends BaseMessageActivity implements IMWTeam UserInfo userInfo = UserModel.get().getCacheLoginUserInfo(); if (userInfo != null) { UserLevelVo userLevelVo = userInfo.getUserLevelVo(); - if (userLevelVo != null) + if (userLevelVo != null){ fragment.setCurrentLevel(userLevelVo.experLevelSeq); - + } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) diff --git a/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MiniWorldTeamMessageActivity.java b/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MiniWorldTeamMessageActivity.java index da9e559f1..ea896751c 100644 --- a/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MiniWorldTeamMessageActivity.java +++ b/app/src/module_mini_world/java/com/yizhuan/erban/miniworld/activity/MiniWorldTeamMessageActivity.java @@ -580,9 +580,10 @@ public class MiniWorldTeamMessageActivity extends BaseMessageActivity implements UserInfo userInfo = UserModel.get().getCacheLoginUserInfo(); if (userInfo != null) { UserLevelVo userLevelVo = userInfo.getUserLevelVo(); - if (userLevelVo != null) + if (userLevelVo != null){ fragment.setCurrentLevel(userLevelVo.experLevelSeq); - + } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimHallTeamRoomMessageActivity.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimHallTeamRoomMessageActivity.java index 2242194fc..0f2881643 100644 --- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimHallTeamRoomMessageActivity.java +++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimHallTeamRoomMessageActivity.java @@ -328,10 +328,12 @@ public class NimHallTeamRoomMessageActivity extends BaseMessageActivity { if (userLevelVo != null) { fragment.setCurrentLevel(userLevelVo.experLevelSeq); } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) { fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); + fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay()); } return fragment; diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimRoomP2PMessageActivity.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimRoomP2PMessageActivity.java index a684aa98b..26bc12cba 100644 --- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimRoomP2PMessageActivity.java +++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimRoomP2PMessageActivity.java @@ -284,10 +284,12 @@ public class NimRoomP2PMessageActivity extends NewBaseMessageActivity { if (userLevelVo != null) { fragment.setCurrentLevel(userLevelVo.experLevelSeq); } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) { fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); + fragment.setLimitLevel(initInfo.getPrivateChatRegisterDay()); } } return fragment; diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimTeamRoomMessageActivity.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimTeamRoomMessageActivity.java index 0b67ca25e..0f117eb29 100644 --- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimTeamRoomMessageActivity.java +++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/NimTeamRoomMessageActivity.java @@ -386,10 +386,12 @@ public class NimTeamRoomMessageActivity extends BaseMessageActivity { if (userLevelVo != null) { fragment.setCurrentLevel(userLevelVo.experLevelSeq); } + fragment.setCurrentRegisterDay(userInfo.getRegisterDay()); } InitInfo initInfo = InitialModel.get().getCacheInitInfo(); if (initInfo != null) { fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); + fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay()); } return fragment; } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java index 7e96915fc..568a08a8b 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java @@ -44,6 +44,8 @@ public class InitInfo implements Serializable { private int publicChatRoomLevelNo; // 私聊等级限制 private int privateChatLevelNo; + // 私聊注册天数限制 + private int privateChatRegisterDay; /** * 宝箱开关 */ diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java index ba5cc3f5b..86c33b3d6 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java @@ -72,6 +72,10 @@ public class UserInfo implements Serializable { //个人相册 private List privatePhoto; private ArrayList joinWorlds; + + @Getter + @Setter + private int registerDay; /** * 是否是靓号,1:靓号 */ diff --git a/nim_uikit/src/com/netease/nim/uikit/business/session/fragment/MessageFragment.java b/nim_uikit/src/com/netease/nim/uikit/business/session/fragment/MessageFragment.java index aa5d208e1..3c8b65412 100644 --- a/nim_uikit/src/com/netease/nim/uikit/business/session/fragment/MessageFragment.java +++ b/nim_uikit/src/com/netease/nim/uikit/business/session/fragment/MessageFragment.java @@ -161,7 +161,7 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi boolean isTextAudioSwitchShow = getArguments().getBoolean("isTextAudioSwitchShow", true); inputPanel = new InputPanel(container, rootView, getActionList(), isTextAudioSwitchShow); inputPanel.setCustomization(customization); - inputPanel.setLimitLevel(limitLevel, currentLevel); + inputPanel.setLimitLevel(limitLevel, currentLevel,limitRegisterDay,currentRegisterDay); if (moreCustomDrawable > 0 && moreCustomId > 0) // 自定义更多按钮只响应哪个功能 inputPanel.setMoreFuntionButtonInInputBar(moreCustomDrawable, moreCustomId); @@ -465,17 +465,28 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi private int limitLevel; + public void setLimitLevel(int limitLevel) { Log.i("setLimitLevel", "" + limitLevel); this.limitLevel = limitLevel; } private int currentLevel; - public void setCurrentLevel(int currentLevel) { this.currentLevel = currentLevel; } + private int limitRegisterDay; + public void setLimitRegisterDay(int limitRegisterDay) { + Log.i("setLimitRegisterDay", "" + limitRegisterDay); + this.limitRegisterDay = limitRegisterDay; + } + + private int currentRegisterDay; + public void setCurrentRegisterDay(int currentRegisterDay) { + this.currentRegisterDay = currentRegisterDay; + } + boolean canAudioPartyOpen = true; public void setmAudioPartyOpenVisible(boolean visible) { diff --git a/nim_uikit/src/com/netease/nim/uikit/business/session/module/input/InputPanel.java b/nim_uikit/src/com/netease/nim/uikit/business/session/module/input/InputPanel.java index 3bbe61a55..1b4f25938 100644 --- a/nim_uikit/src/com/netease/nim/uikit/business/session/module/input/InputPanel.java +++ b/nim_uikit/src/com/netease/nim/uikit/business/session/module/input/InputPanel.java @@ -123,6 +123,8 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba private int limitLevel; private int currentLevel; + private int limitRegisterDay; + private int currentRegisterDay; public InputPanel(Container container, View view, List actions, boolean isTextAudioSwitchShow) { this.container = container; @@ -417,9 +419,20 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba private void onTextMessageSendButtonPressed() { String text = messageEditText.getText().toString(); if (TextUtils.isEmpty(text.trim())) return; + if (limitLevel <= 1 && currentRegisterDay < limitRegisterDay) { + SingleToastUtil.showToastShort("注册时间满"+limitRegisterDay+"天才能发起聊天"); + return; + } + if (currentLevel < limitLevel && limitRegisterDay < 1){ + SingleToastUtil.showToastShort("等级满" + limitLevel + "才能发起聊天"); + return; + } + if (currentRegisterDay < limitRegisterDay || currentLevel < limitLevel){ + SingleToastUtil.showToastShort("注册时间满" + limitRegisterDay + "天或等级满" + limitLevel + "才能发起聊天"); + return; + } EventBus.getDefault().post(new ActiveEvent()); - IMMessage textMessage = createTextMessage(text); if (AntiSpamUtil.checkLocalAntiSpam(textMessage)) { EventBus.getDefault().post(new AntiSpamEvent()); @@ -962,30 +975,30 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba container.proxy.sendMessage(customMessage); } - public void setLimitLevel(int limitLevel, int currentLevel) { + public void setLimitLevel(int limitLevel, int currentLevel,int limitRegisterDay,int currentRegisterDay) { this.limitLevel = limitLevel; this.currentLevel = currentLevel; - + this.limitRegisterDay = limitRegisterDay; + this.currentRegisterDay = currentRegisterDay; setEditTextState(); } private void setEditTextState() { - if (currentLevel < limitLevel) { - messageEditText.setHint("用户等级不足" + limitLevel + "级, 不可以发言哦"); - messageEditText.setFocusable(false); - messageEditText.setFocusableInTouchMode(false); - messageEditText.setEnabled(false); - moreFuntionButtonInInputBar.setEnabled(false); - sendMessageButtonInInputBar.setEnabled(false); - } else { +// if (currentLevel < limitLevel) { +// messageEditText.setHint("用户等级不足" + limitLevel + "级, 不可以发言哦"); +// messageEditText.setFocusable(false); +// messageEditText.setFocusableInTouchMode(false); +// messageEditText.setEnabled(false); +// moreFuntionButtonInInputBar.setEnabled(false); +// sendMessageButtonInInputBar.setEnabled(false); +// } else { messageEditText.setHint("请输入消息"); messageEditText.setFocusable(true); messageEditText.setFocusableInTouchMode(true); messageEditText.setEnabled(true); moreFuntionButtonInInputBar.setEnabled(true); sendMessageButtonInInputBar.setEnabled(true); - } - +// } } }