From 08b47022d706f7ce0aa36814499f823649141c3b Mon Sep 17 00:00:00 2001 From: huangfeng Date: Tue, 13 Aug 2024 11:41:45 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cac/service/impl/DataServiceImpl.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java index 1973e8e..5da5f50 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -74,13 +74,32 @@ public class DataServiceImpl implements DataService { if (!col.equals("id") && !col.equals("eqmid") && !col.equals("acquisitionTime") && !col.equals("d_time") && !col.equals("create_time") && !col.equals("update_time") - && !col.equals("isupload")) { + && !col.equals("isupload") && !col.equals("capturetime")) { result.add(item); } } return result; } + private String getTimeField(String tableName) { + if (StringUtils.isBlank(schema)) { + this.getDatabase(); + } + String field = "d_time"; + String sql = "SELECT COLUMN_NAME name, COLUMN_COMMENT comment, DATA_TYPE type FROM information_schema.columns WHERE TABLE_NAME='" + + tableName + "' AND TABLE_SCHEMA='" + schema + "' ORDER BY name desc"; + List list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ColumnModel.class)); + for (ColumnModel item : list) { + String col = item.getName(); + if (col.equals("acquisitionTime") || col.equals("d_time") + || col.equals("capturetime")) { + field = col; + break; + } + } + return field; + } + private void getDatabase() { String sql = "select database()"; List list = jdbcTemplate.queryForList(sql, String.class); @@ -170,7 +189,7 @@ public class DataServiceImpl implements DataService { private OnePage> doSqlData(NSensor sensor, List points, ConditionModel model) { String devField = DataTable.getDevidField(sensor.getTableName()); - String timeField = DataTable.getTimeField(sensor.getTableName()); + String timeField = this.getTimeField(sensor.getTableName()); OnePage result = new OnePage(); String sqlFrom = " FROM " + sensor.getTableName();