1 package com.srv4pos.server.api.sale;
2
3 import flexjson.JSONDeserializer;
4 import flexjson.transformer.DateTransformer;
5 import org.springframework.roo.addon.javabean.RooJavaBean;
6 import org.springframework.roo.addon.json.RooJson;
7 import org.springframework.roo.addon.tostring.RooToString;
8
9 import javax.validation.constraints.Min;
10 import javax.validation.constraints.NotNull;
11 import java.util.Date;
12 import java.util.Map;
13
14 @RooJavaBean
15 @RooToString
16 @RooJson(deepSerialize = true, fromJsonMethod = "")
17 public class SaleStatsInfo {
18
19
20
21
22 @Min(0)
23 private long total;
24
25
26
27
28 @Min(0)
29 private long amountOfSales;
30
31
32
33
34 @Min(0)
35 private double amountOfProducts;
36
37
38
39
40 @NotNull
41 private Map<Date, Long> bruttoStats;
42
43
44
45
46 @NotNull
47 private String dateGroupingUnit;
48
49
50 public static SaleStatsInfo fromJsonToSaleStatsInfo(String json) {
51 return new JSONDeserializer<SaleStatsInfo>()
52 .use(null, SaleStatsInfo.class)
53 .use(new DateTransformer("yyyy-MM-dd'T'HH:mm:ss.SSSZ"), "bruttoStats.keys")
54 .deserialize(json);
55 }
56 }