From 3312b7993c74a463bae76499da448a50d104c1fd Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 21 Aug 2019 15:55:47 +0800 Subject: [PATCH] =?UTF-8?q?37=E6=95=8F=E6=84=9F=E5=AD=97=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/chat/logic/ChatLogic.java | 15 ++++++++++++++- .../com/ljsd/jieling/handler/map/MapLogic.java | 3 ++- .../com/ljsd/jieling/logic/family/GuildLogic.java | 9 +++------ .../ljsd/jieling/logic/player/PlayerLogic.java | 3 ++- .../com/ljsd/jieling/util/ShieldedWordUtils.java | 14 +++++++------- 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java index 213eac909..48dbad21b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java @@ -92,7 +92,20 @@ public class ChatLogic { int uid = iSession.getUid(); User user = UserManager.getUser(uid); FriendManager friendManager = user.getFriendManager(); - boolean result = ShieldedWordUtils.checkName(user,message,false); + boolean result = true; + switch (chatType){ + case 1: + result = ShieldedWordUtils.checkName(user,message,false,ChatContentType.WORLD_CHAT); + break; + case 2: + result= ShieldedWordUtils.checkName(user,message,false,ChatContentType.FAMILY); + break; + case 3: + result = ShieldedWordUtils.checkName(user,message,false,ChatContentType.PRIVATE_CHAT); + break; + default: + break; + } if (!result) { MessageUtil.sendErrorResponse(iSession, 0, msgId, "包含敏感字"); return ; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 88c4213b7..98de89e92 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.handler.map; import com.googlecode.protobuf.format.JsonFormat; import com.ljsd.jieling.config.*; import com.ljsd.jieling.core.VipPrivilegeType; +import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; @@ -3090,7 +3091,7 @@ public class MapLogic { User user = UserManager.getUser(session.getUid()); MapManager mapManager = user.getMapManager(); if (type == 1) { - boolean result = ShieldedWordUtils.checkName(content, false); + boolean result = ShieldedWordUtils.checkName(user,content, false, ChatContentType.OTHER); String error; if (!result) { error = "输入有敏感字符"; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 10b792c0c..f118b5e9f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -115,12 +115,9 @@ public class GuildLogic { if(StringUtil.isEmpty(familyName)){ return "名字不能为空"; } - boolean result = ShieldedWordUtils.checkName(familyName,false); - if (!result) { - return "包含敏感字"; - } + boolean result = true; if(!StringUtil.isEmpty(announce)){ - result = ShieldedWordUtils.checkName(announce,false); + result = ShieldedWordUtils.checkName(user,announce,false,ChatContentType.FAMILY_NAME); if (!result) { return "包含敏感字"; } @@ -559,7 +556,7 @@ public class GuildLogic { MessageUtil.sendErrorResponse(session, 0, msgId, "包含敏感字"); return; } - boolean result = ShieldedWordUtils.checkName(content,false); + boolean result = ShieldedWordUtils.checkName(user,content,false,ChatContentType.ANNOUNCE); int resultCode = 1; String err = "修改成功"; if (!result) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index c33892978..e23f15f93 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -150,7 +150,8 @@ public class PlayerLogic { MessageUtil.sendErrorResponse(iSession, Global.RENAME_SIZE_ERROR, msgId, "名字长度不符!"); return true; } - boolean result = ShieldedWordUtils.checkName( name,true); + ; + boolean result = ShieldedWordUtils.checkName(UserManager.getUser(iSession.getUid()),name,true,ChatContentType.ROLE_NAME); if (!result) { MessageUtil.sendErrorResponse(iSession, Global.RENAME_DIRTY, msgId, "名字不合法"); return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ShieldedWordUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ShieldedWordUtils.java index fd59d553d..1a4de1274 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ShieldedWordUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ShieldedWordUtils.java @@ -9,7 +9,13 @@ import java.util.regex.Pattern; public class ShieldedWordUtils { - public static boolean checkName(String name,boolean validateSpecStr){ +// public static boolean checkName(String name,boolean validateSpecStr){ +// +// } + public static boolean checkName(User user , String name,boolean validateSpecStr,ChatContentType chatContentType){ + if(!Repot37EventUtil.Report37Chat(user, ChatContentType.WORLD_CHAT.getType(),name)){ + return false; + } boolean result = true; if(validateSpecStr){ result = validateUserName(name); @@ -24,12 +30,6 @@ public class ShieldedWordUtils { } return true; } - public static boolean checkName(User user , String name,boolean validateSpecStr){ - if(!Repot37EventUtil.Report37Chat(user, ChatContentType.WORLD_CHAT.getType(),name)){ - return false; - } - return checkName(name,validateSpecStr); - } /**