Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.event;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationEventPublisher;import org.springframework.stereotype.Component;/*** Publishes TagListing change events for real-time Solr updates.* Inject this service in controllers that modify TagListing entities.*/@Componentpublic class TagListingEventPublisher {private static final Logger logger = LoggerFactory.getLogger(TagListingEventPublisher.class);@Autowiredprivate ApplicationEventPublisher eventPublisher;public void publishPriceChange(int itemId, int catalogId) {logger.debug("Publishing price change event for itemId={}, catalogId={}", itemId, catalogId);eventPublisher.publishEvent(new TagListingChangedEvent(this, itemId, catalogId,TagListingChangedEvent.ChangeType.PRICE_UPDATED));}public void publishStatusChange(int itemId, int catalogId) {logger.debug("Publishing status change event for itemId={}, catalogId={}", itemId, catalogId);eventPublisher.publishEvent(new TagListingChangedEvent(this, itemId, catalogId,TagListingChangedEvent.ChangeType.STATUS_CHANGED));}public void publishCreated(int itemId, int catalogId) {logger.debug("Publishing created event for itemId={}, catalogId={}", itemId, catalogId);eventPublisher.publishEvent(new TagListingChangedEvent(this, itemId, catalogId,TagListingChangedEvent.ChangeType.CREATED));}public void publishDeleted(int itemId, int catalogId) {logger.debug("Publishing deleted event for itemId={}, catalogId={}", itemId, catalogId);eventPublisher.publishEvent(new TagListingChangedEvent(this, itemId, catalogId,TagListingChangedEvent.ChangeType.DELETED));}}