From 4fc7cd3f3247c0a51efbfa85cfa8764505df6bb4 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Thu, 17 Jan 2019 14:38:03 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/GameApplication.java | 2 +- .../com/ljsd/jieling/db/redis/RedisKey.java | 26 ++++++++++ .../jieling/handler/GetPlayerInfoHandler.java | 1 + .../jieling/handler/LoginRequestHandler.java | 22 ++++++--- .../ljsd/jieling/logic/CalHeroFinalAttri.java | 15 ++++++ .../java/com/ljsd/jieling/logic/dao/Hero.java | 18 ++++++- .../java/com/ljsd/jieling/logic/dao/Item.java | 5 -- .../ljsd/jieling/logic/dao/PlayerManager.java | 10 ++++ .../com/ljsd/jieling/logic/dao/Skill.java | 3 +- .../ljsd/jieling/logic/dao/UserManager.java | 44 ++++++++++++++++- .../jieling/logic/dao/UserServerInfo.java | 29 +++++++++++ .../com/ljsd/jieling/util/CBean2Proto.java | 48 +++++++++++++++---- 12 files changed, 198 insertions(+), 25 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/CalHeroFinalAttri.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserServerInfo.java diff --git a/serverlogic/src/main/java/com/ljsd/GameApplication.java b/serverlogic/src/main/java/com/ljsd/GameApplication.java index 24025aaee..fd4c0b552 100644 --- a/serverlogic/src/main/java/com/ljsd/GameApplication.java +++ b/serverlogic/src/main/java/com/ljsd/GameApplication.java @@ -62,7 +62,7 @@ public class GameApplication { RedisUtil.getInstence().init(configurableApplicationContext); - STableManager.initialize("com.ljsd.jieling.config"); +// STableManager.initialize("com.ljsd.jieling.config"); UserManager.init(configurableApplicationContext); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java new file mode 100644 index 000000000..17f42baf7 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -0,0 +1,26 @@ +package com.ljsd.jieling.db.redis; + +public class RedisKey { + + private final static String Delimiter_colon = ":"; + + private final static String areaId = "0"; + + public static final String TOKEN = "JL_TOKEN"; + + /** + * 最近登录服务器列表 + */ + public static final String USER_SERVER_INFO = "JL_USER_SERVER_INFO"; + + + + + private String getKey(String type, K key, boolean withServerId) { + if (withServerId) { + return areaId + Delimiter_colon + type + Delimiter_colon + String.valueOf(key); + } else { + return type + Delimiter_colon + String.valueOf(key); + } + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index e09baa8bc..d2ceafcac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.handler; +import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.logic.dao.User; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.netty.cocdex.PacketNetData; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java index ae8bc9e25..3d1e7f594 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java @@ -1,7 +1,11 @@ package com.ljsd.jieling.handler; +import com.ljsd.jieling.db.redis.RedisKey; +import com.ljsd.jieling.db.redis.RedisUtil; +import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.User; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.UserServerInfo; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -30,17 +34,23 @@ public class LoginRequestHandler extends BaseHandler { int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); byte[] message = netData.parseClientProtoNetData(); - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest getPlayerInfoRequest - = PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest.parseFrom(message); + PlayerInfoProto.PlayerInfo.LoginRequest loginRequest + = PlayerInfoProto.PlayerInfo.LoginRequest.parseFrom(message); LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", - userId, token,msgId,msgIndex,getPlayerInfoRequest.getNum(),getPlayerInfoRequest.getStr()); - //TODO - User userForLogin = UserManager.getUserForLogin(userId); + userId, token,msgId,msgIndex,loginRequest.getNum(),loginRequest.getStr()); + + //登陆注册入内存 + User user = UserManager.userLogin(userId); + user.getPlayerInfoManager().setOpenId(loginRequest.getOpenId()); + UserServerInfo userServerInfo = new UserServerInfo(user.getPlayerInfoManager()); + RedisUtil.getInstence().hset(RedisKey.USER_SERVER_INFO,loginRequest.getOpenId(), userServerInfo); + + String newToken = UserManager.getNewToken(userId); PlayerInfoProto.PlayerInfo.LoginResponse loginResponse = PlayerInfoProto.PlayerInfo.LoginResponse.newBuilder() .setResultCode(0) - .setNewToken("123456") + .setNewToken(newToken) .build(); try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.LOGIN_RESPONSE_VALUE, loginResponse, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/CalHeroFinalAttri.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/CalHeroFinalAttri.java new file mode 100644 index 000000000..3f9c2a9e2 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/CalHeroFinalAttri.java @@ -0,0 +1,15 @@ +package com.ljsd.jieling.logic; + +public class CalHeroFinalAttri { + + public static CalHeroFinalAttri getInstance(){ + return Instance.instance; + } + + private static class Instance{ + public final static CalHeroFinalAttri instance = new CalHeroFinalAttri(); + } + + + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java index 0dae77c68..3f9fb077e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java @@ -30,7 +30,7 @@ public class Hero extends MongoBase { private List skillList; - private List quipList; + private List equipList; public void setId(String id) { this.id = id; @@ -129,4 +129,20 @@ public class Hero extends MongoBase { public int getSpeed() { return speed; } + + public List getSkillList() { + return skillList; + } + + public void setSkillList(List skillList) { + this.skillList = skillList; + } + + public List getEquipList() { + return equipList; + } + + public void setEquipList(List equipList) { + this.equipList = equipList; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java index a757a4169..c6162bf62 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java @@ -4,8 +4,6 @@ import com.ljsd.common.mogodb.MongoBase; public class Item extends MongoBase { - private String id; - private int itemId; private int itemNum; @@ -18,9 +16,6 @@ public class Item extends MongoBase { private int endingTime; - public String getId() { - return id; - } public int getItemId() { return itemId; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index 0f242a48c..3b0fe67f5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -5,6 +5,8 @@ import com.ljsd.common.mogodb.MongoBase; public class PlayerManager extends MongoBase { + private String openId; + private String nickName; private int level; @@ -24,6 +26,14 @@ public class PlayerManager extends MongoBase { private int chargeGem; + public String getOpenId() { + return openId; + } + + public void setOpenId(String openId) { + this.openId = openId; + } + public String getNickName() { return nickName; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Skill.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Skill.java index a0e03ac14..3ef6fa801 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Skill.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Skill.java @@ -6,8 +6,6 @@ import java.util.List; public class Skill extends MongoBase { - private String id; - private int skillId; private int skillType; @@ -19,6 +17,7 @@ public class Skill extends MongoBase { private List effectIdList; + public int getSkillId() { return skillId; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 90b2f150b..ba618baeb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -22,6 +22,10 @@ public class UserManager { userMap.put(user._getIntId(), user); } + public static boolean isUserExist(int uid) { + return userMap.containsKey(uid); + } + public static User getUserForLogin(int uid) throws Exception { User user = userMap.get(uid); if (user == null) { @@ -36,16 +40,51 @@ public class UserManager { } private static void refreshUserLoginInfo(User user) { - + //TODO } + public static User userLogin(int uid) throws Exception { + User user = ljsdMongoTemplate.findById(User.getCollectionName(), Integer.toString(uid), User.class); + if (user == null) { + user = registerUser(uid); + }else { + if (!UserManager.isUserExist(uid)){ + UserManager.addUser(user); + } + } + return user; + } + + private static User registerUser(int uid) throws Exception { User user = new User(uid,new PlayerManager(),new ItemManager(),new HeroManager(),new MapManager()); + initPlayer(user); UserManager.addUser(user); ljsdMongoTemplate.save(user); return user; } + private static void initPlayer(User user) throws Exception { + PlayerManager playerManager = user.getPlayerInfoManager(); + playerManager.setNickName("戒灵666"); + playerManager.setLevel(1); + playerManager.setExp(0); + playerManager.setVipLevel(0); + playerManager.setFamilyId("12345"); + playerManager.setHead("image_head_1"); + playerManager.setGold(100000l); + playerManager.setGem(9999); + playerManager.setChargeGem(666); + + ItemManager itemManager = user.getItemManager(); + //TODO + HeroManager heroManager = user.getHeroManager(); + //TODO + MapManager mapManager = user.getMapManager(); + //TODO + + } + public static User getUser(int uid) throws Exception { User user = userMap.get(uid); @@ -65,5 +104,8 @@ public class UserManager { } + public static String getNewToken(int userId) { + return "33521"; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserServerInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserServerInfo.java new file mode 100644 index 000000000..d84013bcc --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserServerInfo.java @@ -0,0 +1,29 @@ +package com.ljsd.jieling.logic.dao; + +public class UserServerInfo { + + private long loginTime; + + private int level; + + public UserServerInfo(PlayerManager playerInfoManager) { + this.loginTime = System.currentTimeMillis(); + this.level = playerInfoManager.getLevel(); + } + + public long getLoginTime() { + return loginTime; + } + + public void setLoginTime(long loginTime) { + this.loginTime = loginTime; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index f2817d53a..0bd8d8c6a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -1,11 +1,11 @@ package com.ljsd.jieling.util; -import com.ljsd.jieling.logic.dao.Hero; -import com.ljsd.jieling.logic.dao.Item; -import com.ljsd.jieling.logic.dao.ItemManager; -import com.ljsd.jieling.logic.dao.PlayerManager; +import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.protocols.CommonProto; +import java.util.ArrayList; +import java.util.List; + public class CBean2Proto { @@ -28,12 +28,8 @@ public class CBean2Proto { public static CommonProto.Common.Item getItem(Item item){ CommonProto.Common.Item itemProto = CommonProto.Common.Item .newBuilder() - .setId(item.getId()) .setItemId(item.getItemId()) .setItemNum(item.getItemNum()) - .setItemType(item.getItemType()) - .setItemQuality(item.getItemQuality()) - .setIsStacking(item.isStacking()) .setEndingTime(item.getEndingTime()) .build(); return itemProto; @@ -42,9 +38,43 @@ public class CBean2Proto { public static CommonProto.Common.Hero getHero(Hero hero){ CommonProto.Common.Hero heroProto = CommonProto.Common.Hero .newBuilder() - + .setId(hero.getId()) + .setHeroId(hero.getTemplateId()) + .setHeroType(hero.getHeroType()) + .setLevel(hero.getLevel()) + .setStar(hero.getStar()) + .setQuality(1) + .setHp(hero.getHp()) + .setAttack(hero.getAttack()) + .setPDefence(hero.getpDefence()) + .setMDefence(hero.getmDefence()) + .setSpeed(hero.getSpeed()) + .addAllSkillList(getHeroSkill(hero.getSkillList())) + .addAllEquipList(getHeroEquip(hero.getEquipList())) .build(); return heroProto; } + private static List getHeroSkill(List skillList) { + + List skills = new ArrayList<>(); + for(Skill skill : skillList){ + CommonProto.Common.Skill skill1 = CommonProto.Common.Skill + .newBuilder() + .setSkillId(skill.getSkillId()) + .setSkillType(skill.getSkillType()) + .setLevel(skill.getLevel()) + .setStar(skill.getStar()) + .addAllEffectId(skill.getEffectIdList()) + .build(); + skills.add(skill1); + } + return skills; + } + + private static List getHeroEquip(List equipList) { + List equips = new ArrayList<>(); + return equips; + } + } From 5012bc0fd0f77c1347ff8bd01fb1839ab56cf9be Mon Sep 17 00:00:00 2001 From: mashiyu Date: Thu, 17 Jan 2019 15:08:52 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverlogic/build.gradle | 1 + .../src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java | 6 ++++++ .../java/com/ljsd/jieling/handler/LoginRequestHandler.java | 2 -- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/serverlogic/build.gradle b/serverlogic/build.gradle index 1985c46f4..a518a3c10 100644 --- a/serverlogic/build.gradle +++ b/serverlogic/build.gradle @@ -27,6 +27,7 @@ dependencies { compile("com.google.protobuf:protobuf-java:2.5.0") compile("com.fasterxml.jackson.core:jackson-core:2.3.1") compile("com.fasterxml.jackson.core:jackson-databind:2.3.3") + compile group: 'com.google.code.gson', name: 'gson', version: '2.2.4' compile files("${System.properties['java.home']}/../lib/tools.jar") } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java index 839eb9831..6a0eb787f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.db.redis; +import com.google.gson.Gson; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.data.redis.core.StringRedisTemplate; @@ -15,6 +16,8 @@ import java.util.concurrent.TimeUnit; public class RedisUtil { + private Gson gson = new Gson(); + private RedisUtil() { } @@ -270,6 +273,9 @@ public class RedisUtil { */ public boolean hset(String key, String item, Object value) { try { + if (!(value instanceof String)){ + value = gson.toJson(value); + } redisTemplate.opsForHash().put(key, item, value); return true; } catch (Exception e) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java index 3d1e7f594..e431d113a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java @@ -2,13 +2,11 @@ package com.ljsd.jieling.handler; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; -import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.User; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.UserServerInfo; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.util.MessageUtil; From ee1defd706766e2c3daa2946cb3a8f598643bde7 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Thu, 17 Jan 2019 20:50:13 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/db/redis/RedisKey.java | 2 +- .../com/ljsd/jieling/db/redis/RedisUtil.java | 21 ++++++++------- .../jieling/handler/GetAllItemHandler.java | 4 +-- .../jieling/handler/GetPlayerInfoHandler.java | 10 +++---- .../jieling/handler/LoginRequestHandler.java | 26 ++++++++++++------- .../handler/map/MapEnterRequestHandler.java | 2 +- .../handler/map/MapGetInfoRequestHandler.java | 2 +- .../ljsd/jieling/handler/map/MapLogic.java | 2 +- .../com/ljsd/jieling/util/CBean2Proto.java | 22 ++++++++-------- .../main/java/network/client/NettyClient.java | 6 ++--- 10 files changed, 54 insertions(+), 43 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java index 17f42baf7..cb0792623 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -16,7 +16,7 @@ public class RedisKey { - private String getKey(String type, K key, boolean withServerId) { + public static String getKey(String type, String key, boolean withServerId) { if (withServerId) { return areaId + Delimiter_colon + type + Delimiter_colon + String.valueOf(key); } else { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java index 6a0eb787f..085015045 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java @@ -198,12 +198,12 @@ public class RedisUtil { * * @param key * 键 不能为null - * @param item + * @param mapKey * 项 不能为null * @return 值 */ - public Object hget(String key, String item) { - return redisTemplate.opsForHash().get(key, item); + public Object hget(String key, String mapKey) { + return redisTemplate.opsForHash().get(key, mapKey); } /** @@ -265,18 +265,18 @@ public class RedisUtil { * * @param key * 键 - * @param item + * @param mapKey * 项 * @param value * 值 * @return true 成功 false失败 */ - public boolean hset(String key, String item, Object value) { + public boolean hset(String key, String mapKey, Object value) { try { if (!(value instanceof String)){ value = gson.toJson(value); } - redisTemplate.opsForHash().put(key, item, value); + redisTemplate.opsForHash().put(key, mapKey, value); return true; } catch (Exception e) { e.printStackTrace(); @@ -289,7 +289,7 @@ public class RedisUtil { * * @param key * 键 - * @param item + * @param mapKey * 项 * @param value * 值 @@ -297,9 +297,12 @@ public class RedisUtil { * 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间 * @return true 成功 false失败 */ - public boolean hset(String key, String item, Object value, long time) { + public boolean hset(String key, String mapKey, Object value, long time) { try { - redisTemplate.opsForHash().put(key, item, value); + if (!(value instanceof String)){ + value = gson.toJson(value); + } + redisTemplate.opsForHash().put(key, mapKey, value); if (time > 0) { expire(key, time); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index b87ed6d2e..31ddd17a3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -24,8 +24,8 @@ public class GetAllItemHandler extends BaseHandler { int token = netData.getToken(); int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); - PlayerInfoProto.PlayerInfo.GetItemInfoRequest getItemInfoRequest - = PlayerInfoProto.PlayerInfo.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); + PlayerInfoProto.GetItemInfoRequest getItemInfoRequest + = PlayerInfoProto.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index d2ceafcac..fa2eef86b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -31,18 +31,18 @@ public class GetPlayerInfoHandler extends BaseHandler{ int token = netData.getToken(); int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest getPlayerInfoRequest - = PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest.parseFrom(netData.parseClientProtoNetData()); + PlayerInfoProto.GetPlayerInfoRequest getPlayerInfoRequest + = PlayerInfoProto.GetPlayerInfoRequest.parseFrom(netData.parseClientProtoNetData()); LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", userId, token,msgId,msgIndex,getPlayerInfoRequest.getNum(),getPlayerInfoRequest.getStr()); User user = UserManager.getUserForLogin(userId); - CommonProto.Common.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager()); + CommonProto.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager()); - PlayerInfoProto.PlayerInfo.GetPlayerInfoResponse getPlayerInfoResponse - = PlayerInfoProto.PlayerInfo.GetPlayerInfoResponse.newBuilder() + PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse + = PlayerInfoProto.GetPlayerInfoResponse.newBuilder() .setPlayer(player) .build(); try { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java index e431d113a..2787394cb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java @@ -1,10 +1,7 @@ package com.ljsd.jieling.handler; -import com.ljsd.jieling.db.redis.RedisKey; -import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.logic.dao.User; import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.UserServerInfo; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.MessageTypeProto; @@ -32,24 +29,35 @@ public class LoginRequestHandler extends BaseHandler { int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); byte[] message = netData.parseClientProtoNetData(); - PlayerInfoProto.PlayerInfo.LoginRequest loginRequest - = PlayerInfoProto.PlayerInfo.LoginRequest.parseFrom(message); + PlayerInfoProto.LoginRequest loginRequest + = PlayerInfoProto.LoginRequest.parseFrom(message); LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", userId, token,msgId,msgIndex,loginRequest.getNum(),loginRequest.getStr()); //登陆注册入内存 User user = UserManager.userLogin(userId); user.getPlayerInfoManager().setOpenId(loginRequest.getOpenId()); - UserServerInfo userServerInfo = new UserServerInfo(user.getPlayerInfoManager()); - RedisUtil.getInstence().hset(RedisKey.USER_SERVER_INFO,loginRequest.getOpenId(), userServerInfo); + +// UserServerInfo userServerInfo = new UserServerInfo(user.getPlayerInfoManager()); +// String key = RedisKey.getKey(RedisKey.USER_SERVER_INFO,loginRequest.getOpenId(),false); +// RedisUtil.getInstence().hset(key,10086+"", userServerInfo); +// +// UserServerInfo userServerInfo1 = new UserServerInfo(user.getPlayerInfoManager()); +// RedisUtil.getInstence().hset(key,10087+"", userServerInfo1); +// +// UserServerInfo userServerInfo2 = new UserServerInfo(user.getPlayerInfoManager()); +// RedisUtil.getInstence().hset(key,10088+"", userServerInfo2); + +// Map userServerInfoMap = RedisUtil.getInstence().hget(RedisKey.USER_SERVER_INFO, loginRequest.getOpenId(), UserServerInfo.class, -1, false); String newToken = UserManager.getNewToken(userId); - PlayerInfoProto.PlayerInfo.LoginResponse loginResponse - = PlayerInfoProto.PlayerInfo.LoginResponse.newBuilder() + PlayerInfoProto.LoginResponse loginResponse + = PlayerInfoProto.LoginResponse.newBuilder() .setResultCode(0) .setNewToken(newToken) .build(); + try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.LOGIN_RESPONSE_VALUE, loginResponse, true); LOGGER.info("back to client!"); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java index 65df67fce..d896cb0c6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java @@ -17,7 +17,7 @@ public class MapEnterRequestHandler extends BaseHandler{ @Override public void process(ISession iSession, PacketNetData netData) throws Exception { byte[] message = netData.parseClientProtoNetData(); - MapInfoProto.MapInfo.MapEnterRequest mapEnterRequest = MapInfoProto.MapInfo.MapEnterRequest.parseFrom(message); + MapInfoProto.MapEnterRequest mapEnterRequest = MapInfoProto.MapEnterRequest.parseFrom(message); MapLogic.getInstance().enterMap(iSession, mapEnterRequest.getMapId(), MessageTypeProto.MessageType.MAP_ENTER_RESPONSE); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java index 909237246..fe975d1e2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java @@ -21,7 +21,7 @@ public class MapGetInfoRequestHandler extends BaseHandler { public void process(ISession iSession, PacketNetData netData) throws Exception { int uid = iSession.getUid(); User user = UserManager.getUser(uid); - MapInfoProto.MapInfo.MapGetInfoResponse mapGetInfoResponse = MapInfoProto.MapInfo.MapGetInfoResponse + MapInfoProto.MapGetInfoResponse mapGetInfoResponse = MapInfoProto.MapGetInfoResponse .newBuilder() .setMapId(user.getMapManager().getCurMapId()) .build(); 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 41938cf73..08daca5c3 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 @@ -48,7 +48,7 @@ public class MapLogic { mapManager = initMap( 1); user.setMapManager(mapManager); } - MapInfoProto.MapInfo.MapEnterResponse mapEnterResponse = MapInfoProto.MapInfo.MapEnterResponse + MapInfoProto.MapEnterResponse mapEnterResponse = MapInfoProto.MapEnterResponse .newBuilder() .build(); MessageUtil.sendMessage(iSession, 1, messageType.getNumber(), mapEnterResponse, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 0bd8d8c6a..721585147 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -9,8 +9,8 @@ import java.util.List; public class CBean2Proto { - public static CommonProto.Common.Player getPlayer(int uid, PlayerManager playerManager) { - CommonProto.Common.Player player = CommonProto.Common.Player + public static CommonProto.Player getPlayer(int uid, PlayerManager playerManager) { + CommonProto.Player player = CommonProto.Player .newBuilder() .setUid(uid) .setNickName(playerManager.getNickName()) @@ -25,8 +25,8 @@ public class CBean2Proto { return player; } - public static CommonProto.Common.Item getItem(Item item){ - CommonProto.Common.Item itemProto = CommonProto.Common.Item + public static CommonProto.Item getItem(Item item){ + CommonProto.Item itemProto = CommonProto.Item .newBuilder() .setItemId(item.getItemId()) .setItemNum(item.getItemNum()) @@ -35,8 +35,8 @@ public class CBean2Proto { return itemProto; } - public static CommonProto.Common.Hero getHero(Hero hero){ - CommonProto.Common.Hero heroProto = CommonProto.Common.Hero + public static CommonProto.Hero getHero(Hero hero){ + CommonProto.Hero heroProto = CommonProto.Hero .newBuilder() .setId(hero.getId()) .setHeroId(hero.getTemplateId()) @@ -55,11 +55,11 @@ public class CBean2Proto { return heroProto; } - private static List getHeroSkill(List skillList) { + private static List getHeroSkill(List skillList) { - List skills = new ArrayList<>(); + List skills = new ArrayList<>(); for(Skill skill : skillList){ - CommonProto.Common.Skill skill1 = CommonProto.Common.Skill + CommonProto.Skill skill1 = CommonProto.Skill .newBuilder() .setSkillId(skill.getSkillId()) .setSkillType(skill.getSkillType()) @@ -72,8 +72,8 @@ public class CBean2Proto { return skills; } - private static List getHeroEquip(List equipList) { - List equips = new ArrayList<>(); + private static List getHeroEquip(List equipList) { + List equips = new ArrayList<>(); return equips; } diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index decf673f2..a03a2af23 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -36,7 +36,7 @@ public class NettyClient { NettyTCPClientHandler handler = ch.pipeline().get(NettyTCPClientHandler.class); //------------------------------------------测试类型------------------------------------------------------- // GameProto.GameMessage gameMessage = new NettyClient().sendLoginMessageTest();//登陆请求 - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest gameMessage = new NettyClient().sendRegisterMessageTest();//注册请求 + PlayerInfoProto.GetPlayerInfoRequest gameMessage = new NettyClient().sendRegisterMessageTest();//注册请求 LOGGER.info(gameMessage.toString()); //--------------------------------------------------------------------------------------------------------- @@ -64,9 +64,9 @@ public class NettyClient { } - private PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest sendRegisterMessageTest(){ + private PlayerInfoProto.GetPlayerInfoRequest sendRegisterMessageTest(){ LOGGER.info("register"); - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest registerRequest = PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest + PlayerInfoProto.GetPlayerInfoRequest registerRequest = PlayerInfoProto.GetPlayerInfoRequest .newBuilder() // .setNum(888) // .setStr("666") From cbd48c509773274c8730c759b4822e8ffa867a7d Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 18 Jan 2019 09:58:37 +0800 Subject: [PATCH 04/10] hero --- conf/server/HeroConfig.txt | 2 +- .../jieling/config/SCHeroRankUpConfig.java | 74 +++++++++++++++++++ .../ljsd/jieling/config/SHeroLevlConfig.java | 45 +++++++++++ .../jieling/handler/GetAllHeroHandler.java | 54 ++++++++++++++ .../main/java/network/client/NettyClient.java | 7 +- .../network/client/NettyTCPClientHandler.java | 12 ++- 6 files changed, 191 insertions(+), 3 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java diff --git a/conf/server/HeroConfig.txt b/conf/server/HeroConfig.txt index 5417406e7..8a339031d 100644 --- a/conf/server/HeroConfig.txt +++ b/conf/server/HeroConfig.txt @@ -54,4 +54,4 @@ int int int int int int float float float float float mut,int#int,2 mut,int#int, 52 2052 0 0 4 10 1834 140 0 220 176 10100#10|10101#20 null 53 2053 0 0 4 10 1943 135 219 0 176 10100#10|10101#20 null 54 2054 0 0 4 10 1630 169 0 176 163 10100#10|10101#20 null -55 2055 0 0 4 10 1508 205 163 0 194 10100#10|10101#20 null \ No newline at end of file +55 2055 0 0 4 10 1508 205 163 0 194 10100#10|10101#20 null diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java new file mode 100644 index 000000000..579a0e938 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java @@ -0,0 +1,74 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name = "HeroRankupConfig") +public class SCHeroRankUpConfig implements BaseConfig{ + public static Map scHeroRankUpConfigMap; + + private int id; + + private int type; + + private float rankupPara; + + private int limitLevel; + + private int openLevel; + + private int limitStar; + + private int openStar; + + private int consumeMaterial[]; + + private int[] consumeCard[]; + + @Override + public void init() throws Exception { + scHeroRankUpConfigMap = STableManager.getConfig(SCHeroRankUpConfig.class); + } + + public static Map getScHeroRankUpConfigMap() { + return scHeroRankUpConfigMap; + } + + public int getId() { + return id; + } + + public int getType() { + return type; + } + + public float getRankupPara() { + return rankupPara; + } + + public int getLimitLevel() { + return limitLevel; + } + + public int getOpenLevel() { + return openLevel; + } + + public int getLimitStar() { + return limitStar; + } + + public int getOpenStar() { + return openStar; + } + + public int[] getConsumeMaterial() { + return consumeMaterial; + } + + public int[][] getConsumeCard() { + return consumeCard; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java new file mode 100644 index 000000000..b64b0fe9f --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java @@ -0,0 +1,45 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name = "HeroLevelConfig") +public class SHeroLevlConfig implements BaseConfig{ + + public static Map sHeroLevlConfigMap; + + private int id; + + private int level; + + private float characterLevelPara; + + @Override + public void init() throws Exception { + sHeroLevlConfigMap = STableManager.getConfig(SHeroLevlConfig.class); + + } + + + public static Map getsCHero() { + return sHeroLevlConfigMap; + } + + public int getId() { + return id; + } + + public int getLevel() { + return level; + } + + public static Map getsHeroLevlConfigMap() { + return sHeroLevlConfigMap; + } + + public float getCharacterLevelPara() { + return characterLevelPara; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java new file mode 100644 index 000000000..a5f256897 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java @@ -0,0 +1,54 @@ +package com.ljsd.jieling.handler; + +import com.ljsd.jieling.config.SCHero; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.HeroInfoProto; +import com.ljsd.jieling.protocols.MessageTypeProto; +import com.ljsd.jieling.util.MessageUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +@Component +public class GetAllHeroHandler extends BaseHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(GetAllHeroHandler.class); + + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.GET_HEROINFO_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] packetData = netData.parseClientProtoNetData(); + int uid = iSession.getUid(); + List heroList = new ArrayList<>(); + // SCHero scHero = SCHero.getsCHero().get(1); + CommonProto.Hero hero = CommonProto.Hero.newBuilder() + .setHeroId(1) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .addAllEquipList(new ArrayList<>()) + .addAllSkillList(new ArrayList<>()) + .build(); + + + heroList.add(hero); + HeroInfoProto.GetHeroInfoResponse build = HeroInfoProto.GetHeroInfoResponse.newBuilder().addAllHeroList(heroList).build(); + //HeroInfoProto.HeroInfo.GetHeroInfoResponse build = HeroInfoProto.HeroInfo.GetHeroInfoResponse.newBuilder().setHeroList(hero).build(); + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_HEROINFO_RESPONSE_VALUE, build, true); + LOGGER.info("back to client!"); + } +} diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index a03a2af23..4ba9cbaa5 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -3,6 +3,7 @@ package network.client; import com.google.protobuf.*; import com.ljsd.jieling.netty.cocdex.Tea; import com.ljsd.jieling.protocols.GMCommandProto; +import com.ljsd.jieling.protocols.HeroInfoProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; import io.netty.bootstrap.Bootstrap; @@ -41,10 +42,14 @@ public class NettyClient { //--------------------------------------------------------------------------------------------------------- handler.sendRequest_jieling(makeFinalMessage(gameMessage, MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(gmRequest(), MessageTypeProto.MessageType.GM_COMMAND_VALUE)); + handler.sendRequest_jieling(makeFinalMessage(getHero(), MessageTypeProto.MessageType.GET_HEROINFO_REQUEST_VALUE)); } + public static HeroInfoProto.GetHeroInfoRequest getHero(){ + return HeroInfoProto.GetHeroInfoRequest.newBuilder().setNum(1).setStr("111").build(); + } + private static byte[] makeFinalMessage(MessageLite request, int msgNum) { byte[] messageData = request.toByteArray(); byte[] packetData = new byte[messageData.length + 16]; diff --git a/test/src/main/java/network/client/NettyTCPClientHandler.java b/test/src/main/java/network/client/NettyTCPClientHandler.java index 3499e1199..9fb2c8800 100644 --- a/test/src/main/java/network/client/NettyTCPClientHandler.java +++ b/test/src/main/java/network/client/NettyTCPClientHandler.java @@ -3,6 +3,8 @@ package network.client; import com.google.protobuf.MessageLite; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.cocdex.Tea; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.HeroInfoProto; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; @@ -16,6 +18,8 @@ import java.util.concurrent.BlockingDeque; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.atomic.AtomicInteger; +import static com.ljsd.jieling.protocols.MessageTypeProto.MessageType.GET_HEROINFO_RESPONSE_VALUE; + /** * Created by justin on 14-8-12. */ @@ -105,9 +109,15 @@ public class NettyTCPClientHandler extends SimpleChannelInboundHandler { int userId = packetNetData.getUserId(); int token = packetNetData.getToken(); int msgId = packetNetData.getMsgId(); - byte[] packetData = packetNetData.getPacketData(); + byte[] packetData = packetNetData.parseServerProtoNetData(); + if(msgId == GET_HEROINFO_RESPONSE_VALUE){ + HeroInfoProto.GetHeroInfoResponse getHeroInfoResponse = HeroInfoProto.GetHeroInfoResponse.parseFrom(packetData); + int heroListCount = getHeroInfoResponse.getHeroListCount(); + //int heroListCount = getHeroInfoResponse.getHeroListCount(); + System.out.println("--->>>>" + heroListCount); + } System.out.println("back hartbeat id : "+msgId); From 7fb418baf67445e1a84fc716ebd5ef51cbd7f8e5 Mon Sep 17 00:00:00 2001 From: gaojie Date: Fri, 18 Jan 2019 10:10:12 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=89=A9=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/GetAllItemHandler.java | 29 ++++++++++++--- .../ljsd/jieling/logic/dao/ItemManager.java | 3 +- .../java/com/ljsd/jieling/util/ItemUtil.java | 16 +++++++++ test/src/main/java/ExcelUtils.java | 36 +++++++++++-------- 4 files changed, 64 insertions(+), 20 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index b87ed6d2e..2835781cc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -1,13 +1,25 @@ package com.ljsd.jieling.handler; +import com.ljsd.jieling.logic.dao.Item; +import com.ljsd.jieling.logic.dao.ItemManager; +import com.ljsd.jieling.logic.dao.User; +import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.util.CBean2Proto; +import com.ljsd.jieling.util.ItemUtil; +import com.ljsd.jieling.util.MessageUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + @Component public class GetAllItemHandler extends BaseHandler { @@ -26,9 +38,18 @@ public class GetAllItemHandler extends BaseHandler { int msgIndex = netData.getIndex(); PlayerInfoProto.PlayerInfo.GetItemInfoRequest getItemInfoRequest = PlayerInfoProto.PlayerInfo.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); - - - - + LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", + userId, token,msgId,msgIndex,getItemInfoRequest.getNum(),getItemInfoRequest.getStr()); + User user = UserManager.getUserForLogin(userId); + List itemList = ItemUtil.getAllItem(user); + PlayerInfoProto.PlayerInfo.GetItemInfoResponse getItemInfoResponse = PlayerInfoProto.PlayerInfo.GetItemInfoResponse.newBuilder() + .addAllItemlist(itemList) + .build(); + try { + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_ITEMINFO_RESPONSE_VALUE, getItemInfoResponse, true); + LOGGER.info("back to client!"); + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java index 2613ad97d..eca0c77b8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java @@ -5,9 +5,10 @@ import com.ljsd.jieling.config.SItem; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; public class ItemManager extends MongoBase { - private Map itemMap; + private Map itemMap = new ConcurrentHashMap<>(); public ItemManager() { itemMap = new HashMap(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index b0e3701b4..cf64a65ca 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -5,9 +5,12 @@ import com.ljsd.jieling.logic.dao.Item; import com.ljsd.jieling.logic.dao.ItemManager; import com.ljsd.jieling.logic.dao.User; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.protocols.CommonProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; +import java.util.List; import java.util.Map; public class ItemUtil { @@ -55,4 +58,17 @@ public class ItemUtil { } } + + public static List getAllItem(User user){ + List itemList = new ArrayList<>(); + ItemManager itemManager = user.getItemManager(); + Map itemMap = itemManager.getItemMap(); + if (itemMap.size() !=0 ){ + for (Map.Entry entry :itemMap.entrySet()){ + itemList.add(CBean2Proto.getItem(entry.getValue())); + } + } + return itemList; + } + } diff --git a/test/src/main/java/ExcelUtils.java b/test/src/main/java/ExcelUtils.java index afb70c898..938ef2114 100644 --- a/test/src/main/java/ExcelUtils.java +++ b/test/src/main/java/ExcelUtils.java @@ -72,21 +72,7 @@ public class ExcelUtils { Cell cell = row.getCell(j); if (cell == null){ Cell cell1 = row4.getCell(j); - if (cell1==null){ - String in = getIn(row2.getCell(j).toString()); - if (info.length() == 0){ - info = info.append(in); - }else{ - info.append("\t").append(in); - } - }else{ - cellData = getCellFormatValue(cell1); - if (info.length() == 0){ - info = info.append(cellData); - }else{ - info.append("\t").append(cellData); - } - } + info = getStringBuilder(row2, info, j, cell1); }else{ if (getCellFormatValue(row1.getCell(j)).toString().isEmpty()){ continue; @@ -111,6 +97,26 @@ public class ExcelUtils { out.close(); } + private static StringBuilder getStringBuilder(Row row2, StringBuilder info, int j, Cell cell1) { + Object cellData; + if (cell1==null){ + String in = getIn(row2.getCell(j).toString()); + if (info.length() == 0){ + info = info.append(in); + }else{ + info.append("\t").append(in); + } + }else{ + cellData = getCellFormatValue(cell1); + if (info.length() == 0){ + info = info.append(cellData); + }else{ + info.append("\t").append(cellData); + } + } + return info; + } + private static String getIn(String row2) { String str = ""; switch (row2) { From 362c34e325303411b0e3b4d53c818e744f66aae8 Mon Sep 17 00:00:00 2001 From: gaojie Date: Fri, 18 Jan 2019 10:17:31 +0800 Subject: [PATCH 06/10] fix --- .../java/com/ljsd/jieling/handler/GetAllItemHandler.java | 8 ++++---- .../src/main/java/com/ljsd/jieling/util/ItemUtil.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index 3ceafcf29..e933f889b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -36,14 +36,14 @@ public class GetAllItemHandler extends BaseHandler { int token = netData.getToken(); int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); - PlayerInfoProto.PlayerInfo.GetItemInfoRequest getItemInfoRequest - = PlayerInfoProto.PlayerInfo.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); + PlayerInfoProto.GetItemInfoRequest getItemInfoRequest + = PlayerInfoProto.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", userId, token,msgId,msgIndex,getItemInfoRequest.getNum(),getItemInfoRequest.getStr()); User user = UserManager.getUserForLogin(userId); - List itemList = ItemUtil.getAllItem(user); - PlayerInfoProto.PlayerInfo.GetItemInfoResponse getItemInfoResponse = PlayerInfoProto.PlayerInfo.GetItemInfoResponse.newBuilder() + List itemList = ItemUtil.getAllItem(user); + PlayerInfoProto.GetItemInfoResponse getItemInfoResponse = PlayerInfoProto.GetItemInfoResponse.newBuilder() .addAllItemlist(itemList) .build(); try { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index cf64a65ca..398147177 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -59,8 +59,8 @@ public class ItemUtil { } - public static List getAllItem(User user){ - List itemList = new ArrayList<>(); + public static List getAllItem(User user){ + List itemList = new ArrayList<>(); ItemManager itemManager = user.getItemManager(); Map itemMap = itemManager.getItemMap(); if (itemMap.size() !=0 ){ From bab9eb98a8ae2d29eb5c7a7dab850930474e0238 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Fri, 18 Jan 2019 12:06:45 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/DrawHeroHandler.java | 93 +++++++++++++++++++ .../jieling/handler/GetAllHeroHandler.java | 66 ++++++++++--- .../jieling/handler/GetAllItemHandler.java | 34 +++++++ .../com/ljsd/jieling/util/CBean2Proto.java | 1 + .../src/main/resources/application.properties | 2 +- .../main/java/network/client/NettyClient.java | 4 +- .../network/client/NettyTCPClientHandler.java | 7 +- 7 files changed, 189 insertions(+), 18 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java new file mode 100644 index 000000000..47b91825f --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java @@ -0,0 +1,93 @@ +package com.ljsd.jieling.handler; + +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.HeroInfoProto; +import com.ljsd.jieling.protocols.MessageTypeProto; +import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.util.MessageUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.List; + +public class DrawHeroHandler extends BaseHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(DrawHeroHandler.class); + + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.DRAW_HERO_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + int userId = netData.getUserId(); + int token = netData.getToken(); + int msgId = netData.getMsgId(); + int msgIndex = netData.getIndex(); + HeroInfoProto.DrawHeroRequest request + = HeroInfoProto.DrawHeroRequest.parseFrom(netData.parseClientProtoNetData()); + LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", + userId, token,msgId,msgIndex,request.getType(),request.getStr()); + + + List heroList = new ArrayList<>(); + CommonProto.Hero hero1 = CommonProto.Hero.newBuilder() + .setId("aaa") + .setHeroId(1) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .build(); + + CommonProto.Hero hero2 = CommonProto.Hero.newBuilder() + .setId("bbb") + .setHeroId(2) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .build(); + + CommonProto.Hero hero3 = CommonProto.Hero.newBuilder() + .setId("ccc") + .setHeroId(3) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .build(); + + heroList.add(hero1); + heroList.add(hero2); + heroList.add(hero3); + + HeroInfoProto.DrawHeroResponse build + = HeroInfoProto.DrawHeroResponse.newBuilder() + .addAllHeroList(heroList) + .build(); + + try { + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.DRAW_HERO_RESPONSE_VALUE, build, true); + LOGGER.info("back to client!"); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java index a5f256897..b5d5d4a90 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.handler; -import com.ljsd.jieling.config.SCHero; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -26,11 +25,21 @@ public class GetAllHeroHandler extends BaseHandler { @Override public void process(ISession iSession, PacketNetData netData) throws Exception { - byte[] packetData = netData.parseClientProtoNetData(); - int uid = iSession.getUid(); + int userId = netData.getUserId(); + int token = netData.getToken(); + int msgId = netData.getMsgId(); + int msgIndex = netData.getIndex(); + byte[] message = netData.parseClientProtoNetData(); + HeroInfoProto.GetHeroListInfoRequest getHeroInfoRequest + = HeroInfoProto.GetHeroListInfoRequest.parseFrom(message); + LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", + userId, token,msgId,msgIndex,getHeroInfoRequest.getNum(),getHeroInfoRequest.getStr()); + + // // SCHero scHero = SCHero.getsCHero().get(1); + List heroList = new ArrayList<>(); - // SCHero scHero = SCHero.getsCHero().get(1); - CommonProto.Hero hero = CommonProto.Hero.newBuilder() + CommonProto.Hero hero1 = CommonProto.Hero.newBuilder() + .setId("aaa") .setHeroId(1) .setAttack(2) .setStar(2) @@ -40,15 +49,48 @@ public class GetAllHeroHandler extends BaseHandler { .setMDefence(2000) .setPDefence(3000) .setSpeed(4000) - .addAllEquipList(new ArrayList<>()) - .addAllSkillList(new ArrayList<>()) .build(); + CommonProto.Hero hero2 = CommonProto.Hero.newBuilder() + .setId("bbb") + .setHeroId(2) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .build(); - heroList.add(hero); - HeroInfoProto.GetHeroInfoResponse build = HeroInfoProto.GetHeroInfoResponse.newBuilder().addAllHeroList(heroList).build(); - //HeroInfoProto.HeroInfo.GetHeroInfoResponse build = HeroInfoProto.HeroInfo.GetHeroInfoResponse.newBuilder().setHeroList(hero).build(); - MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_HEROINFO_RESPONSE_VALUE, build, true); - LOGGER.info("back to client!"); + CommonProto.Hero hero3 = CommonProto.Hero.newBuilder() + .setId("ccc") + .setHeroId(3) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .build(); + + heroList.add(hero1); + heroList.add(hero2); + heroList.add(hero3); + + HeroInfoProto.GetHeroListInfoResponse build + = HeroInfoProto.GetHeroListInfoResponse.newBuilder() + .addAllHeroList(heroList) + .build(); + + try { + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_HEROINFO_RESPONSE_VALUE, build, true); + LOGGER.info("back to client!"); + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index 31ddd17a3..ca0a41c61 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -2,12 +2,17 @@ package com.ljsd.jieling.handler; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.util.MessageUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; + @Component public class GetAllItemHandler extends BaseHandler { @@ -26,9 +31,38 @@ public class GetAllItemHandler extends BaseHandler { int msgIndex = netData.getIndex(); PlayerInfoProto.GetItemInfoRequest getItemInfoRequest = PlayerInfoProto.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); + LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", + userId, token,msgId,msgIndex,getItemInfoRequest.getNum(),getItemInfoRequest.getStr()); + + List itemList = new ArrayList<>(); + CommonProto.Item item1 = CommonProto.Item.newBuilder() + .setItemId(1) + .setItemNum(111) + .build(); + CommonProto.Item item2 = CommonProto.Item.newBuilder() + .setItemId(2) + .setItemNum(222) + .build(); + CommonProto.Item item3 = CommonProto.Item.newBuilder() + .setItemId(3) + .setItemNum(333) + .build(); + itemList.add(item1); + itemList.add(item2); + itemList.add(item3); + PlayerInfoProto.GetItemInfoResponse getItemInfoResponse + = PlayerInfoProto.GetItemInfoResponse.newBuilder() + .addAllItemlist(itemList) + .build(); + try { + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_ITEMINFO_RESPONSE_VALUE, getItemInfoResponse, true); + LOGGER.info("back to client!"); + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 721585147..f0e7c48d3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -14,6 +14,7 @@ public class CBean2Proto { .newBuilder() .setUid(uid) .setNickName(playerManager.getNickName()) + .setLevel(playerManager.getLevel()) .setExp(playerManager.getExp()) .setVipLevel(playerManager.getVipLevel()) .setFamilyId(playerManager.getFamilyId()) diff --git a/serverlogic/src/main/resources/application.properties b/serverlogic/src/main/resources/application.properties index 0a1c9a236..2f5510da6 100644 --- a/serverlogic/src/main/resources/application.properties +++ b/serverlogic/src/main/resources/application.properties @@ -29,7 +29,7 @@ spring.redis.expireTime = -1 #spring.data.mongodb.uri = mongodb://mongouser:ysj#2017#ljsd@111.231.54.96:27017/ysj_wx_1 #spring.data.mongodb2.uri = mongodb://mongouser:ysj#2017#ljsd@111.231.54.96:27017/develop_ysj_wx_1 #mongodb2 develop -spring.data.mongodb.uri = mongodb://60.1.1.14:27017/ysj_msy +spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_msy mongodb.options.maxWaitTime = 120000 mongodb.options.connectTimeout = 1000 mongodb.options.socketTimeout = 0 diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index 4ba9cbaa5..b516c9d55 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -46,8 +46,8 @@ public class NettyClient { } - public static HeroInfoProto.GetHeroInfoRequest getHero(){ - return HeroInfoProto.GetHeroInfoRequest.newBuilder().setNum(1).setStr("111").build(); + public static HeroInfoProto.GetHeroListInfoRequest getHero(){ + return HeroInfoProto.GetHeroListInfoRequest.newBuilder().setNum(1).setStr("111").build(); } private static byte[] makeFinalMessage(MessageLite request, int msgNum) { diff --git a/test/src/main/java/network/client/NettyTCPClientHandler.java b/test/src/main/java/network/client/NettyTCPClientHandler.java index 9fb2c8800..2d14fb520 100644 --- a/test/src/main/java/network/client/NettyTCPClientHandler.java +++ b/test/src/main/java/network/client/NettyTCPClientHandler.java @@ -5,6 +5,7 @@ import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.cocdex.Tea; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.HeroInfoProto; +import com.ljsd.jieling.protocols.PlayerInfoProto; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; @@ -113,10 +114,10 @@ public class NettyTCPClientHandler extends SimpleChannelInboundHandler { byte[] packetData = packetNetData.parseServerProtoNetData(); if(msgId == GET_HEROINFO_RESPONSE_VALUE){ - HeroInfoProto.GetHeroInfoResponse getHeroInfoResponse = HeroInfoProto.GetHeroInfoResponse.parseFrom(packetData); - int heroListCount = getHeroInfoResponse.getHeroListCount(); + HeroInfoProto.GetHeroListInfoResponse getHeroInfoResponse = HeroInfoProto.GetHeroListInfoResponse.parseFrom(packetData); +// int heroListCount = getHeroInfoResponse.getHeroListCount(); //int heroListCount = getHeroInfoResponse.getHeroListCount(); - System.out.println("--->>>>" + heroListCount); +// System.out.println("--->>>>" + heroListCount); } System.out.println("back hartbeat id : "+msgId); From 6a096f78e92448a1cf86d375d39ef9ca251ee7f4 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 18 Jan 2019 12:12:58 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90java?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/src/main/java/ExcelUtils.java | 116 +++++++++++++++++++++++++++-- 1 file changed, 110 insertions(+), 6 deletions(-) diff --git a/test/src/main/java/ExcelUtils.java b/test/src/main/java/ExcelUtils.java index afb70c898..03a457e1a 100644 --- a/test/src/main/java/ExcelUtils.java +++ b/test/src/main/java/ExcelUtils.java @@ -3,18 +3,34 @@ import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class ExcelUtils { private static boolean isWrite = true; - private static String excelPath ="tmp/"; - private static String path = "C:/ljsd/jieling_conf/"; + private static String excelPath ="D:/tmp/"; //excel 文件 + private static String path = "conf/server/"; + private static Set oldFileNames = new HashSet<>(); + private static String javaFilePath = "serverlogic/src/main/java/com/ljsd/jieling/config/"; public static void main(String[] args) throws IOException { + File oldfile = new File(path); + String[] list = oldfile.list(); + oldFileNames.addAll(Arrays.asList(list)); readExcelData(); + //只加载新文件 + Set newFileNames = new HashSet<>(); + File newfile = new File(path); + String[] newList = newfile.list(); + newFileNames.addAll(Arrays.asList(newList)); + newFileNames.removeAll(oldFileNames); + if(!newFileNames.isEmpty()){ + for(String newFileName : newFileNames){ + String finalNewFileName = newFileName.replaceAll(".txt", ""); + genJavaFile(finalNewFileName); + } + + } + } public static void readExcelData() throws IOException { @@ -40,6 +56,94 @@ public class ExcelUtils { } } + public static void genJavaFile(String fileName){ + + Map fieldInfo = new HashMap<>(); + File file = new File("conf/server/"+fileName +".txt"); + StringBuffer stringBuffer = new StringBuffer("package com.ljsd.jieling.config;\n" + + "\n" + + "import com.ljsd.jieling.logic.STableManager;\n" + + "import com.ljsd.jieling.logic.Table;\n" + + "\n" + + "import java.util.Map;\n" + + "\n" + + "@Table(name =\"").append(fileName).append("\")\r\n"); + stringBuffer.append("public class S").append(fileName).append(" implements BaseConfig {\n\n"); + StringBuffer getInfos = new StringBuffer(); + if(file.exists()){ + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); + String firstLine = bufferedReader.readLine(); + String secondLine = bufferedReader.readLine(); + String[] s = firstLine.split("\t"); + String[] s1 = secondLine.split("\t"); + + for(int i=0;i Date: Fri, 18 Jan 2019 12:41:09 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/handler/DrawHeroHandler.java | 2 ++ .../com/ljsd/jieling/handler/GameGM/GMRequestHandler.java | 2 +- .../{GetAllHeroHandler.java => GetAllHerosHandler.java} | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) rename serverlogic/src/main/java/com/ljsd/jieling/handler/{GetAllHeroHandler.java => GetAllHerosHandler.java} (97%) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java index 47b91825f..9f229b023 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/DrawHeroHandler.java @@ -9,10 +9,12 @@ import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.util.MessageUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; +@Component public class DrawHeroHandler extends BaseHandler { private static final Logger LOGGER = LoggerFactory.getLogger(DrawHeroHandler.class); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 0ec01ed2b..2eb6b3716 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -24,7 +24,7 @@ public class GMRequestHandler extends BaseHandler{ @Override public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.GM_COMMAND; + return MessageTypeProto.MessageType.GM_REQUEST; } @Override public void process(ISession iSession, PacketNetData netData) throws Exception { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHerosHandler.java similarity index 97% rename from serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java rename to serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHerosHandler.java index b5d5d4a90..015a65b7d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHerosHandler.java @@ -14,9 +14,9 @@ import java.util.ArrayList; import java.util.List; @Component -public class GetAllHeroHandler extends BaseHandler { +public class GetAllHerosHandler extends BaseHandler{ + private static final Logger LOGGER = LoggerFactory.getLogger(GetAllHerosHandler.class); - private static final Logger LOGGER = LoggerFactory.getLogger(GetAllHeroHandler.class); @Override public MessageTypeProto.MessageType getMessageCode() { From 713ecb6902c0489cb197cf1d513a85c9d0172229 Mon Sep 17 00:00:00 2001 From: gaojie Date: Fri, 18 Jan 2019 15:37:44 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/src/main/java/ExcelUtils.java | 48 +++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/test/src/main/java/ExcelUtils.java b/test/src/main/java/ExcelUtils.java index a0c18eb98..1162b24f8 100644 --- a/test/src/main/java/ExcelUtils.java +++ b/test/src/main/java/ExcelUtils.java @@ -33,29 +33,6 @@ public class ExcelUtils { } - public static void readExcelData() throws IOException { - File file = new File(excelPath); - if (file.exists()) { - File[] files = file.listFiles(); - for (File file1 : files) { - if (file1.isDirectory()) { - continue; - } - String extString = file1.getName().substring(file1.getName().lastIndexOf(".")); - if (!".xlsx".equals(extString)) { - continue; - } - String filePath = excelPath + file1.getName(); - Workbook wb = readExcel(filePath); - if(file1.getName().contains("1.Map_")){ - bulidMapInfo(wb); - }else{ - buildDataInfo(wb); - } - } - } - } - public static void genJavaFile(String fileName){ Map fieldInfo = new HashMap<>(); @@ -119,6 +96,29 @@ public class ExcelUtils { System.out.println(getInfos); } + public static void readExcelData() throws IOException { + File file = new File(excelPath); + if (file.exists()) { + File[] files = file.listFiles(); + for (File file1 : files) { + if (file1.isDirectory()) { + continue; + } + String extString = file1.getName().substring(file1.getName().lastIndexOf(".")); + if (!".xlsx".equals(extString)) { + continue; + } + String filePath = excelPath + file1.getName(); + Workbook wb = readExcel(filePath); + if(file1.getName().contains("1.Map_")){ + bulidMapInfo(wb); + }else{ + buildDataInfo(wb); + } + } + } + } + private static String typeInfo(String fieldInfo){ //mut,int#int,2 if(fieldInfo.contains("mut")){ @@ -167,7 +167,7 @@ public class ExcelUtils { // } if (row != null) { StringBuilder info = new StringBuilder(); - int colnum = row2.getLastCellNum(); + int colnum = row1.getLastCellNum(); for (int j = 1; j < colnum; j++) { int cellFormatValue = (int) getCellFormatValue(row1.getCell(j)); if (cellFormatValue == 3){