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 4eefd3a30..cf9f77117 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 @@ -5,7 +5,6 @@ import com.google.gson.Gson; import com.ljsd.GameApplication; import com.ljsd.jieling.chat.ChatRedisEntity; import com.ljsd.jieling.chat.messge.MessageCache; -import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.exception.ErrorCode; @@ -163,16 +162,16 @@ public class ChatLogic { if(strs.length==3){ s = strs[2]; } - result = ShieldedWordUtils.checkName(user,s,false, ChatContentType.WORLD_CHAT); + result = ShieldedWordUtils.checkName(s,false); break; case 2: - result = ShieldedWordUtils.checkName(user,message,false,ChatContentType.FAMILY); + result = ShieldedWordUtils.checkName(message,false); break; case 3: - result = ShieldedWordUtils.checkName(user,message,false,ChatContentType.PRIVATE_CHAT,UserManager.getUser(friendId)); + result = ShieldedWordUtils.checkName(message,false); break; case 4: - result = ShieldedWordUtils.checkName(user,message,false,ChatContentType.CROSS_CHAT); + result = ShieldedWordUtils.checkName(message,false); break; default: break; 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 4a2a820a9..7d1219149 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 @@ -5,7 +5,6 @@ import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig; import com.ljsd.jieling.core.FunctionIdEnum; import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.core.VipPrivilegeType; -import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.exception.ErrorCode; @@ -2405,7 +2404,7 @@ public class MapLogic { User user = UserManager.getUser(session.getUid()); MapManager mapManager = user.getMapManager(); if (type == 1) { - boolean result = ShieldedWordUtils.checkName(user, content, false, ChatContentType.OTHER); + boolean result = ShieldedWordUtils.checkName(content, false); String error; if (!result) { error = "输入有敏感字符"; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java index d6c3d03df..636d6a32c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java @@ -2,7 +2,6 @@ package com.ljsd.jieling.kefu; import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig; import com.ljsd.jieling.core.FunctionIdEnum; -import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; @@ -21,6 +20,7 @@ import config.SGlobalActivity; import manager.STableManager; import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; +import util.StringUtil; import util.TimeUtils; import java.util.Map; @@ -90,7 +90,7 @@ public class Cmd_changename extends GmRoleAbstract { } else if (args.length == 0) { for (int i = 0; i < 50; i++) { name = PlayerLogic.getInstance().getRandomName2(); - if (doCheck(name)) { + if (!StringUtil.isEmpty(name) && doCheck(name)) { return true; }else { LOGGER.error("名称检查失败"); @@ -116,7 +116,7 @@ public class Cmd_changename extends GmRoleAbstract { if (length > STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxNameLength() || length < 1) { return false; } - boolean result = ShieldedWordUtils.checkName(getUser(), name, true, ChatContentType.ROLE_NAME); + boolean result = ShieldedWordUtils.checkName(name, true); if (!result) { return false; } 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 6f448b274..ffdb4cbe7 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 @@ -4,7 +4,6 @@ import com.google.common.collect.Lists; import com.google.protobuf.GeneratedMessage; import com.ljsd.GameApplication; import com.ljsd.jieling.core.GlobalsDef; -import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.db.mongo.AreaManager; import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.db.redis.RedisKey; @@ -225,7 +224,7 @@ public class GuildLogic { throw new ErrorCodeException(ErrorCode.NULL_NAME); } if(!StringUtil.isEmpty(announce)){ - if (!ShieldedWordUtils.checkName(user,familyName,false,ChatContentType.FAMILY_NAME)||!ShieldedWordUtils.checkName(user,announce,false,ChatContentType.FAMILY_NAME)) { + if (!ShieldedWordUtils.checkName(familyName,false)||!ShieldedWordUtils.checkName(announce,false)) { throw new ErrorCodeException(ErrorCode.FAMILY_IN_SENSITIVE); } } @@ -783,7 +782,7 @@ public class GuildLogic { if(uidType>2){ throw new ErrorCodeException(ErrorCode.FAMILY_NO_ACCESS); } - boolean result = ShieldedWordUtils.checkName(user,content,false,ChatContentType.ANNOUNCE); + boolean result = ShieldedWordUtils.checkName(content,false); 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 d5a933a1b..ca0fbbd38 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 @@ -6,9 +6,7 @@ import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig; import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.core.VipPrivilegeType; -import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.db.mongo.AreaManager; -import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.exception.ErrorCode; @@ -26,9 +24,6 @@ import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.GuildForceChangeEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; -import com.ljsd.jieling.logic.dao.Pokemon; -import com.ljsd.jieling.logic.dao.PropertyItem; -import com.ljsd.jieling.logic.dao.TeamPosHeroInfo; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.root.GuildInfo; @@ -44,7 +39,7 @@ import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag; import com.ljsd.jieling.logic.store.newRechargeInfo.rechargeHandler.RechargeHandler; import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.thrift.idl.*; +import com.ljsd.jieling.thrift.idl.RPCRequestIFace; import com.ljsd.jieling.thrift.pool.ClientAdapterPo; import com.ljsd.jieling.util.*; import config.*; @@ -58,7 +53,6 @@ import util.MathUtils; import util.TimeUtils; import java.util.*; -import java.util.stream.Collectors; @SuppressWarnings("unchecked") public class PlayerLogic { @@ -113,53 +107,63 @@ public class PlayerLogic { MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SAVE_NEW_PLAYER_GUIDE_POINT_RESPONSE_VALUE,null,true); } - public String getRandomName2() throws Exception { + public String getRandomName2() { String name; Map surnameMap = SRandomName.getSurnameMap(); Map nameMap = SRandomName.getNameMap(); int max = surnameMap.size() * nameMap.size(); int i = 0; - boolean result; + boolean result = true; do { name = surnameMap.get(MathUtils.random(1, surnameMap.size())) + nameMap.get(MathUtils.random(1, nameMap.size())); - result = SensitivewordFilter.isContaintSensitiveWord(name,1); + try { + result = SensitivewordFilter.isContaintSensitiveWord(name,1); + } catch (Exception e) { + LOGGER.error("随机名称失败,包含有违禁字符,最后一次名字2:"+name); + e.printStackTrace(); + } i++; } while (result && i < max); if (result){ - throw new ErrorCodeException("随机名称失败,一直包含有违禁字符,最后一次名字:"+name); + name = ""; } return name; } - public String getRandomName2WithOutVerify() { - String name; - Map surnameMap = SRandomName.getSurnameMap(); - Map nameMap = SRandomName.getNameMap(); - name = surnameMap.get(MathUtils.random(1, surnameMap.size())) + nameMap.get(MathUtils.random(1, nameMap.size())); - return name; - } - public String[] getRandomNameWithPreAndPost() throws Exception { - String name; +// public String getRandomName2WithOutVerify() { +// String name; +// Map surnameMap = SRandomName.getSurnameMap(); +// Map nameMap = SRandomName.getNameMap(); +// name = surnameMap.get(MathUtils.random(1, surnameMap.size())) + nameMap.get(MathUtils.random(1, nameMap.size())); +// return name; +// } + + public String[] getRandomNameWithPreAndPost() throws ErrorCodeException { Map surnameMap = SRandomName.getSurnameMap(); Map nameMap = SRandomName.getNameMap(); + String name; String pre; String post; // 加入 int max = surnameMap.size() * nameMap.size(); int i = 0; - boolean result; + boolean result = true; do { pre = surnameMap.get(MathUtils.random(1, surnameMap.size())); post = nameMap.get(MathUtils.random(1, nameMap.size())); name = pre + post; - - result = SensitivewordFilter.isContaintSensitiveWord(name,1); + try { + result = SensitivewordFilter.isContaintSensitiveWord(name,1); + } catch (Exception e) { + LOGGER.error("随机名称失败,包含有违禁字符,最后一次名字:"+name); + e.printStackTrace(); + } i++; } while (result && i 18 || length < 1) { throw new ErrorCodeException(ErrorCode.NAME_LENTH); } - boolean result = ShieldedWordUtils.checkName(UserManager.getUser(iSession.getUid()),name,true,ChatContentType.ROLE_NAME); + boolean result = ShieldedWordUtils.checkName(name,true); if (!result) { throw new ErrorCodeException(ErrorCode.NAME_ILLEGAL); } 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 5c012184e..c74fdbd74 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ShieldedWordUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ShieldedWordUtils.java @@ -1,7 +1,5 @@ package com.ljsd.jieling.util; -import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; -import com.ljsd.jieling.logic.dao.root.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,11 +10,8 @@ public class ShieldedWordUtils { private static final Logger LOGGER = LoggerFactory.getLogger(ShieldedWordUtils.class); - public static boolean checkName(User user , String name,boolean validateSpecStr,ChatContentType chatContentType,User friend) { - return checkName(user,name,validateSpecStr,chatContentType); - } - public static boolean checkName(User user,String name,boolean validateSpecStr,ChatContentType chatContentType){ + public static boolean checkName(String name, boolean validateSpecStr){ boolean result = true; // 校验特殊符号 if(validateSpecStr){ @@ -27,7 +22,8 @@ public class ShieldedWordUtils { try { result = !SensitivewordFilter.isContaintSensitiveWord(name,1); } catch (Exception e) { - LOGGER.error("检查名称,报错:"+e.getMessage()); + LOGGER.error("检查名称报错:{}",name); + e.printStackTrace(); } } return result;