当前位置: 首页> 财经> 创投人物 > 杭州专业网站营销_企业网络推广的简介_西安seo关键词排名优化_如何优化网站排名

杭州专业网站营销_企业网络推广的简介_西安seo关键词排名优化_如何优化网站排名

时间:2025/7/12 9:14:26来源:https://blog.csdn.net/h2728677716/article/details/147197146 浏览次数:0次
杭州专业网站营销_企业网络推广的简介_西安seo关键词排名优化_如何优化网站排名

controller层

 @GetMapping("/ordersStatistics")public Result<OrderReportVO> orderStatistics(@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {OrderReportVO orderReportVO = reportService.getOrderStatistics(begin, end);return Result.success(orderReportVO);}

实现类

重点:

通过strem流实现数组各项数据相加和

Integer totalOrderCount = ordersDays.stream().reduce(Integer::sum).get();
Integer totalOrderCompletedCount = orderCompletedNumberDays.stream().reduce(Integer::sum).get();
 

@Overridepublic OrderReportVO getOrderStatistics(LocalDate begin, LocalDate end) {List<LocalDate> dateList = new ArrayList();dateList.add(begin);while (!begin.equals(end)){begin = begin.plusDays(1);dateList.add(begin);}String datelist = StringUtils.join(dateList, ",");//每日订单数列表List<Integer> ordersDays = new ArrayList();List<Integer> orderCompletedNumberDays = new ArrayList();for (LocalDate date : dateList){LocalDateTime beginTime = LocalDateTime.of(date,LocalTime.MIN);LocalDateTime endTime = LocalDateTime.of(date,LocalTime.MAX);//根据每天日期查出来每日订单数,并存放在一个数组中Integer orderNumber = getByDateTime(beginTime, endTime, null);ordersDays.add(orderNumber);//每日有效订单数Integer orderCompletedNumber = getByDateTime(beginTime, endTime,Orders.COMPLETED);orderCompletedNumberDays.add(orderNumber);}String orderdays = StringUtils.join(ordersDays, ",");String ordercompletednumberdays = StringUtils.join(ordersDays,",");//计算时间区间内订单总数Integer totalOrderCount = ordersDays.stream().reduce(Integer::sum).get();Integer totalOrderCompletedCount = orderCompletedNumberDays.stream().reduce(Integer::sum).get();Double orderCompletionRate = 0.0;//计算订单完成率if (totalOrderCount != 0){orderCompletionRate = totalOrderCompletedCount.doubleValue() / totalOrderCount;}//构建一个OrderReportVO对象返回OrderReportVO orderReportVO = OrderReportVO.builder().dateList(datelist).orderCountList(orderdays).validOrderCountList(ordercompletednumberdays).totalOrderCount(totalOrderCount).validOrderCount(totalOrderCompletedCount).orderCompletionRate(orderCompletionRate).build();return orderReportVO;}private Integer getByDateTime(LocalDateTime begin, LocalDateTime end, Integer status){HashMap map = new HashMap();map.put("begin",begin);map.put("end",end);map.put("status",status);Integer orderNumber = orderMapper.getByDateTime(map);return orderNumber;}}

mapper 

<select id="getByDateTime" resultType="java.lang.Integer">select count(id) from orders<where><if test="begin != null">and order_time &gt; #{begin}</if><if test="end != null">and order_time &lt; #{end}</if><if test="status != null">and status=#{status}</if></where></select>

关键字:杭州专业网站营销_企业网络推广的简介_西安seo关键词排名优化_如何优化网站排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: