当前位置: 首页 > news >正文

数据统计--图形报表--ApacheEcharts技术 --苍穹外卖day10

Apache Echarts

营业额统计

重点:已完成订单金额要排除其他状态的金额   根据时间选择区间

设计vo用于后端向前端传输数据,dto用于后端接收前端发送的数据

 @GetMapping("/turnoverStatistics")@ApiOperation("营业额统计")public Result<TurnoverReportVO> turnoverStatistics(@DateTimeFormat(pattern = "yyyy-MM-dd")  LocalDate begin,@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end){log.info("营业额数据统计:{},{}",begin,end);return Result.success(reportService.getTurnoverStatistics(begin,end));}
 public TurnoverReportVO getTurnoverStatistics(LocalDate begin, LocalDate end) {//当前集合用于存放从begin到end范围内的每天的日期List<LocalDate> dateList = new ArrayList<>();dateList.add(begin);while (!begin.equals(end)) {//日期计算,计算指定日期的后一天对应的日期//把每天的东西一个一个放进去begin = begin.plusDays(1);dateList.add(begin);}//存放每天的营业额List<Double> turnoverList = new ArrayList<>();for (LocalDate date : dateList) {//查询date日期对应的营业额数据,营业额是指:状态为“已完成”的订单金额合计LocalDateTime beginTime = LocalDateTime.of(date, LocalTime.MIN);LocalDateTime endTime = LocalDateTime.of(date, LocalTime.MAX);// select sum(amount) from orders where order_time > beginTime and order_time < endTime and status = 5Map map = new HashMap();map.put("begin", beginTime);map.put("end", endTime);map.put("status", Orders.COMPLETED);Double turnover = orderMapper.sumByMap(map);turnover = turnover == null ? 0.0 : turnover;turnoverList.add(turnover);}//封装返回结果return TurnoverReportVO.builder().dateList(StringUtils.join(dateList, ","))//使用字符串拼接工具//将几个不同的时间字符串用逗号分隔开,组合成一个字符串.turnoverList(StringUtils.join(turnoverList, ",")).build();}

 

http://www.lryc.cn/news/186163.html

相关文章:

  • 【kubernetes的三种网络】
  • Java中树形菜单的实现方式(超全详解!)
  • 基于Uniswap V3的去中心化前端现货交易平台Oku正式登陆Moonbeam
  • leetcode 每日一题复盘(10.9~10.15)
  • 【云计算网络安全】DDoS 缓解解析:DDoS 攻击缓解策略、选择最佳提供商和关键考虑因素
  • 如何巧用AI智能技术,让文物不再“无人问津”?
  • 一天一八股——SSL/TLS协议
  • SpringCloud学习笔记-Eureka服务的搭建
  • css如何实现页面布局与五种实现方式
  • cv2.split函数与cv2.merge函数
  • Vue--1.7watch侦听器(监视器)
  • 序列:全序关系
  • 100M服务器能同时容纳多少人访问?
  • Javascript 笔记:函数调用与函数上下文
  • 【WebService】C#搭建的标准WebService接口,在使ESB模版作为参数无法获取参数数据
  • Sqlserver关于tempdb临时数据库文件个数的最佳实践
  • 【Java】微服务——微服务介绍和Eureka注册中心
  • C++ virtual 虚函数 虚基类
  • redis分布式秒杀锁
  • 【Redis】String内部编码方式
  • 川西旅游网系统-前后端分离(前台vue 后台element UI,后端servlet)
  • Paddle使用pyinstaller打包出错的解决方法
  • 【Java acm】特殊输入
  • 在Ubuntu 20.04搭建最小实验环境
  • 使用uwsgi部署Flask
  • Android平台实现lottie动画
  • JAVA练习百题之求矩阵对角线之和
  • MEM备考打卡
  • 短视频矩阵源码开发部署---技术解析
  • 百度小程序制作源码 百度引流做关键词排名之技巧