查询7日内的展示数据
文章目录
- 1、需求
- 2、service层
- 3、sql
1、需求
2、service层
/*** 趋势图近七天数据获取* 1.数据校验 判断仓库是否有效* 2.自redis取数,取到数据直接返回* 3.redis无数据,去数据库读,返回并根据key存redis* @param depotCode* @return*/public OverviewAResp overview(String depotCode) {//1if (ObjectUtils.isEmpty(depotInfoService.getDepotInfoByCode(depotCode.trim()))){throw new BizException(BizErrorCode.NO_DATA,"仓库编码不存在");}//2OverviewAResp redisData = (OverviewAResp) redisService.get(REDIS_KEY_FOR + depotCode.trim());if (ObjectUtils.isNotEmpty(redisData)) {return redisData;}//3OverviewAResp data = overviewDataDeal(depotCode);redisService.add(REDIS_KEY_FOR + depotCode.trim(),data, null);return overviewDataDeal(depotCode);}/*** 这是一个专门负责取数,服务于楼上和定时任务的方法的方法,没有进行数据校验* @param depotCode* @return*/public OverviewAResp overviewDataDeal(String depotCode) {OverviewAResp overviewAResp = new OverviewAResp();overviewAResp.setReceiptInfoDtoList(orderReceiptService.getReceiptInfoDto(depotCode));overviewAResp.setOutboundInfoDtoList(orderShipmentService.getOutboundInfoDto(depotCode));return overviewAResp;}/*** 深夜计划 每天的凌晨 0:01 刷新各仓库七天的数据存入Redis,* 以备前端接口获取数据,不会因数据量而照成响应时间长的情况*/public void refreshOverviewPageDataAllDepotInfo() {//获取所有有效仓库信息List<DepotInfo> depotInfoList = depotInfoService.getAllDepotInfo();SimpleDateFormat df = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN);if (depotInfoList != null && depotInfoList.size() > 0) {//根据KEY 覆盖式更新,redis不设置失效时间for (DepotInfo depotInfo : depotInfoList) {OverviewAResp data = overviewDataDeal(depotInfo.getDepotCode());redisService.add(REDIS_KEY_FOR + depotInfo.getDepotCode(),data, null);}log.info("执行时间:" + df.format(new Date()) + ",此次更新数据的仓库有:" + depotInfoList.toString());} else {log.error("执行时间:" + df.format(new Date()) + "未获取到仓库信息");}}
3、sql
SELECTa.dt,b.addNum,c.cancelNUm
FROM( SELECT DATE_SUB( CURRENT_DATE, INTERVAL help_topic_id DAY ) dt FROM mysql.help_topic WHERE help_topic_id BETWEEN 0 AND 6 ) aLEFT JOIN (
SELECTDATE_FORMAT(create_time,'%Y-%m-%d') AS dt,count( * ) AS addNum
FROMorder_receipt
WHEREcreate_time > DATE_SUB( curdate( ), INTERVAL 8 DAY ) AND mark > 0 AND order_state NOT IN ( "11" ) AND depot_code = "HMD-051-00"
GROUP BYTO_DAYS( create_time ) ) b ON a.dt = b.dtLEFT JOIN (
SELECTDATE_FORMAT(create_time,'%Y-%m-%d') AS dt,count( * ) AS cancelNUm
FROMorder_receipt
WHEREcreate_time > DATE_SUB( curdate( ), INTERVAL 8 DAY ) AND mark > 0 AND order_state = "11" AND depot_code = "HMD-051-00"
GROUP BYTO_DAYS( create_time ) ) c ON c.dt = a.dtORDER BY a.dt
查询7日内的展示数据相关推荐
- Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和模糊查询等功能
Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据.实现分页和查询功能 一.部分技术选型 二.项目结构 三.功能需求和效果展示 四.关键代码 4.1页 ...
- 利用bootstraptable展示数据,对数据进行排序分页等操作
今天分享一下bootstraptable的相关技能点,由于第一次接触,所以刚开始碰了好多壁,于是趁现在过去不久,先总结总结. Bootstraptable简单的来说就是一个表格控件,但是这个表格可不是 ...
- layui表格展示数据时:返回的数据不符合规范,正确的成功状态码应为:code: 0
1.今天,用django和layui结合,处理表格展示数据时,有数据的表格能正常显示列表,无数据的表格却提示了:返回的数据不符合规范,正确的成功状态码应为:"code": 0,于是 ...
- 数据展示_使用Cadvisor监控容器并展示数据
Cadvisor使用Go语言开发,利用Linux的cgroups获取容器的资源使用信息,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Pro ...
- 自我规范模版A要求2:展示数据列表 (无从表)和导出数据页面
名称: 展示数据列表 (无从表)和导出页面 路径要求: /pages/${entityClassName}/XXX_list.zul /pages/${entityClassName}/XXX_lis ...
- MySQL分组查询,获取分组后数据
MySQL分组查询,获取分组后数据 MySQL分组查询,将其它列的数据,合并到一行展示,可以设置去重,设置去重,设置排序,截取指定条数 创建表结构 CREATE TABLE `author_info` ...
- 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(二):统计并展示数据
各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(一):爬虫选手信息 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(二):统计并展示数据 各位集美兄得看过来! 利用 ...
- layui做折线图_flask+layui+echarts实现前端动态图展示数据效果
效果图: 该效果主要实现一个table展示数据,并在下方生成一个折线图. 实现方式: 1.首先需要对表格进行一个数据加载,这里用到了layui的table.render,具体用法可以参考 https: ...
- vue 表格 侧边(竖向)表头展示数据
实现效果: 表格区域: <!-- 表格区域 :loading="loading"--><el-tableheight="calc(100% - 60px ...
最新文章
- Android studio 开发工具,试图预览工具不见了找会设置
- 利用frp进行内网穿透
- 科学解释超级计算机,超级计算机:彻底“改变”科学
- linux中查看lvm的名称,关于Linux中LVM的使用总结
- TFTP、RAM、NVRAM之间的关系
- Android学习笔记(5)----启动 Theme.Dialog 主题的Activity时程序崩溃的解决办法
- keras核心已转储_转储Keras-ImageDataGenerator。 开始使用TensorFlow-tf.data(第2部分)
- 面板php,自己的路面板添加php扩展
- 笑谈软件工程:烽烟中的敏捷
- Spring不使用XML的注解开发
- IP地址的定义和含义
- Python中如何打印空行
- php开发技术规范怎么写,PHP开发技术规范!(2)
- 老男孩python全栈视频教程_老男孩Python全栈7期,Flask全套组件及原理剖析视频教程下载...
- 他妈的 Python(1):怎么发起一个同步的 HTTP 请求
- 软件开发平台之争:NET VS Java,谁是更好的选择?
- strchr、strstr函数
- Unity + SteamVR + VIVE Pro进行动作捕捉
- AAAI2020|Asymmetric Co-Teaching for Unsupervised Cross-Domain Person Re-Identification
- 英语爱阅读--I hope you live a life you're proud of