Fix sort property for events

This commit is contained in:
Andrii Shvaika 2022-07-29 18:17:03 +03:00
parent e602c98bc1
commit 13c47ed3d0
3 changed files with 15 additions and 10 deletions

View File

@ -225,10 +225,6 @@ public class EventController extends BaseController {
EntityId entityId = EntityIdFactory.getByTypeAndId(strEntityType, strEntityId); EntityId entityId = EntityIdFactory.getByTypeAndId(strEntityType, strEntityId);
checkEntityId(entityId, Operation.READ); checkEntityId(entityId, Operation.READ);
if (sortProperty != null && sortProperty.equals("createdTime")) {
sortProperty = ModelConstants.TS_COLUMN;
}
TimePageLink pageLink = createTimePageLink(pageSize, page, textSearch, sortProperty, sortOrder, startTime, endTime); TimePageLink pageLink = createTimePageLink(pageSize, page, textSearch, sortProperty, sortOrder, startTime, endTime);
return checkNotNull(eventService.findEventsByFilter(tenantId, entityId, eventFilter, pageLink)); return checkNotNull(eventService.findEventsByFilter(tenantId, entityId, eventFilter, pageLink));
} }

View File

@ -24,6 +24,8 @@ import org.thingsboard.server.dao.model.ModelConstants;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.MappedSuperclass; import javax.persistence.MappedSuperclass;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
import static org.thingsboard.server.dao.model.ModelConstants.EVENT_ENTITY_ID_PROPERTY; import static org.thingsboard.server.dao.model.ModelConstants.EVENT_ENTITY_ID_PROPERTY;
@ -36,6 +38,12 @@ import static org.thingsboard.server.dao.model.ModelConstants.TS_COLUMN;
@MappedSuperclass @MappedSuperclass
public abstract class EventEntity<T extends Event> implements BaseEntity<T> { public abstract class EventEntity<T extends Event> implements BaseEntity<T> {
public static final Map<String, String> eventColumnMap = new HashMap<>();
static {
eventColumnMap.put("createdTime", "ts");
}
@Id @Id
@Column(name = ModelConstants.ID_PROPERTY, columnDefinition = "uuid") @Column(name = ModelConstants.ID_PROPERTY, columnDefinition = "uuid")
protected UUID id; protected UUID id;

View File

@ -38,6 +38,7 @@ import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.common.stats.StatsFactory; import org.thingsboard.server.common.stats.StatsFactory;
import org.thingsboard.server.dao.DaoUtil; import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.event.EventDao; import org.thingsboard.server.dao.event.EventDao;
import org.thingsboard.server.dao.model.sql.AssetInfoEntity;
import org.thingsboard.server.dao.model.sql.EventEntity; import org.thingsboard.server.dao.model.sql.EventEntity;
import org.thingsboard.server.dao.sql.ScheduledLogExecutorComponent; import org.thingsboard.server.dao.sql.ScheduledLogExecutorComponent;
import org.thingsboard.server.dao.sql.TbSqlBlockingQueueParams; import org.thingsboard.server.dao.sql.TbSqlBlockingQueueParams;
@ -201,7 +202,7 @@ public class JpaBaseEventDao implements EventDao {
@Override @Override
public PageData<? extends Event> findEvents(UUID tenantId, UUID entityId, EventType eventType, TimePageLink pageLink) { public PageData<? extends Event> findEvents(UUID tenantId, UUID entityId, EventType eventType, TimePageLink pageLink) {
return DaoUtil.toPageData(getEventRepository(eventType).findEvents(tenantId, entityId, pageLink.getStartTime(), pageLink.getEndTime(), DaoUtil.toPageable(pageLink))); return DaoUtil.toPageData(getEventRepository(eventType).findEvents(tenantId, entityId, pageLink.getStartTime(), pageLink.getEndTime(), DaoUtil.toPageable(pageLink, EventEntity.eventColumnMap)));
} }
@Override @Override
@ -277,7 +278,7 @@ public class JpaBaseEventDao implements EventDao {
eventFilter.getMessage(), eventFilter.getMessage(),
eventFilter.isError(), eventFilter.isError(),
eventFilter.getErrorStr(), eventFilter.getErrorStr(),
DaoUtil.toPageable(pageLink))); DaoUtil.toPageable(pageLink, EventEntity.eventColumnMap)));
} }
private PageData<? extends Event> findEventByFilter(UUID tenantId, UUID entityId, RuleNodeDebugEventFilter eventFilter, TimePageLink pageLink) { private PageData<? extends Event> findEventByFilter(UUID tenantId, UUID entityId, RuleNodeDebugEventFilter eventFilter, TimePageLink pageLink) {
@ -300,7 +301,7 @@ public class JpaBaseEventDao implements EventDao {
eventFilter.getMetadataSearch(), eventFilter.getMetadataSearch(),
eventFilter.isError(), eventFilter.isError(),
eventFilter.getErrorStr(), eventFilter.getErrorStr(),
DaoUtil.toPageable(pageLink))); DaoUtil.toPageable(pageLink, EventEntity.eventColumnMap)));
} }
private PageData<? extends Event> findEventByFilter(UUID tenantId, UUID entityId, ErrorEventFilter eventFilter, TimePageLink pageLink) { private PageData<? extends Event> findEventByFilter(UUID tenantId, UUID entityId, ErrorEventFilter eventFilter, TimePageLink pageLink) {
@ -313,7 +314,7 @@ public class JpaBaseEventDao implements EventDao {
eventFilter.getServer(), eventFilter.getServer(),
eventFilter.getMethod(), eventFilter.getMethod(),
eventFilter.getErrorStr(), eventFilter.getErrorStr(),
DaoUtil.toPageable(pageLink)) DaoUtil.toPageable(pageLink, EventEntity.eventColumnMap))
); );
} }
@ -331,7 +332,7 @@ public class JpaBaseEventDao implements EventDao {
statusFilterEnabled, statusFilterEnabled,
statusFilter, statusFilter,
eventFilter.getErrorStr(), eventFilter.getErrorStr(),
DaoUtil.toPageable(pageLink)) DaoUtil.toPageable(pageLink, EventEntity.eventColumnMap))
); );
} }
@ -347,7 +348,7 @@ public class JpaBaseEventDao implements EventDao {
eventFilter.getMaxMessagesProcessed(), eventFilter.getMaxMessagesProcessed(),
eventFilter.getMinErrorsOccurred(), eventFilter.getMinErrorsOccurred(),
eventFilter.getMaxErrorsOccurred(), eventFilter.getMaxErrorsOccurred(),
DaoUtil.toPageable(pageLink)) DaoUtil.toPageable(pageLink, EventEntity.eventColumnMap))
); );
} }