标签:map Map 查询 doctorUserVO MySQL put calendar 数据 countOneDayNum
控制层:
/**
* 首页-用户数量统计
*/
@GetMapping("/countNum")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "用户数量统计", notes = "传入doctorUserVO")
public R countNum(DoctorUserVO doctorUserVO) {
doctorUserVO.setTenantId(CommonUtils.getTenantId(request));
Map<String, Object> countOneDayNum = userService.countOneDayNum(doctorUserVO);
int countAllDayNum = userService.count(new QueryWrapper<DoctorUser>().eq("tenant_id",doctorUserVO.getTenantId()));
Map<String, Object> map = new HashMap<>();
map.put("count", countOneDayNum.get("count"));
map.put("day", countOneDayNum.get("day"));
map.put("total", countAllDayNum);
return R.data(map);
}
服务层接口
Map<String, Object> countOneDayNum(DoctorUserVO doctorUserVO);
服务层实现
@Override
public Map<String, Object> countOneDayNum(DoctorUserVO doctorUserVO) {
List<DoctorUserVO> countOneDay = baseMapper.countOneDayNum(doctorUserVO);
Map<String, Integer> map = new HashMap<>();
Map<String, Integer> mapMonth = new LinkedHashMap<>();
Map<String, Object> res = new HashMap<>();
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (DoctorUserVO doctorUser : countOneDay) {
map.put(sdf.format(doctorUser.getCreateTime()), doctorUser.getCount());
}
for (int i = 0; i < 30; i++) {
if (String.valueOf(map.keySet()).indexOf(sdf.format(calendar.getTime())) != -1) {
mapMonth.put(sdf.format(calendar.getTime()), map.get(sdf.format(calendar.getTime())));
} else {
mapMonth.put(sdf.format(calendar.getTime()), 0);
}
calendar.add(Calendar.DAY_OF_MONTH, -1);
}
res.put("day", mapMonth.keySet());
res.put("count", mapMonth.values());
return res;
}
Mapper接口
List<DoctorUserVO> countOneDayNum(DoctorUserVO doctorUserVO);
Mapper.xml
<select id="countOneDayNum" resultMap="userResultMap">
SELECT
DATE_FORMAT( du.create_time, '%Y-%m-%d' ) AS create_time,
COUNT(*) AS count
FROM
doctor_user du
WHERE
du.tenant_id = #{tenantId}
AND DATE_FORMAT(du.create_time, '%Y%m') <![CDATA[ = ]]> DATE_FORMAT( CURDATE( ) , '%Y%m' )
GROUP BY
create_time
</select>
返回数据结构:
标签:map,Map,查询,doctorUserVO,MySQL,put,calendar,数据,countOneDayNum 来源: https://blog.csdn.net/weixin_47297386/article/details/121039950
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。