老师好,echarts动态化的问题
来源:15-7 Echarts的动态化改写下
mapper
2018-04-17
运行结果如下:
可以发现,X轴的日期错乱了,并且所有的数据都被挤到了那一天。在controller调试发现xData也是这个错乱顺序。
于是我在dao层做了ut。
测试数据如下:
测试代码如下:
@Test
public void testDQueryShopConsume() {
ProductSellDaily productSellDailyCondition = new ProductSellDaily();
Shop shop = new Shop();
shop.setShop_id(1L);
productSellDailyCondition.setShop(shop);
Calendar calendar = Calendar.getInstance();
//获取昨天的日期
calendar.add(Calendar.DATE, -1);
Date endTime = calendar.getTime();
//获取七天前的日期
calendar.add(Calendar.DATE, -6);
Date beginTime = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<ProductSellDaily> productSellDailyList = productSellDailyMapper.queryProductSellDailyList(productSellDailyCondition, beginTime, endTime);
for (ProductSellDaily ps : productSellDailyList) {
System.out.println("the product id is" + ps.getProduct().getProduct_id() + ",And the Time is :" + sdf.format(ps.getCreate_time()) + "~~~");
}
}
运行结果如下 :
可以发现这里的日期也是符合预期的,所以我想请问一下老师为啥我的controller层的xData的日期顺序是错乱的。明明是在for循环中逐个取出ProductSellDaily实体类然后往Xdata中添加该实体类的create_time。按理来说,这里controller的productSellDailyList的顺序就和dao层ut测试获取的list的顺序是一致的。那么xData的顺序也应该是正确的呀,找了两小时没找到原因,所以想请教一下老师。 ps: controller的代码已经核对过了,是没有问题的。
1回答
-
同学学习到这里了,首先对同学的进步表示祝贺,感觉提供的信息还有描述都非常清晰,同学看看你的XData用的结构是HashSet吧,这个结构会让时间随意乱序pop出来,换成
LinkedHashSet<String>
就可以了
052018-04-20
相似问题