整理统一发送websocket接口,并将模拟想定推演时间和剩余时间相关数据的发送
This commit is contained in:
		
							parent
							
								
									3629f00104
								
							
						
					
					
						commit
						1946f33be3
					
				|  | @ -5,13 +5,15 @@ | |||
|   </component> | ||||
|   <component name="ChangeListManager"> | ||||
|     <list default="true" id="050b8051-b1ec-42aa-bac3-c1c189a4697d" name="更改" comment="修改线程继承自定义线程相关类错误问题"> | ||||
|       <change afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/config/CorsFilter.java" afterDir="false" /> | ||||
|       <change afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/util/redisUtil.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/controller/InferenceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/controller/InferenceController.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/InferenceTaskService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/InferenceTaskService.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/DemandThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/DemandThread.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/TaskAssignThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/TaskAssignThread.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/TaskThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/TaskThread.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/TimeSyncThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/TimeSyncThread.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/WasterThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/WasterThread.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/WebSocketServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/service/WebSocketServer.java" afterDir="false" /> | ||||
|       <change beforePath="$PROJECT_DIR$/src/main/java/com/simulationservice/util/CustomThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/simulationservice/util/CustomThread.java" afterDir="false" /> | ||||
|     </list> | ||||
|     <option name="SHOW_DIALOG" value="false" /> | ||||
|     <option name="HIGHLIGHT_CONFLICTS" value="true" /> | ||||
|  | @ -128,7 +130,7 @@ | |||
|       <workItem from="1757664586037" duration="3070000" /> | ||||
|       <workItem from="1757820561153" duration="249000" /> | ||||
|       <workItem from="1757829080725" duration="24604000" /> | ||||
|       <workItem from="1757922989495" duration="18673000" /> | ||||
|       <workItem from="1757922989495" duration="29564000" /> | ||||
|     </task> | ||||
|     <task id="LOCAL-00001" summary="修改配置文件和去掉打包时test模块"> | ||||
|       <option name="closed" value="true" /> | ||||
|  |  | |||
							
								
								
									
										6
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								pom.xml
									
									
									
									
									
								
							|  | @ -35,6 +35,12 @@ | |||
|             <artifactId>spring-boot-starter-websocket</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>cn.hutool</groupId> | ||||
|             <artifactId>hutool-all</artifactId> | ||||
|             <version>5.8.26</version> <!-- 可以去 [Maven中央仓库](https://search.maven.org/search?q=hutool-all) 查最新版本 --> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.springframework.boot</groupId> | ||||
|             <artifactId>spring-boot-starter-validation</artifactId> | ||||
|  |  | |||
|  | @ -13,11 +13,7 @@ public class DemandThread extends CustomThread { | |||
|         if (max < 0) max = 1000; | ||||
|         max--; | ||||
|         String info = String.valueOf(max) + " " + getRoomId(); | ||||
|         try { | ||||
|             WebSocketServer.sendInfo(info, "1111"); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|         //SendWebSocketMsg(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -14,11 +14,7 @@ public class TaskAssignThread extends CustomThread { | |||
|         if (max < 0) max = 1000; | ||||
|         max--; | ||||
|         String info = String.valueOf(max) + " " + getRoomId(); | ||||
|         try { | ||||
|             WebSocketServer.sendInfo(info, "3333"); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|         //SendWebSocketMsg(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -13,11 +13,6 @@ public class TaskThread extends CustomThread { | |||
|         if (max < 0) max = 1000; | ||||
|         max--; | ||||
|         String info = String.valueOf(max) + " " + getRoomId(); | ||||
|         try { | ||||
|             WebSocketServer.sendInfo(info, "2222"); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|         SendWebSocketMsg(info, "111"); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -4,6 +4,8 @@ import java.text.ParseException; | |||
| import java.text.SimpleDateFormat; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| import cn.hutool.extra.spring.SpringUtil; | ||||
| import com.alibaba.fastjson.JSONObject; | ||||
| import com.simulationservice.util.CustomThread; | ||||
| import com.simulationservice.util.RedisUtil; | ||||
| 
 | ||||
|  | @ -105,10 +107,18 @@ public class TimeSyncThread extends CustomThread { | |||
| 
 | ||||
|         // 推演的时间键值:roomId-runTime | ||||
|         String key = getRoomId() + "-runTime"; | ||||
|         //_redis.set(key, strTime); | ||||
|         SpringUtil.getBean(RedisUtil.class).set(key, strTime); | ||||
|         // 房间剩余时间键值:roomId-resvTime | ||||
|         key = getRoomId() + "-resvTime"; | ||||
|         //_redis.set(key, _resvTime); | ||||
|         SpringUtil.getBean(RedisUtil.class).set(key, _resvTime); | ||||
| 
 | ||||
|         //推送时间到客户端 | ||||
|         JSONObject jsonObject = new JSONObject(); | ||||
|         jsonObject.putIfAbsent("roomId", getRoomId()); | ||||
|         jsonObject.putIfAbsent("runTime", strTime); | ||||
|         jsonObject.putIfAbsent("resvTime", _resvTime); | ||||
|         String jsonString = jsonObject.toJSONString(); | ||||
|         SendWebSocketMsg(jsonString, "1111"); | ||||
|     } | ||||
| 
 | ||||
|     public void setBeginTime(String beginTime) { | ||||
|  |  | |||
|  | @ -1,7 +1,9 @@ | |||
| package com.simulationservice.service; | ||||
| import java.io.IOException; | ||||
| import java.lang.*; | ||||
| 
 | ||||
| import com.simulationservice.util.CustomThread; | ||||
| 
 | ||||
| /** | ||||
|  * 作战分队物资消耗线程,用于各个作战单元的资源消耗 | ||||
|  */ | ||||
|  | @ -13,11 +15,7 @@ public class WasterThread extends CustomThread { | |||
|         if (max < 0) max = 1000; | ||||
|         max--; | ||||
|         String info = String.valueOf(max) + " " + getRoomId(); | ||||
|         try { | ||||
|             WebSocketServer.sendInfo(info, "1111"); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|         //SendWebSocketMsg(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -126,14 +126,18 @@ public class WebSocketServer { | |||
|     /** | ||||
|      * 发送自定义消息 | ||||
|      */ | ||||
|     public static void sendInfo(String message, @PathParam("userId") String userId) throws IOException { | ||||
|     public static <Gson> void sendInfo(String message, @PathParam("userId") String userId) throws IOException { | ||||
| 
 | ||||
|         if (!StringUtils.isNotBlank(userId) || !webSocketMap.containsKey(userId)) { | ||||
|             //log.error("用户" + userId + ",不在线!"); | ||||
|             return; | ||||
|         } | ||||
|         log.info("发送消息到:" + userId + ",报文:" + message); | ||||
|         webSocketMap.get(userId).sendMessage(message); | ||||
|         //log.info("发送消息到:" + userId + ",报文:" + message); | ||||
|         JSONObject jsonObject = new JSONObject(); | ||||
|         jsonObject.putIfAbsent("name", userId); | ||||
|         jsonObject.putIfAbsent("data", message); | ||||
|         String jsonString = jsonObject.toJSONString(); | ||||
|         webSocketMap.get(userId).sendMessage(jsonString); | ||||
|     } | ||||
| 
 | ||||
|     public static synchronized int getOnlineCount() { | ||||
|  |  | |||
|  | @ -1,4 +1,7 @@ | |||
| package com.simulationservice.util; | ||||
| import com.simulationservice.service.WebSocketServer; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| import java.lang.*; | ||||
| /** | ||||
|  * 需求消耗线程,用于各个作战单元的需求消耗 | ||||
|  | @ -11,6 +14,7 @@ public abstract class CustomThread extends Thread { | |||
|     private String roomId = "";  //房间号 | ||||
|     public int max = 1000; | ||||
|     public int time = 1000; //快进和快退时间,单位毫秒 | ||||
|     private RedisUtil _redis; | ||||
| 
 | ||||
|     @Override | ||||
|     public void run() { | ||||
|  | @ -66,4 +70,12 @@ public abstract class CustomThread extends Thread { | |||
|     public void setTime(int time) { | ||||
|         this.time = time; | ||||
|     } | ||||
| 
 | ||||
|     public void SendWebSocketMsg(String msg, String userId) { | ||||
|         try { | ||||
|             WebSocketServer.sendInfo(msg, userId); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user