目录
一,统计图用GROUP BY 给日期分组的缺陷
像下方这种以日期为X轴的 折线 统计图我们该如何给前端提供数据呢,我们在统计数据的时候通常都是用 GROUP BY 来进行分组统计,但是 GROUP BY 用来给日期分组统计会有一个缺陷,就是如果有些日期没有数据,就不会有这天的分组,直接把数据提供给前端,出来的统计图日期就不是连续的。
二,解决GROUP BY 日期分组的缺陷问题
解决这个问题其实很简单,只要生成完整的日期,再把查出来的数据放入相应的日期里,没有数据的日期填充 0 ,因为每个月的天数都不是一样的,所以要用到日历类Calendar 来生成日期。
三,代码流程图
四,各层代码
1.目录结构
2.Controller层代码
import com.example.datavisualization.practises.model.req.StatisticsReq;
import com.example.datavisualization.practises.service.StatisticsService;
import com.example.datavisualization.response.ResponseData;
import com.example.datavisualization.response.SuccessResponseData;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
/**
* @author XiaoXiongQAQ
* @Date 2022/6/17
*/
@RestController
@RequestMapping("home")
public class StatisticsController {
@Resource
private StatisticsService statisticsService;
/**
* 入参传入字段 startDate,endDate
* 入参格式
* {
* "startDate": "2022-06-14 19:46:16",
* "endDate": "2022-06-24 19:46:16"
* }
* @param statisticsReq
* @return SuccessResponseData
*/
@PostMapping("/getStatistics")
public ResponseData addHhh(@RequestBody StatisticsReq statisticsReq){
HashMap<Object, Object> statistics = statisticsService.statistics(stati