diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/material/query/UserBadgeTableQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/material/query/UserBadgeTableQryExe.java index 207925d9..783682e5 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/material/query/UserBadgeTableQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/material/query/UserBadgeTableQryExe.java @@ -12,9 +12,13 @@ import com.red.circle.other.infra.database.rds.entity.badge.BadgePictureConfig; import com.red.circle.other.infra.database.rds.service.badge.BadgeBackpackService; import com.red.circle.other.infra.database.rds.service.badge.BadgeConfigService; import com.red.circle.other.infra.database.rds.service.badge.BadgePictureConfigService; +import com.red.circle.other.inner.enums.material.BadgeBackpackExpireType; import com.red.circle.other.inner.enums.material.BadgeConfigTypeEnum; import com.red.circle.tool.core.collection.CollectionUtils; +import com.red.circle.tool.core.date.TimestampUtils; import com.red.circle.tool.core.text.StringUtils; + +import java.sql.Timestamp; import java.util.Comparator; import java.util.List; import java.util.Map; @@ -103,8 +107,15 @@ public class UserBadgeTableQryExe { return new BadgeTableCO() .setBadgeConfig(badgeConfigCO) .setActivation(Objects.nonNull(badgeBackpackMap.get(badgeConfig.getId()))) - .setExpireTime(Objects.nonNull(badgeBackpackMap.get(badgeConfig.getId())) ? badgeBackpackMap.get(badgeConfig.getId()).getExpireTime() : null); + .setExpireTime(getBadgeExpireTime(badgeBackpackMap.get(badgeConfig.getId()))); }; } + private Long getBadgeExpireTime(BadgeBackpack badgeBackpack) { + return Objects.equals(badgeBackpack.getExpireType(), BadgeBackpackExpireType.PERMANENT.name()) + ? TimestampUtils.nowPlusYear(10).getTime() + : badgeBackpack.getExpireTime().getTime(); + + } + } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/material/BadgeTableCO.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/material/BadgeTableCO.java index e16ed134..9fe8664b 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/material/BadgeTableCO.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/material/BadgeTableCO.java @@ -31,7 +31,7 @@ public class BadgeTableCO extends ClientObject { /** * 过期时间. */ - private Timestamp expireTime; + private Long expireTime; /** * 徽章配置信息.