From 7fb418baf67445e1a84fc716ebd5ef51cbd7f8e5 Mon Sep 17 00:00:00 2001 From: gaojie Date: Fri, 18 Jan 2019 10:10:12 +0800 Subject: [PATCH] =?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) {