Map filter = mapper.convertValue(this,Map.class);
System.out.printf("查询条件:%s\n", JSON.toJSONString(filter));returnfilter;
}//https://stackoverflow.com/questions/6796187/java-introspection-object-to-map/57057596#57057596
public MaptoFilter2(){
Map filter = new HashMap();
Map introspected = new BeanMap(this);for (Map.Entryentry:introspected.entrySet())
{
String key=(String)entry.getKey();if("class".equals(key)) continue;
Object value=entry.getValue();
filter.put(key,value);
}returnfilter;
}public static final classBuilder {privateLocalDateTime startTime;privateLocalDateTime endTime;private Long nodeId = null;private Long fsId = null;private Long memId =null;private Long ifCardId = null;privateBuilder() {
}publicQueryConditionBuilder.Builder withStartTime(LocalDateTime val) {
startTime=val;return this;
}publicQueryConditionBuilder.Builder withEndTime(LocalDateTime val) {
endTime=val;return this;
}publicQueryConditionBuilder.Builder withNodeId(Long val) {
nodeId=val;return this;
}publicQueryConditionBuilder.Builder withFsId(Long val) {
fsId=val;return this;
}publicQueryConditionBuilder.Builder withMemId(Long val) {
memId=val;return this;
}publicQueryConditionBuilder.Builder withIfCardId(Long val) {
ifCardId=val;return this;
}publicQueryConditionBuilder build() {return new QueryConditionBuilder(this);
}
}
@Testpublic voidtest()
{
Pair scope = TimeScope.computeDate("24h");
Timestamp startTime=scope.getFirst();
Timestamp endTime=scope.getSecond();
LocalDateTime now= LocalDateTime.now(ZoneId.of("+8"));
LocalDateTime yesterday= now.plusHours(-24);
Map condition =QueryConditionBuilder.newBuilder()
.withStartTime(yesterday)
.withEndTime(now)
.build().toFilter();
Map condition2 =QueryConditionBuilder.newBuilder()
.withStartTime(yesterday)
.withEndTime(now)
.build().toFilter2();
System.out.println(condition);
System.out.println(condition2);
}
}