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 69e12d6cf..adf192b59 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 @@ -128,10 +128,18 @@ public class PlayerLogic { String name = ""; Map surnameMap = SRandomName.getSurnameMap(); Map nameMap = SRandomName.getNameMap(); + int max = surnameMap.size() * nameMap.size(); + int i = 0; + boolean result; do { name = surnameMap.get(MathUtils.random(1, surnameMap.size())) + nameMap.get(MathUtils.random(1, nameMap.size())); + result = SensitivewordFilter.isContaintSensitiveWord(name,1); + i++; + } + while (result && i < max); + if (result){ + throw new ErrorCodeException("随机名称失败,一直包含有违禁字符,最后一次名字:"+name); } - while (checkNameShield(name)); return name; } public String getRandomName2WithOutVerify() { @@ -144,25 +152,30 @@ public class PlayerLogic { } public String[] getRandomNameWithPreAndPost() throws Exception { - String name ; + String name; Map surnameMap = SRandomName.getSurnameMap(); Map nameMap = SRandomName.getNameMap(); - String pre ; - String post ; + String pre; + String post; + // 加入 + int max = surnameMap.size() * nameMap.size(); + int i = 0; + boolean result; 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); + i++; + } + while (result && i