package com.napa.pulse.service.impl; import com.napa.pulse.dao.interfaces.SiteQueueDAO; import com.napa.pulse.dto.SiteQueueDTO; import com.napa.pulse.service.interfaces.SiteQueueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.StringJoiner; @Service public class SiteQueueServiceImpl implements SiteQueueService { @Autowired private SiteQueueDAO siteQueueDAO; public String siteIsQueued(int siteId) { return siteQueueDAO.siteIsQueued(siteId); } public String siteIsQueuedExceptSlider(int siteId) { return siteQueueDAO.siteIsQueuedExceptSlider(siteId); } public String siteIsQueued(List siteIds) { StringJoiner sj = new StringJoiner(","); for (Integer siteId : siteIds) { sj.add(siteId.toString()); } return siteQueueDAO.siteIsQueued(sj.toString()); } public int addClearFlags(List siteIds, int reason, int userId, String metaData) { int id = getQueueId(); siteQueueDAO.add(id, reason, userId, metaData); for (int siteId : siteIds) { siteQueueDAO.addMapping(id, siteId); } return id; } public int addCopy(int fromSite, List siteIds, int reason, int userId, String metaData) { try{ int id = getQueueId(); siteQueueDAO.add(id, reason, userId, metaData); siteQueueDAO.addMapping(id, fromSite); for (int siteId : siteIds) { siteQueueDAO.addMapping(id, siteId, "T"); } return id; }catch(Exception e){ throw new RuntimeException(e.getMessage()); } } public int addSlider(int siteId, int userId) { int id = getQueueId(); siteQueueDAO.add(id, 1, userId); siteQueueDAO.addMapping(id, siteId); return id; } public void processing(int id) { siteQueueDAO.processing(id); } public void completed(int id) { siteQueueDAO.completed(id); } public void error(int id) { siteQueueDAO.error(id); } public List getSiteQueue() { return siteQueueDAO.getSiteQueue(); } private int getQueueId() { return siteQueueDAO.getQueueId(); } }