diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/AcceptRedInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/AcceptRedInfo.java index aea72a1d6..33036ffaa 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/AcceptRedInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/AcceptRedInfo.java @@ -10,6 +10,7 @@ public class AcceptRedInfo { public int count; public int itemId; public int time; + public int position; public int getUid() { return uid; @@ -43,10 +44,19 @@ public class AcceptRedInfo { this.time = time; } - public AcceptRedInfo(int uid, int itemId,int count, int time) { + public int getPosition() { + return position; + } + + public void setPosition(int position) { + this.position = position; + } + + public AcceptRedInfo(int uid, int itemId,int count, int time,int position) { this.uid = uid; this.itemId = itemId; this.count = count; this.time = time; + this.position = position; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index acbf4c328..6450886e9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -1040,6 +1040,7 @@ public class GuildLogic { redPackage.setRedId(Integer.parseInt(entry.getKey())); redPackage.setUserName(UserManager.getUser(entry.getValue().getUid()).getPlayerInfoManager().getNickName()); redPackage.setRedType(entry.getValue().getTypeId()); + redPackage.setSendTime(entry.getValue().getSendTime()); builder.addInfo(redPackage); } for(String id:removeId){ @@ -1065,7 +1066,8 @@ public class GuildLogic { RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(UserManager.getUser(uid).getPlayerInfoManager().getGuildId()), String.valueOf(redId), RedPackage.class); SGuildRedPackConfig config = SGuildRedPackConfig.sGuildRedPackConfigMap.get(packInfo.getTypeId()); ItemUtil.drop(UserManager.getUser(uid),new int[][]{new int[]{config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage))}},BIReason.RED_PACKAGE_REWARD); - RedisUtil.getInstence().putMapEntry("red_already_list", String.valueOf(redId),String.valueOf(uid),new AcceptRedInfo(uid,config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage)),(int)(TimeUtils.now()/1000))); + int position = getMemberType(uid, GuilidManager.guildInfoMap.get(UserManager.getUser(uid).getPlayerInfoManager().getGuildId()).getMembers()); + RedisUtil.getInstence().putMapEntry("red_already_list", String.valueOf(redId),String.valueOf(uid),new AcceptRedInfo(uid,config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage)),(int)(TimeUtils.now()/1000),position)); } MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true); } @@ -1078,6 +1080,7 @@ public class GuildLogic { */ public static void getRedPackageDetail(ISession session,int redId, MessageTypeProto.MessageType messageType) throws Exception { Map alreadyList = RedisUtil.getInstence().getMapValues("red_already_list", String.valueOf(redId), Integer.class, AcceptRedInfo.class); + int guildId = UserManager.getUser(session.getUid()).getPlayerInfoManager().getGuildId(); Family.RedPackageDetailResponse.Builder builder = Family.RedPackageDetailResponse.newBuilder(); if(!alreadyList.isEmpty()) { for(Map.Entry already:alreadyList.entrySet()){ @@ -1089,11 +1092,12 @@ public class GuildLogic { .setName(playerInfoManager.getNickName()) .setTime(already.getValue().getTime()) .setItemId(already.getValue().getItemId()) - .setCount(already.getValue().getCount()); + .setCount(already.getValue().getCount()) + .setPosition(already.getValue().getPosition()); builder.addInfo(detail.build()); } } - RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(UserManager.getUser(session.getUid()).getPlayerInfoManager().getGuildId()), String.valueOf(redId), RedPackage.class); + RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(guildId), String.valueOf(redId), RedPackage.class); PlayerManager playerInfoManager = UserManager.getUser(packInfo.getUid()).getPlayerInfoManager(); builder.setSendName(playerInfoManager.getNickName()) .setHead(playerInfoManager.getHead())