From c5857a50d688d0c42b3893854e6f30dc45e61ca9 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 11 十一月 2024 22:32:12 +0800
Subject: [PATCH] 代码提交
---
xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/HomeController.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 94 insertions(+), 25 deletions(-)
diff --git a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/HomeController.java b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/HomeController.java
index c826832..943a12c 100644
--- a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/HomeController.java
+++ b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/HomeController.java
@@ -4,6 +4,7 @@
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.xinquan.common.core.domain.R;
+import com.xinquan.common.core.utils.DateUtils;
import com.xinquan.common.core.utils.WebUtils;
import com.xinquan.common.core.utils.page.BeanUtils;
import com.xinquan.common.core.utils.page.PageDTO;
@@ -35,6 +36,9 @@
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -60,6 +64,7 @@
private RemoteMeditationService remoteMeditationService;
@Resource
private RemoteOrderService remoteOrderService;
+
@PostMapping("/homeStatistics")
@ApiOperation(value = "首页统计",tags = "管理后台-首页统计")
public R<HomeVO> bannerList(@RequestBody HomeDto homeDto) {
@@ -112,9 +117,7 @@
if (!StringUtils.hasLength(homeDto.getTime())){
homeDto.setTime("1");
}
- if(homeDto.getTimeType() == null){
- homeDto.setTimeType(1);
- }
+
List<Order> data6 = remoteOrderService.getOrderList(homeDto.getStatus(), homeDto.getTimeType(), homeDto.getTime()).getData();
homeVO.setOrderCount(data6.size()+"");
BigDecimal bigDecimal = new BigDecimal("0");
@@ -208,27 +211,53 @@
}
break;
}
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ List<LocalDate> localDates = generateDateList(homeDto.getTime());
+ for (LocalDate localDate : localDates) {
+ x.put(localDate+"",0);
+ x1.put(localDate+"",0);
+ x2.put(localDate+"",0);
+ }
+ }
for (Order order : data6) {
int value = order.getCreateTime().getMonth().getValue();
int value1 = order.getCreateTime().getDayOfMonth();
+ LocalDateTime createTime = order.getCreateTime();
+ LocalDate localDate = createTime.toLocalDate();
switch (order.getOrderFrom()){
case 1:
switch (homeDto.getTimeType()){
case 1:
// 获取订单月份
- x.put(value+"",(int)x.get(value+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x.put(localDate+"",(int)x.get(value+"")+1);
+ }else{
+ x.put(value+"",(int)x.get(value+"")+1);
+ }
break;
case 2:
Date date = new Date();
String format = simpleDateFormat.format(date);
- x.put(format,(int)x.get(format)+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x.put(localDate+"",(int)x.get(value+"")+1);
+ }else{
+ x.put(format,(int)x.get(format)+1);
+ }
break;
case 3:
- x.put(value1+"",(int)x.get(value1+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x.put(localDate+"",(int)x.get(value+"")+1);
+ }else{
+ x.put(value1+"",(int)x.get(value1+"")+1);
+ }
break;
case 4:
- x.put(value1+"",(int)x.get(value1+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x.put(localDate+"",(int)x.get(value+"")+1);
+ }else{
+ x.put(value1+"",(int)x.get(value1+"")+1);
+ }
break;
}
break;
@@ -236,18 +265,34 @@
switch (homeDto.getTimeType()){
case 1:
// 获取订单月份
- x1.put(value+"",(int)x1.get(value+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x1.put(localDate+"",(int)x1.get(value+"")+1);
+ }else{
+ x1.put(value+"",(int)x1.get(value+"")+1);
+ }
break;
case 2:
Date date = new Date();
String format = simpleDateFormat.format(date);
- x1.put(format,(int)x1.get(format)+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x1.put(localDate+"",(int)x1.get(value+"")+1);
+ }else{
+ x1.put(format,(int)x1.get(format)+1);
+ }
break;
case 3:
- x1.put(value1+"",(int)x1.get(value1+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x1.put(localDate+"",(int)x1.get(value+"")+1);
+ }else{
+ x1.put(value+"",(int)x1.get(value+"")+1);
+ }
break;
case 4:
- x1.put(value1+"",(int)x1.get(value1+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x1.put(localDate+"",(int)x1.get(value+"")+1);
+ }else{
+ x1.put(value+"",(int)x1.get(value+"")+1);
+ }
break;
}
break;
@@ -255,33 +300,40 @@
switch (homeDto.getTimeType()){
case 1:
// 获取订单月份
- x2.put(value+"",(int)x2.get(value+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x2.put(localDate+"",(int)x2.get(value+"")+1);
+ }else{
+ x2.put(value+"",(int)x2.get(value+"")+1);
+ }
break;
case 2:
Date date = new Date();
String format = simpleDateFormat.format(date);
- x2.put(format,(int)x2.get(format)+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x2.put(localDate+"",(int)x2.get(value+"")+1);
+ }else{
+ x2.put(format,(int)x2.get(format)+1);
+ }
break;
case 3:
- x2.put(value1+"",(int)x2.get(value1+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x2.put(localDate+"",(int)x2.get(value+"")+1);
+ }else{
+ x2.put(value+"",(int)x2.get(value+"")+1);
+ }
break;
case 4:
- x2.put(value1+"",(int)x2.get(value1+"")+1);
+ if (StringUtils.hasLength(homeDto.getTime())&&(!homeDto.getTime().equals("1"))){
+ x2.put(localDate+"",(int)x2.get(value+"")+1);
+ }else{
+ x2.put(value+"",(int)x2.get(value+"")+1);
+ }
break;
}
break;
}
}
- switch (homeDto.getTimeType()){
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- }
+
// 对x的key值进行从小到大排序
Map<String, Object> sortedMap = new TreeMap<>(Comparator.reverseOrder());
sortedMap.putAll(x);
@@ -294,6 +346,23 @@
homeVO.setOrderVipList(sortedMap2);
return R.ok(homeVO);
}
+ public static List<LocalDate> generateDateList(String dateRange) {
+ // 定义日期格式
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+ // 解析日期范围字符串
+ String[] dates = dateRange.split(" - ");
+ LocalDate startDate = LocalDate.parse(dates[0], formatter);
+ LocalDate endDate = LocalDate.parse(dates[1], formatter);
+
+ // 创建日期列表
+ List<LocalDate> dateList = new ArrayList<>();
+ for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) {
+ dateList.add(date);
+ }
+
+ return dateList;
+ }
@PutMapping("/homeStatisticsExport")
@ApiOperation(value = "首页统计-导出",tags = "管理后台-首页统计")
public void homeStatisticsExport() {
--
Gitblit v1.7.1