From 1f5f3c84cb9b35d65caf576c0d46d26bda291875 Mon Sep 17 00:00:00 2001 From: huangh <hshgjzd5@163.com> Date: Mon, 28 Oct 2024 16:32:11 +0800 Subject: [PATCH] feat:重复来访接口开发-接口开发完成-修改测试发现的bug --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/controller/AnalysisWebController.java | 47 +++++++++++++++++++++++++++++------------------ 1 files changed, 29 insertions(+), 18 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/controller/AnalysisWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/controller/AnalysisWebController.java index 2507e44..97af59e 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/controller/AnalysisWebController.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/controller/AnalysisWebController.java @@ -106,36 +106,47 @@ @GetMapping("/countRepeatedCasesByTime") public ReturnBO countRepeatedCasesByTime(@RequestBody CountRepeateVo countRepeateVo) { try{ - // countRepeateVo.setGroupByCaseType("true"); - // List<CountRepeateDto> countRepeateDtoList = service.countRepeatedCases(countRepeateVo); - // return ReturnSucUtils.getRepInfo("请求成功",countRepeateDtoList); DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // LocalDate start = LocalDate.parse(countRepeateVo.getCreateTimeStart(), DATE_TIME_FORMATTER); - // LocalDate end = LocalDate.parse(countRepeateVo.getCreateTimeEnd(), DATE_TIME_FORMATTER); - // - // long daysBetween = java.time.temporal.ChronoUnit.DAYS.between(start, end); - // - // if (daysBetween < 15) { - // return Map.of("days", getDaysList(start, end)); - // } else if ((daysBetween >= 15) && (daysBetween < 365)) { - // return Map.of("months", getMonthsList(start, end)); - // } else { - // return Map.of("years", getYearsList(start, end)); - // } + String dayTypeStr = "day"; + String monthTypeStr = "month"; + String yearTypeStr = "year"; LocalDate start = LocalDate.parse(countRepeateVo.getCreateTimeStart(), DATE_TIME_FORMATTER); LocalDate end = LocalDate.parse(countRepeateVo.getCreateTimeEnd(), DATE_TIME_FORMATTER); long daysBetween = java.time.temporal.ChronoUnit.DAYS.between(start, end); if (daysBetween < 15) { - countRepeateVo.setGroupByTime("day"); + countRepeateVo.setGroupByTime(dayTypeStr); } else if ((daysBetween >= 15) && (daysBetween < 365)) { - countRepeateVo.setGroupByTime("month"); + countRepeateVo.setGroupByTime(monthTypeStr); } else { - countRepeateVo.setGroupByTime("year"); + countRepeateVo.setGroupByTime(yearTypeStr); } List<CountRepeateDto> countRepeateDtoList = service.countRepeatedCases(countRepeateVo); + if (!countRepeateDtoList.isEmpty()){ + String timeFormatter = ""; + if (dayTypeStr.equals(countRepeateVo.getGroupByTime())){ + timeFormatter = "日"; + } + else if (monthTypeStr.equals(countRepeateVo.getGroupByTime())) { + timeFormatter = "月"; + } + else if (yearTypeStr.equals(countRepeateVo.getGroupByTime())) { + timeFormatter = "年"; + } + for (CountRepeateDto countRepeateDto : countRepeateDtoList) { + // 按 “-”切割字符串,获取最后一个元素 + String[] split = countRepeateDto.getGroupByType().split("-"); + String lastElement = split[split.length - 1]; + // 判断 lastElement 是否为小于 13 的数字,如果是,则将类型转换为int + if (lastElement.matches("^\\d+$")) { + lastElement = String.valueOf(Integer.parseInt(lastElement)); + } + countRepeateDto.setGroupByType(lastElement + timeFormatter); + } + + } return ReturnSucUtils.getRepInfo("请求成功",countRepeateDtoList); }catch (Exception e){ log.error("统计重复来访案件数量异常",e); -- Gitblit v1.8.0