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