SUPPORT-9165: fix from review

This commit is contained in:
adel.kalimullin 2025-05-13 08:53:15 +03:00
parent 512aa82d64
commit bc0f2af3f1
7 changed files with 22 additions and 8 deletions

View file

@ -2,9 +2,11 @@ package ervu_business_metrics.dao;
import java.util.List;
import ervu_business_metrics.config.KafkaEnabledCondition;
import ervu_business_metrics.model.sso.UserAccount;
import ervu_business_metrics.model.sso.UserSessionInfo;
import org.jooq.DSLContext;
import org.springframework.context.annotation.Conditional;
import org.springframework.stereotype.Repository;
import ru.micord.webbpm.ervu.business_metrics.db_beans.auth.tables.records.ActiveSessionRecord;
@ -14,6 +16,7 @@ import static ru.micord.webbpm.ervu.business_metrics.db_beans.auth.Tables.ACTIVE
* @author Adel Kalimullin
*/
@Repository
@Conditional(KafkaEnabledCondition.class)
public class ActiveSessionDao {
private final DSLContext dsl;
@ -37,7 +40,7 @@ public class ActiveSessionDao {
dsl.batchInsert(records).execute();
}
public void clearActiveSessions() {
public void clear() {
dsl.truncate(ACTIVE_SESSION).execute();
}
}

View file

@ -1,4 +1,4 @@
package ervu_business_metrics.model.idm.deserializer;
package ervu_business_metrics.deserializer;
import java.io.IOException;

View file

@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import ervu_business_metrics.model.ReferenceEntity;
import ervu_business_metrics.model.idm.deserializer.ReferenceEntityDeserializer;
import ervu_business_metrics.deserializer.ReferenceEntityDeserializer;
/**
* @author Adel Kalimullin

View file

@ -3,7 +3,7 @@ package ervu_business_metrics.model.sso;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import ervu_business_metrics.model.ReferenceEntity;
import ervu_business_metrics.model.idm.deserializer.ReferenceEntityDeserializer;
import ervu_business_metrics.deserializer.ReferenceEntityDeserializer;
/**

View file

@ -38,7 +38,7 @@ public class SessionService {
}
public void syncSessions() {
activeSessionDao.clearActiveSessions();
activeSessionDao.clear();
List<UserSessionInfo> sessions = fetchSessions();
if (!sessions.isEmpty()) {

View file

@ -8,7 +8,6 @@ import net.javacrumbs.shedlock.core.SchedulerLock;
import org.springframework.context.annotation.Conditional;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
@ -24,14 +23,12 @@ public class SessionScheduledService {
}
@PostConstruct
@Transactional
public void init() {
run();
}
@Scheduled(cron = "${session.sync.cron:0 */10 * * * *}")
@SchedulerLock(name = "syncSessions")
@Transactional
public void run() {
sessionService.syncSessions();
}

View file

@ -27,6 +27,12 @@
);
ALTER TABLE auth.active_session OWNER TO ervu_business_metrics;
COMMENT ON TABLE auth.active_session IS 'Активные сессии пользователей';
COMMENT ON COLUMN auth.active_session.session_id IS 'Идентификатор сессии';
COMMENT ON COLUMN auth.active_session.domain_id IS 'Идентификатор домена';
COMMENT ON COLUMN auth.active_session.user_id IS 'Идентификатор пользователя';
COMMENT ON COLUMN auth.active_session.ip_address IS 'IP-адрес пользователя';
</sql>
</changeSet>
@ -41,6 +47,14 @@
CONSTRAINT shedlock_pk PRIMARY KEY (name)
);
ALTER TABLE ervu_business_metrics.shedlock OWNER TO ervu_business_metrics;
COMMENT ON TABLE ervu_business_metrics.shedlock IS 'Таблица для хранения блокировок ShedLock';
COMMENT ON COLUMN ervu_business_metrics.shedlock.name IS 'Имя ресурса блокировки';
COMMENT ON COLUMN ervu_business_metrics.shedlock.lock_until IS 'Время, до которого действует блокировка';
COMMENT ON COLUMN ervu_business_metrics.shedlock.locked_at IS 'Время создания блокировки';
COMMENT ON COLUMN ervu_business_metrics.shedlock.locked_by IS 'Идентификатор узла, установившего блокировку';
</sql>
</changeSet>