From e4d525eaac8f32afcee58b8a4629d6d161c14286 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Fri, 14 Nov 2025 16:26:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=A0=E9=80=81=E7=9A=84=E5=8B=8B=E7=AB=A0?= =?UTF-8?q?=E6=9C=80=E5=A4=9A=E6=98=BE=E7=A4=BA8=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/PropsActivitySendCommon.java | 20 ++++++++++------- .../impl/BadgeBackpackClientServiceImpl.java | 22 +++++++++++-------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/common/activity/PropsActivitySendCommon.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/common/activity/PropsActivitySendCommon.java index 318f21f1..c794960e 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/common/activity/PropsActivitySendCommon.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/common/activity/PropsActivitySendCommon.java @@ -460,13 +460,7 @@ public class PropsActivitySendCommon { if (CollectionUtils.isNotEmpty(useBadges) && useBadges.size() >= 8) { //卸下部分佩戴中的徽章 - Set ids = Sets.newHashSet(); - for (int i = 0; i < useBadges.size(); i++) { - if (i > 3) { - ids.add(useBadges.get(i).getId()); - } - } - badgeBackpackService.removeWearByIds(ids); + removeWears(useBadges, 8); } if (Objects.equals(prize.getQuantity(), BigDecimal.ZERO)) { @@ -481,8 +475,18 @@ public class PropsActivitySendCommon { // userProfileRepository.removeCache(userId); } + private void removeWears(List useBadges, Integer maxDisplay) { + Set ids = Sets.newHashSet(); + for (int i = 0; i < useBadges.size(); i++) { + if (i > maxDisplay) { + ids.add(useBadges.get(i).getId()); + } + } + badgeBackpackService.removeWearByIds(ids); + } - private void sendRoomBadge(SendRewardAbstract param, List val) { + + private void sendRoomBadge(SendRewardAbstract param, List val) { Long roomId = roomProfileManagerService.getRoomId(param.getAcceptUserId()); if (Objects.isNull(roomId)) { log.warn("领取房间徽章错误,没有找到用户房间信息:{}", roomId); diff --git a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/BadgeBackpackClientServiceImpl.java b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/BadgeBackpackClientServiceImpl.java index 16e34b12..2289a397 100644 --- a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/BadgeBackpackClientServiceImpl.java +++ b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/BadgeBackpackClientServiceImpl.java @@ -395,16 +395,20 @@ public class BadgeBackpackClientServiceImpl implements BadgeBackpackClientServic return; } - Set ids = Sets.newHashSet(); - - for (int i = 0; i < usePropsList.size(); i++) { - - if (i > 3) { - ids.add(usePropsList.get(i).getId()); - } - } - badgeBackpackService.removeWearByIds(ids); + removeWears(usePropsList, 8); } + private void removeWears(List usePropsList, Integer maxDisplay) { + Set ids = Sets.newHashSet(); + + for (int i = 0; i < usePropsList.size(); i++) { + + if (i > maxDisplay) { + ids.add(usePropsList.get(i).getId()); + } + } + badgeBackpackService.removeWearByIds(ids); + } + }