From 3ec572e2cb7adf7d33d2018b24c003d9ef18906a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 12 十一月 2024 13:32:51 +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