From 640505221591de3fd5ddb76787bd56097f17577c Mon Sep 17 00:00:00 2001 From: hy001 Date: Mon, 25 May 2026 10:40:03 +0800 Subject: [PATCH] =?UTF-8?q?vip=E6=97=B6=E9=97=B4=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../props/ActivitySourceGroupGatewayImpl.java | 7 ++++++- .../PropsActivityRewardGroupClientServiceImpl.java | 12 +++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/props/ActivitySourceGroupGatewayImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/props/ActivitySourceGroupGatewayImpl.java index 7f0852dc..aef6008a 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/props/ActivitySourceGroupGatewayImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/gateway/props/ActivitySourceGroupGatewayImpl.java @@ -257,7 +257,8 @@ public class ActivitySourceGroupGatewayImpl implements ActivitySourceGroupGatewa ActivityRewardProps activityRewardProps = propsActivityInfraConvertor .toActivityRewardProps(rewardConfig); activityRewardProps.setCover(resolveVipCover(vipConfig, vipCoverMap)); - activityRewardProps.setQuantity(durationDays(vipConfig)); + activityRewardProps.setQuantity(rewardQuantityOrDefault(rewardConfig.getQuantity(), + durationDays(vipConfig))); activityRewardProps.setAmount(BigDecimal.valueOf(Objects.requireNonNullElse( vipConfig.getPriceGold(), 0L))); activityRewardProps.setRemark(displayName(vipConfig)); @@ -507,6 +508,10 @@ public class ActivitySourceGroupGatewayImpl implements ActivitySourceGroupGatewa return Objects.nonNull(days) && days > 0 ? days : 30; } + private int rewardQuantityOrDefault(Integer quantity, int defaultQuantity) { + return Objects.nonNull(quantity) && quantity > 0 ? quantity : defaultQuantity; + } + private String displayName(VipLevelConfig vipConfig) { if (Objects.nonNull(vipConfig.getDisplayName()) && !vipConfig.getDisplayName().isBlank()) { return vipConfig.getDisplayName(); diff --git a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/PropsActivityRewardGroupClientServiceImpl.java b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/PropsActivityRewardGroupClientServiceImpl.java index a5b2ff32..a1c1143c 100644 --- a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/PropsActivityRewardGroupClientServiceImpl.java +++ b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/material/props/impl/PropsActivityRewardGroupClientServiceImpl.java @@ -287,7 +287,7 @@ public class PropsActivityRewardGroupClientServiceImpl implements config); propsActivity.setSort(Objects.isNull(propsActivity.getSort()) ? 0 : propsActivity.getSort()); if (isVipLevelReward(config, vipConfigMap)) { - setVipConfig(propsActivity, vipConfigMap.get(Long.valueOf(config.getContent())), + setVipConfig(config, propsActivity, vipConfigMap.get(Long.valueOf(config.getContent())), vipCoverMap); return propsActivity; } @@ -429,13 +429,15 @@ public class PropsActivityRewardGroupClientServiceImpl implements && vipConfigMap.containsKey(DataTypeUtils.toLong(config.getContent())); } - private void setVipConfig(PropsActivityRewardConfigInfoDTO propsActivity, + private void setVipConfig(PropsActivityRewardConfig config, + PropsActivityRewardConfigInfoDTO propsActivity, VipLevelConfig vipConfig, Map vipCoverMap) { propsActivity.setCover(resolveVipCover(vipConfig, vipCoverMap)); propsActivity.setSourceUrl(resolveVipSourceUrl(vipConfig, vipCoverMap)); propsActivity.setAmount(BigDecimal.valueOf(Objects.requireNonNullElse( vipConfig.getPriceGold(), 0L))); - propsActivity.setQuantity(durationDays(vipConfig)); + propsActivity.setQuantity(rewardQuantityOrDefault(config.getQuantity(), + durationDays(vipConfig))); propsActivity.setName(displayName(vipConfig)); propsActivity.setRemark(displayName(vipConfig)); } @@ -490,6 +492,10 @@ public class PropsActivityRewardGroupClientServiceImpl implements return Objects.nonNull(days) && days > 0 ? days : 30; } + private int rewardQuantityOrDefault(Integer quantity, int defaultQuantity) { + return Objects.nonNull(quantity) && quantity > 0 ? quantity : defaultQuantity; + } + private String displayName(VipLevelConfig vipConfig) { if (StringUtils.isNotBlank(vipConfig.getDisplayName())) { return vipConfig.getDisplayName();