Alarm assignee as an object
This commit is contained in:
parent
8b6950031e
commit
f877fdef3f
@ -44,18 +44,8 @@ public class AlarmInfo extends Alarm {
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ApiModelProperty(position = 21, value = "Alarm assignee first name")
|
||||
private String assigneeFirstName;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ApiModelProperty(position = 22, value = "Alarm assignee last name")
|
||||
private String assigneeLastName;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ApiModelProperty(position = 23, value = "Alarm assignee email")
|
||||
private String assigneeEmail;
|
||||
@ApiModelProperty(position = 21, value = "Alarm assignee")
|
||||
private AlarmAssignee assignee;
|
||||
|
||||
public AlarmInfo() {
|
||||
super();
|
||||
@ -69,18 +59,14 @@ public class AlarmInfo extends Alarm {
|
||||
super(alarmInfo);
|
||||
this.originatorName = alarmInfo.originatorName;
|
||||
this.originatorLabel = alarmInfo.originatorLabel;
|
||||
this.assigneeFirstName = alarmInfo.assigneeFirstName;
|
||||
this.assigneeLastName = alarmInfo.assigneeLastName;
|
||||
this.assigneeEmail = alarmInfo.assigneeEmail;
|
||||
this.assignee = alarmInfo.getAssignee();
|
||||
}
|
||||
|
||||
public AlarmInfo(Alarm alarm, String originatorName, String originatorLabel, String assigneeFirstName, String assigneeLastName, String assigneeEmail) {
|
||||
public AlarmInfo(Alarm alarm, String originatorName, String originatorLabel, AlarmAssignee assignee) {
|
||||
super(alarm);
|
||||
this.originatorName = originatorName;
|
||||
this.originatorLabel = originatorLabel;
|
||||
this.assigneeFirstName = assigneeFirstName;
|
||||
this.assigneeLastName = assigneeLastName;
|
||||
this.assigneeEmail = assigneeEmail;
|
||||
this.assignee = assignee;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -52,15 +52,11 @@ public class AlarmData extends AlarmInfo {
|
||||
if (assigneeUpdate != null) {
|
||||
if (assigneeUpdate.isDeleted()) {
|
||||
this.setAssigneeId(null);
|
||||
this.setAssigneeFirstName(null);
|
||||
this.setAssigneeLastName(null);
|
||||
this.setAssigneeEmail(null);
|
||||
this.setAssignee(null);
|
||||
} else {
|
||||
AlarmAssignee assignee = assigneeUpdate.getAssignee();
|
||||
this.setAssigneeId(assignee.getId());
|
||||
this.setAssigneeFirstName(assignee.getFirstName());
|
||||
this.setAssigneeLastName(assignee.getLastName());
|
||||
this.setAssigneeEmail(assignee.getEmail());
|
||||
this.setAssignee(assignee);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
|
||||
@ -289,10 +289,9 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
||||
alarm.setAssignTs(assignTime);
|
||||
alarm = alarmDao.save(alarm.getTenantId(), alarm);
|
||||
AlarmInfo alarmInfo = getAlarmInfo(tenantId, alarm);
|
||||
return new AlarmOperationResult(alarm, new AlarmAssigneeUpdate(false,
|
||||
new AlarmAssignee(alarmInfo.getAssigneeId(), alarmInfo.getAssigneeFirstName(),
|
||||
alarmInfo.getAssigneeLastName(), alarmInfo.getAssigneeEmail())
|
||||
), new ArrayList<>(getPropagationEntityIds(alarm)));
|
||||
return new AlarmOperationResult(alarm,
|
||||
new AlarmAssigneeUpdate(false, alarmInfo.getAssignee()),
|
||||
new ArrayList<>(getPropagationEntityIds(alarm)));
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -467,9 +466,6 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
||||
private AlarmInfo getAlarmInfo(TenantId tenantId, Alarm alarm) {
|
||||
String originatorName;
|
||||
String originatorLabel;
|
||||
String assigneeFirstName = null;
|
||||
String assigneeLastName = null;
|
||||
String assigneeEmail = null;
|
||||
|
||||
Optional<NameLabelAndCustomerDetails> detailsOpt = entityService.fetchNameLabelAndCustomerDetails(tenantId, alarm.getOriginator());
|
||||
if (detailsOpt.isPresent() && detailsOpt.get().getName() != null) {
|
||||
@ -481,13 +477,12 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
||||
originatorLabel = "Deleted";
|
||||
}
|
||||
|
||||
AlarmAssignee assignee = null;
|
||||
if (alarm.getAssigneeId() != null) {
|
||||
User assignedUser = userService.findUserById(tenantId, alarm.getAssigneeId());
|
||||
assigneeFirstName = assignedUser.getFirstName();
|
||||
assigneeLastName = assignedUser.getLastName();
|
||||
assigneeEmail = assignedUser.getEmail();
|
||||
assignee = new AlarmAssignee(assignedUser.getId(), assignedUser.getFirstName(), assignedUser.getLastName(), assignedUser.getEmail());
|
||||
}
|
||||
return new AlarmInfo(alarm, originatorName, originatorLabel, assigneeFirstName, assigneeLastName, assigneeEmail);
|
||||
return new AlarmInfo(alarm, originatorName, originatorLabel, assignee);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -17,7 +17,9 @@ package org.thingsboard.server.dao.model.sql;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmAssignee;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||
import org.thingsboard.server.common.data.id.UserId;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ -47,10 +49,7 @@ public class AlarmInfoEntity extends AbstractAlarmEntity<AlarmInfo> {
|
||||
AlarmInfo alarmInfo = new AlarmInfo(super.toAlarm());
|
||||
alarmInfo.setOriginatorName(originatorName);
|
||||
alarmInfo.setOriginatorLabel(originatorLabel);
|
||||
|
||||
alarmInfo.setAssigneeFirstName(assigneeFirstName);
|
||||
alarmInfo.setAssigneeLastName(assigneeLastName);
|
||||
alarmInfo.setAssigneeEmail(assigneeEmail);
|
||||
alarmInfo.setAssignee(new AlarmAssignee(new UserId(getAssigneeId()), assigneeFirstName, assigneeLastName, assigneeEmail));
|
||||
return alarmInfo;
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.StringUtils;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmAssignee;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmStatus;
|
||||
import org.thingsboard.server.common.data.id.AlarmId;
|
||||
@ -123,9 +124,7 @@ public class AlarmDataAdapter {
|
||||
AlarmData alarmData = new AlarmData(alarm, entityId);
|
||||
alarmData.setOriginatorName(originatorName);
|
||||
alarmData.setOriginatorLabel(originatorLabel);
|
||||
alarmData.setAssigneeFirstName(assigneeFirstName);
|
||||
alarmData.setAssigneeLastName(assigneeLastName);
|
||||
alarmData.setAssigneeEmail(assigneeEmail);
|
||||
alarmData.setAssignee(new AlarmAssignee(alarm.getAssigneeId(), assigneeFirstName, assigneeLastName, assigneeEmail));
|
||||
|
||||
return alarmData;
|
||||
}
|
||||
|
||||
@ -35,6 +35,7 @@ import org.thingsboard.server.common.data.query.EntityKey;
|
||||
import org.thingsboard.server.common.data.query.EntityKeyType;
|
||||
import org.thingsboard.server.dao.model.ModelConstants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@ -186,6 +187,12 @@ public class DefaultAlarmQueryRepository implements AlarmQueryRepository {
|
||||
}
|
||||
fromPart.append(LEFT_JOIN_TB_USERS);
|
||||
EntityDataSortOrder sortOrder = pageLink.getSortOrder();
|
||||
|
||||
List<EntityKey> queryFields = new ArrayList<>();
|
||||
for(EntityKey key: query.getAlarmFields()){
|
||||
if()
|
||||
}
|
||||
|
||||
String textSearchQuery = buildTextSearchQuery(ctx, query.getAlarmFields(), pageLink.getTextSearch());
|
||||
if (sortOrder != null && sortOrder.getKey().getType().equals(EntityKeyType.ALARM_FIELD)) {
|
||||
String sortOrderKey = sortOrder.getKey().getKey();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user