From 5a107c0386a1edb756f33e573133f01d29e4dbcd Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 14 十二月 2023 09:23:39 +0800 Subject: [PATCH] 门店距离排序bug --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 64 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 11 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index 3f390b1..c5a11cb 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -48,6 +48,9 @@ import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -163,6 +166,7 @@ saveParticipant.setWeight(student.getWeight()); saveParticipant.setPhone(student.getPhone()); saveParticipant.setIdcard(student.getIdCard()); + participantClient.saveParticipant(saveParticipant); return ResultUtil.success(); } @@ -603,9 +607,17 @@ .filter(record -> { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - String substring = record.getTimeFrame().substring(11); + String substring = record.getTimeFrame().substring(0,16); Date time = sdf.parse(substring); - return !time.before(lastWeekStartDate) && !time.after(lastOfDate); + Instant instant = time.toInstant(); + LocalDate dateToCheck = instant.atZone(ZoneId.systemDefault()).toLocalDate(); + // 获取今天的日期 + LocalDate today = LocalDate.now(); + // 计算一周前的日期 + LocalDate oneWeekAgo = today.minusWeeks(1); + // 计算一周后的日期 + LocalDate oneWeekLater = today.plusWeeks(1); + return dateToCheck.isAfter(oneWeekAgo) && dateToCheck.isBefore(oneWeekLater); } catch (ParseException e) { e.printStackTrace(); return false; @@ -618,9 +630,18 @@ recordAppoints = recordAppoints.stream() .filter(record -> { try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date time = sdf.parse(record.getTimeFrame().substring(11)); - return !time.before(lastMonthStartDate) && !time.after(lastOfDate); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String substring = record.getTimeFrame().substring(0,16); + Date time = sdf.parse(substring); + Instant instant = time.toInstant(); + LocalDate dateToCheck = instant.atZone(ZoneId.systemDefault()).toLocalDate(); + // 获取今天的日期 + LocalDate today = LocalDate.now(); + // 计算一周前的日期 + LocalDate oneWeekAgo = today.minusMonths(1); + // 计算一周后的日期 + LocalDate oneWeekLater = today.plusMonths(1); + return dateToCheck.isAfter(oneWeekAgo) && dateToCheck.isBefore(oneWeekLater); } catch (ParseException e) { e.printStackTrace(); return false; @@ -634,8 +655,17 @@ .filter(record -> { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - Date time = sdf.parse(record.getTimeFrame().substring(11)); - return !time.before(lastYearStartDate) && !time.after(lastOfDate); + String substring = record.getTimeFrame().substring(0,16); + Date time = sdf.parse(substring); + Instant instant = time.toInstant(); + LocalDate dateToCheck = instant.atZone(ZoneId.systemDefault()).toLocalDate(); + // 获取今天的日期 + LocalDate today = LocalDate.now(); + // 计算一周前的日期 + LocalDate oneWeekAgo = today.minusYears(1); + // 计算一周后的日期 + LocalDate oneWeekLater = today.plusYears(1); + return dateToCheck.isAfter(oneWeekAgo) && dateToCheck.isBefore(oneWeekLater); } catch (ParseException e) { e.printStackTrace(); return false; @@ -684,14 +714,26 @@ citycodeResp.setLatitude(longitude); List<StoreDetailList> queryStoreList = storeClient.getQueryStoreList(citycodeResp); if (queryStoreList.size() > 0) { - if (ToolUtil.isEmpty(space) || space == 2) { + + if (ToolUtil.isEmpty(space) || space ==1) { + queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList()); + + + } else { queryStoreList = queryStoreList.stream() .sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed()) .collect(Collectors.toList()); - - } else { - queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList()); } + + +// if (ToolUtil.isEmpty(space) || space == 2) { +// queryStoreList = queryStoreList.stream() +// .sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed()) +// .collect(Collectors.toList()); +// +// } else { +// queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList()); +// } if (ToolUtil.isNotEmpty(search)) { queryStoreList = queryStoreList.stream().filter(o -> o.getStoreName().contains(search)).collect(Collectors.toList()); } -- Gitblit v1.7.1