如何根据月份查询每月Xxx的总数


我以我的项目根据月份查询每月新增会员的总数为例

Controller

@GetMapping("/getMemberReport.do")
    public R getMemberReport() {
        try {
            // 获取日历对象
            Calendar calendar = Calendar.getInstance();
            //根据当前时间,获取前12个月的日历(当前日历2020-02,12个月前,日历时间2019-03)
            //第一个参数,日历字段
            //第二个参数,要添加到字段中的日期或时间
            calendar.add(Calendar.MONTH, -12);

            List list = new ArrayList();
            for (int i = 0; i < 12; i++) {
                //第一个参数是月份 2018-7
                //第二个参数是月份+1个月
                calendar.add(Calendar.MONTH, 1);
                list.add(new SimpleDateFormat("yyyy-MM").format(calendar.getTime()));
            }

            Map map = new HashMap();
            // 把过去12个月的日期存储到map里面
            map.put("months", list);
            // 查询所有的会员
            List memberCount = memberService.findMemberCountByMonth(list);
            map.put("memberCount", memberCount);
            // 查询所有会员
            return R.setResult(ResultCodeEnum.GET_MEMBER_NUMBER_REPORT_SUCCESS).data(map);
        } catch (Exception e) {
            e.printStackTrace();
            return R.setResult(ResultCodeEnum.GET_MEMBER_NUMBER_REPORT_FAIL);
        }
    }

Service

 @Override
    public List findMemberCountByMonth(List list) {
        List memberCountList = new ArrayList<>();
        if (list != null || list.size() != 0) {
            for (String mouths : list) {
                //String regTime = months+"-31";
                // 获取指定月份的最后一天
                String regTime = DateUtils.getLastDayOfMonth(mouths);
                Integer memberCount = memberMapper.findMemberCountByMouths(regTime);
                memberCountList.add(memberCount);
            }
        }
        return memberCountList;
    }

Mapper


前端页面axios


	

统计分析会员数量

首页 统计分析 会员数量

SSM