Rev 35547 | Blame | Compare with Previous | 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));}public void publishFlagshipChange(int catalogId) {logger.debug("Publishing flagship change event for catalogId={}", catalogId);eventPublisher.publishEvent(new TagListingChangedEvent(this, 0, catalogId,TagListingChangedEvent.ChangeType.FLAGSHIP_UPDATED));}}