From d54c1285eb83f27e840f8eeac5fd5e510ca91304 Mon Sep 17 00:00:00 2001
From: zouyiqing <854938661@qq.com>
Date: Wed, 17 Jan 2024 17:15:41 +0800
Subject: [PATCH] =?UTF-8?q?win=E4=BB=A3=E7=A0=81=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 6 +-
ruoyi-admin/pom.xml | 6 +-
.../system/RadarStatusController.java | 6 +-
.../controller/system/SysRadarController.java | 88 +++++++++++++------
.../web/core/config/BaseModelEncoder.java | 5 +-
.../web/core/config/RadarStatusWebSocket.java | 4 +-
.../system/radarStatus/radarStatus.html | 4 +-
.../core/domain/entity/DataResponse.java | 15 +++-
8 files changed, 99 insertions(+), 35 deletions(-)
diff --git a/pom.xml b/pom.xml
index 12c0ad1..b13d905 100644
--- a/pom.xml
+++ b/pom.xml
@@ -225,7 +225,11 @@
spring-boot-starter-websocket
3.0.2
-
+
+ org.clojars.zentrope
+ ojdbc
+ 11.2.0.3.0
+
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index af32836..d703ccc 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -69,7 +69,11 @@
com.ruoyi
ruoyi-generator
-
+
+ org.clojars.zentrope
+ ojdbc
+ 11.2.0.3.0
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java
index 7d0b7d7..b5feec3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java
@@ -30,6 +30,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.net.Inet4Address;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.Statement;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@@ -112,7 +116,7 @@ public class RadarStatusController {
} else {
dataResponse.setStatus("0");
}
- RadarStatusWebSocket.sendToAll(dataResponse.toString());
+ RadarStatusWebSocket.sendToAll(dataResponse);
}
} catch (Exception e) {
if (e.equals("java.net.SocketTimeoutException: connect timed out")) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java
index c964bb9..8ce66a7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java
@@ -24,33 +24,32 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import java.sql.*;
import java.util.List;
import java.util.stream.Collectors;
/**
* 雷达配置
- *
+ *
* @author ruoyi
*/
@Controller
@RequestMapping("/system/radar")
-public class SysRadarController extends BaseController
-{
+public class SysRadarController extends BaseController {
private String prefix = "system/radar";
@Autowired
private ISysRadarService radarService;
+
@GetMapping()
- public String user()
- {
+ public String user() {
return prefix + "/radar";
}
@PostMapping("/list")
@ResponseBody
- public TableDataInfo list(SysRadar radar)
- {
+ public TableDataInfo list(SysRadar radar) {
startPage();
List list = radarService.selectRadarList(radar);
return getDataTable(list);
@@ -60,8 +59,7 @@ public class SysRadarController extends BaseController
* 新增雷达配置
*/
@GetMapping("/add")
- public String add(ModelMap mmap)
- {
+ public String add(ModelMap mmap) {
return prefix + "/add";
}
@@ -72,8 +70,7 @@ public class SysRadarController extends BaseController
@Log(title = "雷达配置管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
- public AjaxResult addSave(@Validated SysRadar radar)
- {
+ public AjaxResult addSave(@Validated SysRadar radar) {
radar.setCreateBy(getLoginName());
return toAjax(radarService.insertRadar(radar));
}
@@ -83,9 +80,8 @@ public class SysRadarController extends BaseController
*/
// @RequiresPermissions("system:user:edit")
@GetMapping("/edit/{id}")
- public String edit(@PathVariable("id") Long id, ModelMap mmap)
- {
- mmap.put("radar", radarService.selectRadarById(id));
+ public String edit(@PathVariable("id") Long id, ModelMap mmap) {
+ mmap.put("radar", radarService.selectRadarById(id));
return prefix + "/edit";
}
@@ -96,8 +92,7 @@ public class SysRadarController extends BaseController
@Log(title = "雷达修改", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
- public AjaxResult editSave(@Validated SysRadar radar)
- {
+ public AjaxResult editSave(@Validated SysRadar radar) {
radar.setUpdateBy(getLoginName());
return toAjax(radarService.updateUser(radar));
@@ -105,8 +100,7 @@ public class SysRadarController extends BaseController
@PostMapping("/remove")
@ResponseBody
- public AjaxResult remove(String ids)
- {
+ public AjaxResult remove(String ids) {
return toAjax(radarService.deleteRadarByIds(ids));
}
@@ -114,11 +108,11 @@ public class SysRadarController extends BaseController
@PostMapping("/export")
@ResponseBody
- public AjaxResult export(SysRadar sysRadar)
- {
- List list = radarService.selectRadarList(sysRadar);;
+ public AjaxResult export(SysRadar sysRadar) {
+ List list = radarService.selectRadarList(sysRadar);
+ ;
List collect = list.stream().map(identifier -> {
- RadarExcel normalExcel = new RadarExcel();
+ RadarExcel normalExcel = new RadarExcel();
BeanUtils.copyProperties(identifier, normalExcel);
return normalExcel;
}
@@ -130,19 +124,61 @@ public class SysRadarController extends BaseController
@GetMapping("/importTemplate")
@ResponseBody
- public AjaxResult importTemplate()
- {
+ public AjaxResult importTemplate() {
ExcelUtil util = new ExcelUtil(RadarExcel.class);
return util.importTemplateExcel("雷达配置");
}
@PostMapping("/importData")
@ResponseBody
- public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
- {
+ public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil util = new ExcelUtil(RadarExcel.class);
List radarList = util.importExcel(file.getInputStream());
String message = radarService.importData(radarList, updateSupport);
return AjaxResult.success(message);
}
+
+
+ public static void main(String[] args) {
+// 数据库连接信息
+ String url = "jdbc:oracle:thin:@localhost:1521:xccb";
+ String username = "system";
+ String password = "radartest";
+
+// 注册Oracle驱动程序
+ try {
+ Class.forName("oracle.jdbc.driver.OracleDriver");
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+// 获取数据库连接
+ try (Connection conn = DriverManager.getConnection(url, username, password)) {
+// 创建Statement对象
+ try (Statement stmt = conn.createStatement()) {
+// 执行SQL语句
+ String sql = "SELECT table_name FROM all_tables where owner = 'radartest'";
+ try (ResultSet rs = stmt.executeQuery(sql)) {
+//// 处理查询结果
+// ResultSetMetaData metaData = rs.getMetaData();
+// int columnCount = metaData.getColumnCount();
+//
+// for (int i = 1; i < columnCount; i++) {
+// String columnName = metaData.getColumnName(i);
+// System.out.println("columnName = " + columnName);
+// }
+ while (rs.next()) {
+ String name = rs.getString("table_name");
+// 处理每一行数据
+ System.out.println( " name: " + name);
+ }
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/BaseModelEncoder.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/BaseModelEncoder.java
index e2294e5..d1d6bbe 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/BaseModelEncoder.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/BaseModelEncoder.java
@@ -2,6 +2,7 @@ package com.ruoyi.web.core.config;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.json.JsonMapper;
+import com.ruoyi.common.core.domain.entity.DataResponse;
import com.ruoyi.common.core.page.TableDataInfo;
import javax.websocket.EncodeException;
@@ -15,9 +16,9 @@ import javax.websocket.EndpointConfig;
* @description: 实体编码器
* @date 2022/8/22 0022下午 14:15
*/
-public class BaseModelEncoder implements Encoder.Text {
+public class BaseModelEncoder implements Encoder.Text {
@Override
- public String encode(TableDataInfo baseResponseMessage) throws EncodeException {
+ public String encode(DataResponse baseResponseMessage) throws EncodeException {
try {
JsonMapper jsonMapper = new JsonMapper();
return jsonMapper.writeValueAsString(baseResponseMessage);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RadarStatusWebSocket.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RadarStatusWebSocket.java
index 6cf2883..078c918 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RadarStatusWebSocket.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RadarStatusWebSocket.java
@@ -12,7 +12,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-@ServerEndpoint(value="/websocket",configurator = WebSocketConfig.class,encoders = {BaseModelEncoder.class})
+@ServerEndpoint(value="/websocket",configurator = WebSocketConfig.class)
@Component
public class RadarStatusWebSocket {
@@ -38,7 +38,7 @@ public class RadarStatusWebSocket {
}
}
- public static void sendToAll(TableDataInfo dataResponse) {
+ public static void sendToAll(DataResponse dataResponse) {
for (Session session : sessions) {
try {
session.getBasicRemote().sendObject(dataResponse);
diff --git a/ruoyi-admin/src/main/resources/templates/system/radarStatus/radarStatus.html b/ruoyi-admin/src/main/resources/templates/system/radarStatus/radarStatus.html
index b55c676..122a9c8 100644
--- a/ruoyi-admin/src/main/resources/templates/system/radarStatus/radarStatus.html
+++ b/ruoyi-admin/src/main/resources/templates/system/radarStatus/radarStatus.html
@@ -87,8 +87,10 @@
socket.onmessage = function(event) {
var data = event.data;
- console.log("接收到数据:" + data);
+ // console.log("接收到数据:" + data);
// 在这里更新前端界面,显示接收到的数据
+ let parse = JSON.parse(data);
+ console.log("接收到数据:" + parse);
};
socket.onclose = function(event) {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DataResponse.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DataResponse.java
index 52283fe..b301ba0 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DataResponse.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/DataResponse.java
@@ -2,8 +2,12 @@ package com.ruoyi.common.core.domain.entity;
import lombok.Data;
+import java.io.Serializable;
+
@Data
-public class DataResponse {
+public class DataResponse implements Serializable {
+
+
/**
* 雷达ip
@@ -19,4 +23,13 @@ public class DataResponse {
*/
private String status = "0" ;
+
+ @Override
+ public String toString() {
+ return "DataResponse{" +
+ "radarIp='" + radarIp + '\'' +
+ ", radarLocation='" + radarLocation + '\'' +
+ ", status='" + status + '\'' +
+ '}';
+ }
}