我以我的项目根据月份查询每月新增会员的总数为例
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