From ec0ec91c209d9a159118ec4ab5ccce795bd28f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=8C=90=EB=8F=8C?= Date: Sun, 25 Feb 2024 02:40:47 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=89=EB=84=A4=EC=9E=84=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/Service/NicknameChange.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Server/Service/NicknameChange.cs b/Server/Service/NicknameChange.cs index 175ebad..4a54701 100644 --- a/Server/Service/NicknameChange.cs +++ b/Server/Service/NicknameChange.cs @@ -18,17 +18,24 @@ namespace Server.Service User user = Statics.userSQL.SelectUuid(req.uuid); string newNickname = req.newNickname; string regular = @"^[가-힣a-zA-Z0-9\s]*$"; + string defaultNick = Statics.dynamicDataSQL.SelectName("defaultNick").value; int buy; + //만약 시스템 설정과 같은 닉네임이 온다면 중복 처리 + if (newNickname == defaultNick) + { + throw new RuntimeException("Duplicate nickname", Error.errordata); + } + //닉네임 체크 - //if(!Regex.IsMatch(newNickname, regular) || (newNickname.Length < 2 || newNickname.Length > 16) || user.nickname == newNickname) - //{ - // //해당 데이터가 들어온다면 유저 정보와 같이 로그를 남기게 만들것 - // throw new RuntimeException("Nickname not allowed", Error.errordata); - //} + if (!Regex.IsMatch(newNickname, regular) || (newNickname.Length < 2 || newNickname.Length > 16) || user.nickname == newNickname) + { + //해당 데이터가 들어온다면 유저 정보와 같이 로그를 남기게 만들것 + throw new RuntimeException("Nickname not allowed", Error.errordata); + } //가격 체크 - if (user.nickname == Statics.dynamicDataSQL.SelectName("defaultNick").value) + if (user.nickname == defaultNick) buy = 0; else buy = int.Parse(Statics.dynamicDataSQL.SelectName("nicknameCash").value); @@ -39,6 +46,8 @@ namespace Server.Service throw new RuntimeException("Cache shortage", Error.nogold); } + //닉네임 중복 검사 + user.nickname = newNickname; SaveSQL();