From 0a3b7ae1e070677f126098722484ca43fde35518 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Thu, 4 Sep 2025 21:34:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E4=BB=BB=E5=8A=A1-=E5=85=AC?= =?UTF-8?q?=E4=BC=9A=E5=BC=80=E4=B8=9A=E4=BB=BB=E5=8A=A1=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/guildtask/GuildTaskService.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java index 7ef91891c..ebcb8371b 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java @@ -148,7 +148,7 @@ public class GuildTaskService { GuildTaskReachRecord existOne = existRecordMap.get(levelInfo.getLevel()); if (existOne != null) { //不是当天并且等级已经达标,计算下一级 - RMap receicveStatus = this.receicveStatus(existOne.getGuildId()); + RMap receicveStatus = this.receicveStatus(existOne.getTaskKey(), existOne.getGuildId()); if (statDate.equals(existOne.getStatDate()) && !receicveStatus.containsKey(existOne.getLevel())) { existOne.setDiamondNum(diamond); existOne.setAnchorNum(memberNum.intValue()); @@ -161,10 +161,7 @@ public class GuildTaskService { existOne.setReachStatus(reachStatus ? 1 : 0); existOne.setUpdateTime(now); resultList.add(existOne); - if (!reachStatus) { - break; - } - } else { + } else if (!statDate.equals(existOne.getStatDate()) && existOne.getReachStatus() <= 0) { this.addNewGuildReachRecord(cycleDate, resultList, levelInfo, guildId, partitionId, statDate, diamond, anchorReachNum, memberNum.intValue()); } @@ -426,7 +423,7 @@ public class GuildTaskService { if (reachRecord.getReceiveStatus() > 0) { throw new ServiceException(BusiStatus.ROOM_DAY_DIAMOND_REWARD_RECV_RECORD_EXIST); } - RMap receicveStatus = this.receicveStatus(reachRecord.getGuildId()); + RMap receicveStatus = this.receicveStatus(reachRecord.getTaskKey(), reachRecord.getGuildId()); if (receicveStatus.fastPutIfAbsent(reachRecord.getLevel(), 1)) { throw new ServiceException(BusiStatus.ROOM_DAY_DIAMOND_REWARD_RECV_RECORD_EXIST); } @@ -527,7 +524,7 @@ public class GuildTaskService { baseSendService.sendSystemMsg(uidStr, tip); } - private RMap receicveStatus(Integer guildId) { - return redissonClient.getMap(guild_task_receive.getKey(guildId), new TypedJsonJacksonCodec(Integer.class, Integer.class)); + private RMap receicveStatus(String taskKey, Integer guildId) { + return redissonClient.getMap(guild_task_receive.getKey(taskKey, guildId.toString()), new TypedJsonJacksonCodec(Integer.class, Integer.class)); } }