This commit is contained in:
tangzh 2025-07-22 13:56:12 +08:00
parent d551bc8071
commit b35335619c

View File

@ -141,21 +141,22 @@ public class WebSocketSdcpServiceImpl extends WebSocketService {
Map<String, String> dataMap = Arrays.stream(message.split("&")) Map<String, String> dataMap = Arrays.stream(message.split("&"))
.map(s-> s.split("=")) .map(s-> s.split("="))
.collect(Collectors.toMap(data-> data[0], data -> data[1])); .collect(Collectors.toMap(data-> data[0], data -> data[1]));
String deviceSn = dataMap.get("MainboardID").toString(); String deviceSn = dataMap.get("MainboardID");
String userId = dataMap.get("UserId").toString(); String userId = dataMap.get("UserId");
String img64 = dataMap.get("Data").toString(); String img64 = dataMap.get("Data");
WebSocketService uSocket = clients.get(userId); WebSocketService uSocket = clients.get(userId);
if (null == uSocket || null == uSocket.session || !uSocket.session.isOpen()) { if (null == uSocket || null == uSocket.session || !uSocket.session.isOpen()) {
log.info("<<< 用户【{}】已退出连接,忽略", userId); log.info("<<< 用户【{}】已退出连接,忽略", userId);
return; return;
} }
String category = dataMap.get("Category").toString(); String category = dataMap.get("Category");
String mapKey = uSocket.session.getId() + "_" + category; String mapKey = uSocket.session.getId() + "_" + category;
ImageDataVo imageDataVo = imageUser.get(mapKey); ImageDataVo imageDataVo = imageUser.get(mapKey);
imageDataVo.imgWrite(Base64.getDecoder().decode(img64)); imageDataVo.imgWrite(Base64.getDecoder().decode(img64));
imageUser.put(mapKey, imageDataVo); imageUser.put(mapKey, imageDataVo);
Map<String, Object> commandResult = new HashMap<>(); Map<String, Object> commandResult = new HashMap<>();
commandResult.put("deviceSn", deviceSn); commandResult.put("deviceSn", deviceSn);
commandResult.put("category", category);
commandResult.put("chunkIndex", (Integer.parseInt(dataMap.get("ChunkIndex")) + 1) + ""); // 图片当前分片数 commandResult.put("chunkIndex", (Integer.parseInt(dataMap.get("ChunkIndex")) + 1) + ""); // 图片当前分片数
commandResult.put("totalChunks", dataMap.get("TotalChunks")); // 图片总的分片数 commandResult.put("totalChunks", dataMap.get("TotalChunks")); // 图片总的分片数
sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "图片传输中", MsgEnum.WRITEIMG)), uSocket.channel, uSocket.session); sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "图片传输中", MsgEnum.WRITEIMG)), uSocket.channel, uSocket.session);