From 1329c2b56b1cec1e88409a17a317511915beecf9 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 11 Jan 2020 13:38:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A2=E7=BA=A2=E5=8C=85=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/globals/BIReason.java | 2 ++ .../main/java/com/ljsd/jieling/logic/family/GuildLogic.java | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index 586012c49..12dd6f3a1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -108,6 +108,8 @@ public interface BIReason { int SEND_LIKE_REWARD = 63;//红包榜点赞奖励 + int RED_PACKAGE_REWARD = 64;//抢红包奖励 + int ADVENTURE_UPLEVEL_CONSUME = 1000;//秘境升级 int SECRETBOX_CONSUME = 1001;//秘盒抽卡 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 0909d9263..acbf4c328 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 @@ -1054,12 +1054,17 @@ public class GuildLogic { */ public static void robRedPackage(ISession session, int redId, MessageTypeProto.MessageType messageType) throws Exception{ int uid = session.getUid(); + AcceptRedInfo isAlready = RedisUtil.getInstence().getMapValue("red_already_list", String.valueOf(redId), String.valueOf(uid), AcceptRedInfo.class); + if(isAlready!=null){ + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); + } Object redPackage = RedisUtil.getInstence().lPop(RedisKey.getKey("red_remain_list", String.valueOf(redId),false)); Family.RobRedPackageResponse.Builder builder = Family.RobRedPackageResponse.newBuilder(); if(redPackage!=null){ builder.setIsSuccess(1); 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))); } MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);