From d643b843cc794d8f59c4ecd04bda2b9d35e5b22a Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 28 十一月 2023 19:54:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 36 insertions(+), 7 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..a737346 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;
 
@@ -603,9 +606,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 +629,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 +654,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;

--
Gitblit v1.7.1