domain model and empty database
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
package pl.com.bottega.factory.demand.forecasting;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
public class DailyId {
|
||||
private final String refNo;
|
||||
private final LocalDate date;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package pl.com.bottega.factory.demand.forecasting;
|
||||
|
||||
import lombok.Value;
|
||||
|
||||
@Value
|
||||
public class Demand {
|
||||
long level;
|
||||
Schema schema;
|
||||
|
||||
public enum Schema {
|
||||
AtDayStart, Every3hours, TillDayEnd
|
||||
}
|
||||
|
||||
public static Demand nothingDemanded() {
|
||||
return of(0);
|
||||
}
|
||||
|
||||
public static Demand of(long level) {
|
||||
return new Demand(level, Schema.TillDayEnd);
|
||||
}
|
||||
|
||||
public static Demand of(long level, Schema schema) {
|
||||
return new Demand(level, schema);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package pl.com.bottega.factory.demand.forecasting;
|
||||
|
||||
import lombok.Value;
|
||||
import pl.com.bottega.factory.product.management.RefNoId;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DemandEvents {
|
||||
void emit(DemandedLevelsChanged event);
|
||||
|
||||
@Value
|
||||
class DemandedLevelsChanged {
|
||||
RefNoId id;
|
||||
Map<DailyId, Change> results;
|
||||
|
||||
public DemandedLevelsChanged(RefNoId id, Map<DailyId, Change> results) {
|
||||
this.id = id;
|
||||
this.results = Collections.unmodifiableMap(results);
|
||||
}
|
||||
|
||||
@Value
|
||||
public static class Change {
|
||||
Demand previous;
|
||||
Demand current;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package pl.com.bottega.factory.product.management;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
public class RefNoId {
|
||||
private final String refNo;
|
||||
}
|
||||
Reference in New Issue
Block a user