From 1ba9cdfe3bb5ca3ab4393343776c984a1dcd6302 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 05 七月 2024 11:01:11 +0800
Subject: [PATCH] message命令换成command,websocket手动取bean

---
 src/main/java/com/ycl/jxkg/domain/query/WebSocketQuery.java               |    2 +-
 src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java                |    6 +++---
 src/main/java/com/ycl/jxkg/server/WebsocketServer.java                    |   15 +++++++++++----
 src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java |    2 ++
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java              |    4 ++--
 src/main/java/com/ycl/jxkg/config/CaffeineConfig.java                     |    2 ++
 src/main/java/com/ycl/jxkg/JxkgApplication.java                           |    5 ++++-
 7 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/JxkgApplication.java b/src/main/java/com/ycl/jxkg/JxkgApplication.java
index 0c95d80..d05cc11 100644
--- a/src/main/java/com/ycl/jxkg/JxkgApplication.java
+++ b/src/main/java/com/ycl/jxkg/JxkgApplication.java
@@ -1,9 +1,11 @@
 package com.ycl.jxkg;
 
 import com.ycl.jxkg.config.property.SystemConfig;
+import com.ycl.jxkg.server.WebsocketServer;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
@@ -25,6 +27,7 @@
      * @param args the input arguments
      */
     public static void main(String[] args) {
-        SpringApplication.run(JxkgApplication.class, args);
+        ConfigurableApplicationContext context = SpringApplication.run(JxkgApplication.class, args);
+        WebsocketServer.setApplicationContext(context);
     }
 }
diff --git a/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java b/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
index 80f585e..06b16f0 100644
--- a/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
+++ b/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
@@ -2,12 +2,14 @@
 
 import com.github.benmanes.caffeine.cache.Cache;
 import com.github.benmanes.caffeine.cache.Caffeine;
+import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 import java.util.concurrent.TimeUnit;
 
 @Configuration
+@EnableCaching
 public class CaffeineConfig {
 
     @Bean
diff --git a/src/main/java/com/ycl/jxkg/domain/query/WebSocketQuery.java b/src/main/java/com/ycl/jxkg/domain/query/WebSocketQuery.java
index d6ff159..6dfd2bc 100644
--- a/src/main/java/com/ycl/jxkg/domain/query/WebSocketQuery.java
+++ b/src/main/java/com/ycl/jxkg/domain/query/WebSocketQuery.java
@@ -4,6 +4,6 @@
 
 @Data
 public class WebSocketQuery {
-    private String commend;
+    private String command;
     private Integer id;
 }
diff --git a/src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java b/src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java
index c4849d5..131d74b 100644
--- a/src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java
+++ b/src/main/java/com/ycl/jxkg/enums/WebsocketCommendEnum.java
@@ -17,12 +17,12 @@
     RECORD_STUDY_TIME("recordStudyTime", "璁板綍瀛︿範鏃堕棿"),
     ;
 
-    private final String commend;
+    private final String command;
 
     private final String desc;
 
-    WebsocketCommendEnum(String commend, String desc) {
-        this.commend = commend;
+    WebsocketCommendEnum(String command, String desc) {
+        this.command = command;
         this.desc = desc;
     }
 }
diff --git a/src/main/java/com/ycl/jxkg/server/WebsocketServer.java b/src/main/java/com/ycl/jxkg/server/WebsocketServer.java
index 2c3a644..6c94322 100644
--- a/src/main/java/com/ycl/jxkg/server/WebsocketServer.java
+++ b/src/main/java/com/ycl/jxkg/server/WebsocketServer.java
@@ -8,6 +8,7 @@
 import com.ycl.jxkg.service.EducationResourceService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpSession;
@@ -32,8 +33,12 @@
 @ServerEndpoint("/websocket/{userId}")
 public class WebsocketServer {
 
-    @Autowired
-    private EducationResourceService educationResourceService;
+    private static ApplicationContext applicationContext;
+
+    public static void setApplicationContext(ApplicationContext context) {
+        applicationContext = context;
+    }
+
     /**
      * 绾跨▼瀹夊叏鐨勬棤搴忕殑闆嗗悎
      */
@@ -68,9 +73,11 @@
     @OnMessage
     public void onMessage(String message) {
         WebSocketQuery webSocketQuery = JSONObject.parseObject(message, WebSocketQuery.class);
-        String commend = webSocketQuery.getCommend();
+        String command = webSocketQuery.getCommand();
         Integer userId = webSocketQuery.getId();
-        if(WebsocketCommendEnum.RECORD_STUDY_TIME.getCommend().equals(commend)){
+        if(WebsocketCommendEnum.RECORD_STUDY_TIME.getCommand().equals(command)){
+            log.info("瀛樻秷鎭�");
+            EducationResourceService educationResourceService = applicationContext.getBean(EducationResourceService.class);
             educationResourceService.recordTime(userId);
         }
         log.info("銆怶ebSocket娑堟伅銆戞敹鍒板鎴风娑堟伅锛�" + message);
diff --git a/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
index c29ac89..d18955c 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
@@ -15,6 +15,7 @@
 import com.ycl.jxkg.mapper.SubjectMapper;
 import com.ycl.jxkg.service.EducationResourceService;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -31,6 +32,7 @@
  */
 @Service
 @RequiredArgsConstructor
+@Slf4j
 public class EducationResourceServiceImpl implements EducationResourceService {
 
     private final EducationResourceMapper mapper;
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
index 4dde889..cc6d54a 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -885,7 +885,7 @@
             throw new RuntimeException("璇ュ鍛樹笉鍦ㄧ嚎锛屾棤娉曟墽琛岃鎿嶄綔");
         }
         WebsocketDataVO websocket = new WebsocketDataVO();
-        websocket.setCommend(WebsocketCommendEnum.DELAYED.getCommend());
+        websocket.setCommend(WebsocketCommendEnum.DELAYED.getCommand());
         BigDecimal sed = BigDecimal.valueOf(60).multiply(form.getAddTimeM());
         form.setAddTimeM(sed);
         websocket.setData(form);
@@ -900,7 +900,7 @@
             throw new RuntimeException("璇ュ鍛樹笉鍦ㄧ嚎锛屾棤娉曟墽琛岃鎿嶄綔");
         }
         WebsocketDataVO websocket = new WebsocketDataVO();
-        websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommend());
+        websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommand());
         websocket.setData(form);
         // 鍙戦�亀ebsocket娑堟伅
         websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));

--
Gitblit v1.8.0