From db52e6b0be06b85f0d9958a99cb03c3c50527b2f Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Thu, 29 Aug 2019 14:49:09 +0800 Subject: [PATCH] =?UTF-8?q?gm=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/kefu/Cmd_changename.java | 36 +++++++++++++------ .../java/com/ljsd/jieling/kefu/Cmd_kick.java | 10 +++++- .../com/ljsd/jieling/kefu/GmAbstract.java | 5 +++ 3 files changed, 39 insertions(+), 12 deletions(-) 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 b4063bcc0..69cd0eff3 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 @@ -8,14 +8,15 @@ import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; +import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.player.PlayerLogic; -import com.ljsd.jieling.util.EmojiUtil; -import com.ljsd.jieling.util.ItemUtil; -import com.ljsd.jieling.util.ShieldedWordUtils; -import com.ljsd.jieling.util.TimeUtils; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.MessageTypeProto; +import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.util.*; import java.util.HashMap; import java.util.Map; @@ -27,12 +28,19 @@ public class Cmd_changename extends GmRoleAbstract { String name; if (args.length == 1) { name = args[0]; - return doCheck(name); + if (doCheck(name)) { + return true; + }else { + LOGGER.error("名称检查失败"); + return false; + } } else if (args.length == 0) { for (int i = 0; i < 50; i++) { name = PlayerLogic.getInstance().getRandomName2(); if (doCheck(name)) { return true; + }else { + LOGGER.error("名称检查失败"); } } return false; @@ -75,20 +83,26 @@ public class Cmd_changename extends GmRoleAbstract { String key = RedisKey.getKey(RedisKey.C_User_Name_Key, name, false); RedisUtil.getInstence().set(key, String.valueOf(getUser().getId()), RedisKey.REDIS_OVER_FOREVER); - Map itemMap = new HashMap<>(1); - itemMap.put( Global.CHANGENAME,1); - ItemUtil.addItem(user,itemMap,null, BIReason.GM_CHANGENAME); + Map itemMap = new HashMap<>(1); + itemMap.put(Global.CHANGENAME, 1); + ItemUtil.addItem(user, itemMap, null, BIReason.GM_CHANGENAME); //sendmail String title = SErrorCodeEerverConfig.getI18NMessage("change_name_title"); String content = SErrorCodeEerverConfig.getI18NMessage("change_name_txt"); - int[][] values=new int[1][2]; - values[0][0]= Global.CHANGENAME; - values[0][1]=1; + int[][] values = new int[1][2]; + values[0][0] = Global.CHANGENAME; + values[0][1] = 1; String mailReward = ItemUtil.getMailReward(values); int nowTime = (int) (TimeUtils.now() / 1000); MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); + + ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); + if (null != sessionByUid) { + PlayerInfoProto.PlayerBackCInfoIndication build = PlayerInfoProto.PlayerBackCInfoIndication.newBuilder().setNickName(name).build(); + MessageUtil.sendIndicationMessage(sessionByUid, 1, MessageTypeProto.MessageType.PLAYER_BACKCINFO_INDICATION_VALUE, build, true); + } return true; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java index ff9fd45b7..83f73e907 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java @@ -1,6 +1,10 @@ package com.ljsd.jieling.kefu; +import com.ljsd.jieling.exception.ErrorCode; +import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.network.server.ProtocolsManager; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.MessageUtil; public class Cmd_kick extends GmGlobleAbstract { @@ -8,7 +12,11 @@ public class Cmd_kick extends GmGlobleAbstract { public boolean exec(String[] args) throws Exception { ProtocolsManager instance = ProtocolsManager.getInstance(); - instance.kickOldUser(getUser().getId(), "", 000, "LOSE HEART PACKET!!!!", 0); + ISession session= OnlineUserManager.getSessionByUid(getUser().getId()); + if (session != null) { + MessageUtil.sendErrorCode(session, ErrorCode.kickUserCode, "您已被踢下线!"); + instance.kickOldUser(getUser().getId(), "", ErrorCode.kickUserCode, "LOSE HEART PACKET!!!!", 0); + } return true; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/GmAbstract.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/GmAbstract.java index aeb29c269..791f2e648 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/GmAbstract.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/GmAbstract.java @@ -1,7 +1,12 @@ package com.ljsd.jieling.kefu; +import com.ljsd.GmService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public abstract class GmAbstract implements GmInterface{ + static final Logger LOGGER = LoggerFactory.getLogger(GmAbstract.class); public String msg = ""; @Override