From bf5410a21ff5a5e64e4158bdaf1e4acfad4a78be Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 25 七月 2025 17:29:17 +0800
Subject: [PATCH] Merge branch 'ywx'
---
src/main/java/com/chinaztt/mes/docx/service/impl/DocxServiceImpl.java | 6 +-
src/main/java/com/chinaztt/mes/docx/dto/GetFileDto.java | 3 +
src/main/java/com/chinaztt/mes/docx/util/TakeWords.java | 66 +++++++++++++++++++++++++-------
3 files changed, 57 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/chinaztt/mes/docx/dto/GetFileDto.java b/src/main/java/com/chinaztt/mes/docx/dto/GetFileDto.java
index 5d5ec59..23cc650 100644
--- a/src/main/java/com/chinaztt/mes/docx/dto/GetFileDto.java
+++ b/src/main/java/com/chinaztt/mes/docx/dto/GetFileDto.java
@@ -26,4 +26,7 @@
private String dbUserName;
//鏁版嵁搴撳瘑鐮�
private String dbPassword;
+ //鏁版嵁搴撹〃鍚�
+ private String dbTable;
+
}
diff --git a/src/main/java/com/chinaztt/mes/docx/service/impl/DocxServiceImpl.java b/src/main/java/com/chinaztt/mes/docx/service/impl/DocxServiceImpl.java
index 0d506a7..f3335d8 100644
--- a/src/main/java/com/chinaztt/mes/docx/service/impl/DocxServiceImpl.java
+++ b/src/main/java/com/chinaztt/mes/docx/service/impl/DocxServiceImpl.java
@@ -23,7 +23,7 @@
@Override
public R<?> getFile(GetFileDto getFileDto) throws IOException, SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException, TesseractException {
File file = getFileStart(getFileDto.getFilePath(), getFileDto.getFileExtension());
- if (!file.exists()) {
+ if (file != null && !file.exists()) {
return R.failed("鏈煡璇㈠埌璇ヨ矾寰勶細" + getFileDto.getFilePath() + "涓嬪瓨鍦細" + getFileDto.getFileExtension() + "缁撳熬鐨勬枃浠讹紒");
}
switch (getFileDto.getFileExtension()) {
@@ -51,12 +51,12 @@
if (ObjectUtil.isEmpty(getFileDto.getDbFileName()) || Objects.equals(getFileDto.getDbFileName(), "null")) {
return R.failed("鏈厤缃�.db閲囬泦鏂囦欢鍚嶇О锛�");
}
- return R.ok(TakeWords.readDbFile(file,getFileDto));
+ return R.ok(TakeWords.readDbFile(file, getFileDto));
case ".mysql":
if (ObjectUtil.isEmpty(getFileDto.getDbFileName()) || Objects.equals(getFileDto.getDbFileName(), "null")) {
return R.failed("鏈厤缃�.mysql閲囬泦鏂囦欢鍚嶇О锛�");
}
- return R.ok(TakeWords.getmysqlFile(getFileDto));
+ return R.ok(TakeWords.getMysqlFile(getFileDto));
case ".png":
return R.ok(TakeWords.readPngFile(file));
default:
diff --git a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
index 2814371..a31d5e8 100644
--- a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
+++ b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
@@ -332,33 +332,69 @@
} catch (Exception ignore) {
}
}
- public static Object getmysqlFile(GetFileDto getFileDto) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
+ public static Object getMysqlFile(GetFileDto getFileDto){
Map<String, Object> tableMap = new HashMap<>(16);
- // 鏁版嵁搴撹繛鎺ヤ俊鎭�
- String url = "jdbc:mysql://localhost:3306/"+getFileDto.getDbFileName()+"?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";
+ // 浠� GetFileDto 鑾峰彇鏁版嵁搴撳悕锛屽搴斻�愭枃浠跺悕绉般�戝瓧娈�
+ String dbName = getFileDto.getDbFileName();
String user = getFileDto.getDbUserName();
String password = getFileDto.getDbPassword();
- List<ThicknessData> dataList = new ArrayList<>();
+ // 浠� GetFileDto 鑾峰彇鏁版嵁琛ㄥ悕锛屽搴斻�愭暟鎹簱琛ㄥ悕銆戝瓧娈�
+ String table = getFileDto.getDbTable();
+ // 妫�鏌ユ暟鎹簱鍚嶅拰琛ㄥ悕鏄惁涓虹┖
+ if (dbName == null || dbName.isEmpty() || table == null || table.isEmpty()) {
+ return R.failed("鏁版嵁搴撳悕鎴栬〃鍚嶄笉鑳戒负绌�");
+ }
+ // 鏁版嵁搴撹繛鎺ヤ俊鎭�
+ String url = "jdbc:mysql://localhost:3306/"+dbName+"?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";
+ Connection connection = null;
+ PreparedStatement preparedStatement = null;
+ ResultSet resultSet = null;
+ List<Map<String, Object>> dataList = new ArrayList<>();
- try (
- // 寤虹珛杩炴帴
- Connection connection = DriverManager.getConnection(url, user, password);
- // 鍒涘缓 Statement 瀵硅薄鎵ц SQL
- Statement statement = connection.createStatement()
- ) {
- String sql = "SELECT ThinnestPoint, AverageThickness FROM model1records";
- ResultSet resultSet = statement.executeQuery(sql);
+ try {
+ // 寤虹珛杩炴帴
+ connection = DriverManager.getConnection(url, user, password);
+ // 鏋勫缓鍩虹 SQL
+ StringBuilder sql = new StringBuilder("SELECT * FROM ").append(table);
+ // 鍒涘缓 PreparedStatement 瀵硅薄鎵ц SQL
+ preparedStatement = connection.prepareStatement(sql.toString());
+ resultSet = preparedStatement.executeQuery();
+ ResultSetMetaData metaData = resultSet.getMetaData();
+ int columnCount = metaData.getColumnCount();
// 閬嶅巻缁撴灉闆嗚幏鍙栨暟鎹�
while (resultSet.next()) {
- double thinnestPoint = resultSet.getDouble("ThinnestPoint");
- double averageThickness = resultSet.getDouble("AverageThickness");
- dataList.add(new ThicknessData(thinnestPoint, averageThickness));
+ Map<String, Object> rowData = new HashMap<>();
+ for (int i = 1; i <= columnCount; i++) {
+ String columnName = metaData.getColumnName(i);
+ rowData.put(columnName, resultSet.getObject(i));
+ }
+ dataList.add(rowData);
}
+// while (resultSet.next()) {
+// double thinnestPoint = resultSet.getDouble("ThinnestPoint");
+// double averageThickness = resultSet.getDouble("AverageThickness");
+// dataList.add(new ThicknessData(thinnestPoint, averageThickness));
+// }
tableMap.put("data", dataList);
} catch (Exception e) {
e.printStackTrace();
+ // 鍋囪 R 绫绘湁 failed 鏂规硶锛岃嫢娌℃湁闇�琛ュ厖瀹炵幇
return R.failed("鏁版嵁搴撴煡璇㈠嚭閿�: " + e.getMessage());
+ } finally {
+ try {
+ if (resultSet != null) {
+ resultSet.close();
+ }
+ if (preparedStatement != null) {
+ preparedStatement.close();
+ }
+ if (connection != null) {
+ connection.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
}
return tableMap;
}
--
Gitblit v1.9.3