老师好,echarts动态化的问题

来源:15-7 Echarts的动态化改写下

mapper

2018-04-17

运行结果如下:

http://img.mukewang.com/szimg/5ad5503f00018db709980317.jpg

可以发现,X轴的日期错乱了,并且所有的数据都被挤到了那一天。在controller调试发现xData也是这个错乱顺序。

http://img.mukewang.com/szimg/5ad552b10001e24703490244.jpg

于是我在dao层做了ut。

测试数据如下:

http://img.mukewang.com/szimg/5ad551940001b1e706550365.jpg

测试代码如下:

@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()) + "~~~");
   }
}

运行结果如下 :

http://img.mukewang.com/szimg/5ad550e40001454d05080512.jpg

可以发现这里的日期也是符合预期的,所以我想请问一下老师为啥我的controller层的xData的日期顺序是错乱的。明明是在for循环中逐个取出ProductSellDaily实体类然后往Xdata中添加该实体类的create_time。按理来说,这里controller的productSellDailyList的顺序就和dao层ut测试获取的list的顺序是一致的。那么xData的顺序也应该是正确的呀,找了两小时没找到原因,所以想请教一下老师。 ps:   controller的代码已经核对过了,是没有问题的。

写回答

1回答

翔仔

2018-04-17

同学学习到这里了,首先对同学的进步表示祝贺,感觉提供的信息还有描述都非常清晰,同学看看你的XData用的结构是HashSet吧,这个结构会让时间随意乱序pop出来,换成

LinkedHashSet<String>

就可以了

0
5
翔仔
回复
mapper
哈哈,同学萌萌哒
2018-04-20
共5条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程