Merge branch 'feature/device-service' of https://github.com/jazzm0/microservices-demo into feature/device-service

This commit is contained in:
Steinwagner 2019-12-11 12:00:41 +01:00
commit 071700b004
4 changed files with 21 additions and 4 deletions

View file

@ -1,5 +1,6 @@
package com.sap.tamagotchi.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
public class DefunctNotification implements IoTMessage {
@ -11,6 +12,7 @@ public class DefunctNotification implements IoTMessage {
this.message = message;
}
@JsonIgnore
@Override
public String getTopic() {
return "tamagotchi-defunct";

View file

@ -61,14 +61,18 @@ public class Device {
@JsonIgnore
public void changeHealthScore(int delta) {
int oldScore = healthScore;
if (healthScore >= 1) {
healthScore += delta;
if (healthScore > 150)
healthScore /= 10;
} else {
healthScore = 0;
}
messages.add(new DeviceEvent(id, owner, color, born, healthScore, Instant.now()));
if (healthScore < 1) {
healthScore = 0;
messages.add(new DeviceEvent(id, owner, color, born, healthScore, oldScore, Instant.now()));
} else
messages.add(new DeviceEvent(id, owner, color, born, healthScore, null, Instant.now()));
}
@JsonIgnore

View file

@ -1,6 +1,7 @@
package com.sap.tamagotchi.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.Instant;
@ -18,15 +19,18 @@ public class DeviceEvent implements IoTMessage {
private final Instant born;
@JsonProperty("healthScore")
private final Integer healthScore;
@JsonProperty("lastHealthScore")
private final Integer lastHealthScore;
@JsonProperty("eventTime")
private final Instant eventTime;
public DeviceEvent(String id, String owner, Color color, Instant born, Integer healthScore, Instant eventTime) {
public DeviceEvent(String id, String owner, Color color, Instant born, Integer healthScore, Integer lastHealthScore, Instant eventTime) {
this.id = id;
this.owner = owner;
this.color = color;
this.born = born;
this.healthScore = healthScore;
this.lastHealthScore = lastHealthScore;
this.eventTime = eventTime;
}
@ -55,6 +59,12 @@ public class DeviceEvent implements IoTMessage {
return healthScore;
}
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty("lastHealthScore")
public Integer getLastHealthScore() {
return lastHealthScore;
}
@JsonProperty("eventTime")
public String getEventTime() {
return eventTime.toString();

View file

@ -49,6 +49,7 @@ public class Owner {
}
}
@Scheduled(fixedDelay = 30000)
public void killRendomDevice() {
Collection<Device> devices = tamagotchiService.getDevices();