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

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DKPT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值