39 lines
1.7 KiB

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();
}
}