From c8a9c873c977945f8ee269db77956583a09103a6 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 17 Jul 2020 21:28:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=AC=E4=BC=9A=E7=BB=8F?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/kefu/Cmd_addfete.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addfete.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addfete.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addfete.java new file mode 100644 index 000000000..39053e345 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addfete.java @@ -0,0 +1,44 @@ +package com.ljsd.jieling.kefu; + +import com.ljsd.GameApplication; +import com.ljsd.jieling.db.redis.RedisKey; +import com.ljsd.jieling.db.redis.RedisUtil; +import com.ljsd.jieling.exception.ErrorCode; +import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.logic.dao.GuilidManager; +import com.ljsd.jieling.logic.dao.root.GuildCache; +import com.ljsd.jieling.logic.dao.root.GuildInfo; +import config.SGuildLevelConfig; +import manager.STableManager; + +import java.util.Map; + +//addfete "uid" 281 500 +public class Cmd_addfete extends GmRoleAbstract { + @Override + public boolean exec(String[] args) throws Exception { + + if(args.length!=2){ + return true; + } + int guildId = Integer.valueOf(args[0]); + int addexp = Integer.valueOf(args[1]); + + GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId); + + if (guildInfo == null) { + throw new ErrorCodeException(ErrorCode.FAMILY_NULL); + } + //自动推送给所有成员 + guildInfo.addFete(addexp); + Map levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class); + if (guildInfo.getExp() + addexp >= levelConfigMap.get(guildInfo.getLevel()).getExp()) { + guildInfo.updateLevel(guildInfo.getLevel() + 1); + guildInfo.updateExp(guildInfo.getExp() + addexp - levelConfigMap.get(guildInfo.getLevel()).getExp()); + RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName())); + } else { + guildInfo.updateExp(guildInfo.getExp() + addexp); + } + return true; + } +}