Your Name 7 mesi fa
parent
commit
ea1d96f862

+ 2 - 2
pom.xml

@@ -115,7 +115,7 @@
             <version>2.0.3</version>
             <version>2.0.3</version>
         </dependency>
         </dependency>
 
 
-<!-- 
+<!--
 <dependency>
 <dependency>
     <groupId>org.springframework</groupId>
     <groupId>org.springframework</groupId>
     <artifactId>spring-websocket</artifactId>
     <artifactId>spring-websocket</artifactId>
@@ -444,7 +444,7 @@
                     <includeSystemScope>true</includeSystemScope>
                     <includeSystemScope>true</includeSystemScope>
                     <!-- 关键新增:指定唯一主类(二选一,根据你的实际入口选择) -->
                     <!-- 关键新增:指定唯一主类(二选一,根据你的实际入口选择) -->
                     <mainClass>com.sqx.SqxApplication</mainClass>
                     <mainClass>com.sqx.SqxApplication</mainClass>
-                    <!-- 若要使用 WebSocketApp 作为入口,替换为:<mainClass>com.sqx.WebSocketApp</mainClass>  SqxApplication -->
+                    <!-- 若要使用 WebSocketApp 作为入口,替换为:<mainClass>com.sqx.WebSocketApp</mainClass> -->
                 </configuration>
                 </configuration>
             </plugin>
             </plugin>
             <!-- 跳过单元测试 -->
             <!-- 跳过单元测试 -->

+ 1 - 1
src/main/java/com/sqx/config/WebSocketConfig.java

@@ -14,6 +14,6 @@ public class WebSocketConfig implements WebSocketConfigurer {
     public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
     public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
         // 注册Spring WebSocket处理器,端点为/ws
         // 注册Spring WebSocket处理器,端点为/ws
         registry.addHandler(new MyWebSocketHandler(), "/ws")
         registry.addHandler(new MyWebSocketHandler(), "/ws")
-                .setAllowedOriginPatterns("*"); // 允许跨域(生产环境需限制)
+                .setAllowedOrigins("*"); // 允许跨域(生产环境需限制)
     }
     }
 }
 }

+ 2 - 2
src/main/java/com/sqx/modules/app/controller/app/AppUserController.java

@@ -59,8 +59,8 @@ public class AppUserController {
     @Login
     @Login
     @GetMapping("userYesterdayData")
     @GetMapping("userYesterdayData")
     @ApiOperation("用户昨日数据")
     @ApiOperation("用户昨日数据")
-    public Result userYesterdayData(@RequestAttribute("userId")Long userId){
-        return Result.success().put("data",userService.userYesterdayData(userId));
+    public Result userYesterdayData(@RequestAttribute("userId")Long userId,Integer dateType){
+        return Result.success().put("data",userService.userYesterdayData(userId,dateType));
     }
     }
 
 
 }
 }

+ 1 - 1
src/main/java/com/sqx/modules/app/service/UserService.java

@@ -224,5 +224,5 @@ public interface UserService extends IService<UserEntity> {
 
 
     Result updateUserType(UpdateUserTypeForm updateUserTypeForm);
     Result updateUserType(UpdateUserTypeForm updateUserTypeForm);
 
 
-    HashMap<String,Object> userYesterdayData(Long userId);
+    HashMap<String,Object> userYesterdayData(Long userId,Integer dateType);
 }
 }

+ 31 - 10
src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java

@@ -80,10 +80,12 @@ import weixin.popular.util.JsonUtil;
 import java.io.IOException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
+import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -1496,17 +1498,36 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
          * @param userId 用户ID(企业用户,对应user_type=2)
          * @param userId 用户ID(企业用户,对应user_type=2)
          * @return 包含各指标今日数据及较昨日变化的Map
          * @return 包含各指标今日数据及较昨日变化的Map
          */
          */
-        public HashMap<String, Object> userYesterdayData(Long userId) {
+        public HashMap<String, Object> userYesterdayData(Long userId,Integer dateType) {
             HashMap<String, Object> resultMap = new HashMap<>();
             HashMap<String, Object> resultMap = new HashMap<>();
-
-            // 1. 定义时间范围:今日00:00:00至23:59:59
-            LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
-            LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
-
-            // 2. 定义昨日时间范围:昨日00:00:00至23:59:59(用于计算较昨日变化)
-            LocalDateTime yesterdayStart = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIN);
-            LocalDateTime yesterdayEnd = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MAX);
-
+            LocalDateTime todayStart;
+            LocalDateTime todayEnd;
+            LocalDateTime yesterdayStart;
+            LocalDateTime yesterdayEnd;
+            if (dateType==1) {
+                // 1. 定义时间范围:今日00:00:00至23:59:59
+                 todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
+                 todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
+
+                // 2. 定义昨日时间范围:昨日00:00:00至23:59:59(用于计算较昨日变化)
+                 yesterdayStart = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIN);
+                 yesterdayEnd = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MAX);
+            }else {
+                LocalDate today = LocalDate.now();
+                // 本周一 00:00:00
+                LocalDate thisWeekMonday = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+                // 本周日 23:59:59
+                LocalDate thisWeekSunday = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
+                todayStart = LocalDateTime.of(thisWeekMonday, LocalTime.MIN);
+                todayEnd = LocalDateTime.of(thisWeekSunday, LocalTime.MAX);
+
+                // 上周一 00:00:00
+                LocalDate lastWeekMonday = thisWeekMonday.minusWeeks(1);
+                // 上周日 23:59:59
+                LocalDate lastWeekSunday = thisWeekSunday.minusWeeks(1);
+                yesterdayStart = LocalDateTime.of(lastWeekMonday, LocalTime.MIN);
+                yesterdayEnd = LocalDateTime.of(lastWeekSunday, LocalTime.MAX);
+            }
 
 
 
 
             // 4. 统计各指标今日数据及昨日数据
             // 4. 统计各指标今日数据及昨日数据