统计数据图表显示(接口)

113 阅读1分钟

1、在service_statistics模块中的StatisticsDailyController里实现查询图表显示数据方法

@ApiOperation(value = "查询图表显示数据")
@GetMapping("showData/{type}/{begin}/{end}")
public R showData(@PathVariable String type,
                  @PathVariable String begin,
                  @PathVariable String  end){
    Map<String,Object> map = staService.getShowData(type,begin,end);
    return R.ok().data(map);
}

2、在StatisticsDailyService中添加接口方法

Map<String, Object> getChartData(String begin, String end, String type);

3、在StatisticsDailyServiceImpl中实现接口方法

//查询图表显示数据
@Override
public Map<String, Object> getShowData(String type, String begin, String end) {
    //1 根据时间范围查询数据(制定查询字段)
    QueryWrapper<StatisticsDaily> wrapper = new QueryWrapper<>();
    wrapper.between("date_calculated",begin,end);
    wrapper.select("date_calculated",type);
    List<StatisticsDaily> staList = baseMapper.selectList(wrapper);

    //2 封装数据x轴数据(数据日期),y轴(指标数据)
    List<String> dateCalculatedList = new ArrayList<>();
    List<Integer> dataList = new ArrayList<>();
    //2.1遍历数据
    for (int i = 0; i <staList.size() ; i++) {
        StatisticsDaily sta = staList.get(i);
        //2.2 封装x轴数据
        String dateCalculated = sta.getDateCalculated();
        dateCalculatedList.add(dateCalculated);
        //2.3 封装y轴数据
        switch (type){
            case "login_num":
                Integer loginNum = sta.getLoginNum();
                dataList.add(loginNum);
                break;
            case "register_num":
                Integer registerNum = sta.getRegisterNum();
                dataList.add(registerNum);
                break;
            case "video_view_num":
                Integer videoViewNum = sta.getVideoViewNum();
                dataList.add(videoViewNum);
                break;
            case "course_num":
                Integer courseNum = sta.getCourseNum();
                dataList.add(courseNum);
                break;
            default:
                break;
        }

    }
    Map<String, Object> map = new HashMap<>();
    map.put("dateCalculatedList",dateCalculatedList);
    map.put("dataList",dataList);
    return map;
}