39 lines
1.7 KiB
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();
|
|
}
|
|
}
|
|
|