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