diff --git a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/social/SkillSubscriptionService.java b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/social/SkillSubscriptionService.java index 08cb758b..22710e42 100644 --- a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/social/SkillSubscriptionService.java +++ b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/social/SkillSubscriptionService.java @@ -31,6 +31,7 @@ public class SkillSubscriptionService { return; // idempotent } subscriptionRepository.save(new SkillSubscription(skillId, userId)); + skillRepository.incrementSubscriptionCount(skillId); eventPublisher.publishEvent(new SkillSubscribedEvent(skillId, userId)); } @@ -39,6 +40,7 @@ public class SkillSubscriptionService { ensureSkillExists(skillId); subscriptionRepository.findBySkillIdAndUserId(skillId, userId).ifPresent(subscription -> { subscriptionRepository.delete(subscription); + skillRepository.decrementSubscriptionCount(skillId); eventPublisher.publishEvent(new SkillUnsubscribedEvent(skillId, userId)); }); }