package app.services.db; import app.entities.db.CollectableStatistic; import app.updates.BaseUpdater; import jakarta.annotation.PostConstruct; import jakarta.persistence.EntityManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; @Service @Transactional("RwTransactionManager") public class CollectStatisticService extends BaseUpdater { private EntityManager entityManager; @Autowired public CollectStatisticService(@Qualifier(value = "RwEntityManager") EntityManager entityManager) { this.entityManager = entityManager; } @Transactional("RwTransactionManager") public void add(CollectableStatistic collectableStatistic) { if (collectableStatistic.getClient_ip() != null && collectableStatistic.getClient_ip().equals("192.168.3.3") && collectableStatistic.getPath().equals("/api/stats")) return; entityManager.createNativeQuery("INSERT INTO `web_statistic` (`steam64`, `client_ip`, `method`, `path`, `query`, `useragent`) VALUES (?1, ?2, ?3, ?4, ?5, ?6)") .setParameter(1, collectableStatistic.getSteam64()) .setParameter(2, collectableStatistic.getClient_ip()) .setParameter(3, collectableStatistic.getMethod()) .setParameter(4, collectableStatistic.getPath()) .setParameter(5, collectableStatistic.getQuery()) .setParameter(6, collectableStatistic.getUseragent()) .executeUpdate(); } }