From 262f0dfcc426a73557d40c147bf08a0d636fc047 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Tue, 15 Oct 2024 15:03:19 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BD=BF=E7=94=A8tableName=E5=92=8Cdev?= =?UTF-8?q?Id=E6=9B=BF=E6=8D=A2sensor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xydl/cac/service/DataService.java | 8 ++--- .../cac/service/impl/DataServiceImpl.java | 32 +++++++++---------- .../cac/service/impl/NSensorServiceImpl.java | 2 +- .../cac/service/impl/WarnRuleServiceImpl.java | 4 +-- .../java/com/xydl/cac/task/I2syncTask.java | 2 +- .../java/com/xydl/cac/task/RuleCheckTask.java | 2 +- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/xydl/cac/service/DataService.java b/src/main/java/com/xydl/cac/service/DataService.java index ffecc5e..8f981d5 100644 --- a/src/main/java/com/xydl/cac/service/DataService.java +++ b/src/main/java/com/xydl/cac/service/DataService.java @@ -14,13 +14,13 @@ public interface DataService { List getDataTableColumns(String tableName) throws Exception; - OnePage> getData(NSensor sensor, List points, ConditionModel model) throws Exception; + OnePage> getData(String tableName, Integer devId, List points, ConditionModel model) throws Exception; void clearAllBind(); - List> getLatestData(NSensor sensor, List points, Date start) throws Exception; + List> getLatestData(String tableName, Integer devId, List points, Date start) throws Exception; - Map getLastOneData(NSensor sensor, ModevTypePoint point) throws Exception; + Map getLastOneData(String tableName, Integer devId, ModevTypePoint point) throws Exception; - void insertData(String tableName, Integer eqmid, String time, String colname, String value); + void insertData(String tableName, Integer devId, String time, String colname, String value); } 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 2e1097e..c655644 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -110,7 +110,7 @@ public class DataServiceImpl implements DataService { @Override - public OnePage> getData(NSensor sensor, List points, ConditionModel model) throws Exception { + public OnePage> getData(String tableName, Integer devId, List points, ConditionModel model) throws Exception { if (model.getNumPerDay() != null && model.getNumPerDay() > 0) { OnePage> page; long totalDays = 0; @@ -167,12 +167,12 @@ public class DataServiceImpl implements DataService { } // 查询 - page = this.doSqlData(sensor, points, newmodel); + page = this.doSqlData(tableName, devId, points, newmodel); page.setTotal(totalDays * model.getNumPerDay()); } else { // 全量 - page = this.doSqlData(sensor, points, model); + page = this.doSqlData(tableName, devId, points, model); } // 从数据里每天抽取num条 @@ -184,18 +184,18 @@ public class DataServiceImpl implements DataService { return page; } else { // 不抽取数据 - OnePage> page = this.doSqlData(sensor, points, model); + OnePage> page = this.doSqlData(tableName, devId, points, model); return page; } } - private OnePage> doSqlData(NSensor sensor, List points, ConditionModel model) { - String devField = DataTable.getDevidField(sensor.getTableName()); - String timeField = this.getTimeField(sensor.getTableName()); + private OnePage> doSqlData(String tableName, Integer devId, List points, ConditionModel model) { + String devField = DataTable.getDevidField(tableName); + String timeField = this.getTimeField(tableName); OnePage result = new OnePage(); - String sqlFrom = " FROM " + sensor.getTableName(); - String sqlWhere = " WHERE " + devField + "=" + sensor.getDevId(); + String sqlFrom = " FROM " + tableName; + String sqlWhere = " WHERE " + devField + "=" + devId; if (model.getStartTime() != null) { if (model.isExcludeStartTime()) { sqlWhere = sqlWhere + " AND " + timeField + " > '" + DateUtil.format(model.getStartTime()) + "'"; @@ -244,7 +244,7 @@ public class DataServiceImpl implements DataService { } @Override - public List> getLatestData(NSensor sensor, List points, Date start) throws Exception { + public List> getLatestData(String tableName, Integer devId, List points, Date start) throws Exception { ConditionModel model = new ConditionModel(); model.setPageSize(1000); model.setPageNum(1); @@ -252,12 +252,12 @@ public class DataServiceImpl implements DataService { model.setExcludeStartTime(true); model.setTimeAsc(true); - OnePage> page = this.doSqlData(sensor, points, model); + OnePage> page = this.doSqlData(tableName, devId, points, model); return page.getContent(); } @Override - public Map getLastOneData(NSensor sensor, ModevTypePoint point) throws Exception { + public Map getLastOneData(String tableName, Integer devId, ModevTypePoint point) throws Exception { List points = new ArrayList<>(); points.add(point); @@ -265,7 +265,7 @@ public class DataServiceImpl implements DataService { model.setPageSize(1); model.setPageNum(1); - OnePage> page = this.doSqlData(sensor, points, model); + OnePage> page = this.doSqlData(tableName, devId, points, model); if (CollectionUtils.isEmpty(page.getContent())) { return null; } else { @@ -275,11 +275,11 @@ public class DataServiceImpl implements DataService { } @Override - public void insertData(String tableName, Integer eqmid, String time, String colname, String value) { + public void insertData(String tableName, Integer devId, String time, String colname, String value) { String devField = DataTable.getDevidField(tableName); String timeField = this.getTimeField(tableName); String sqlFrom = " FROM " + tableName; - String sqlWhere = " WHERE " + devField + "=" + eqmid + " AND " + timeField + " = '" + time + "'"; + String sqlWhere = " WHERE " + devField + "=" + devId + " AND " + timeField + " = '" + time + "'"; String sqlCount = "SELECT count(*)" + sqlFrom + sqlWhere; Long count = jdbcTemplate.queryForObject(sqlCount, Long.class); @@ -289,7 +289,7 @@ public class DataServiceImpl implements DataService { jdbcTemplate.execute(sql); } else { String sql = "INSERT INTO " + tableName + " (" + devField + ", " + timeField + "," + colname - + ") VALUES (" + eqmid + ", '" + time + "', " + value + ")"; + + ") VALUES (" + devId + ", '" + time + "', " + value + ")"; jdbcTemplate.execute(sql); } } diff --git a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java index d7ecc21..4534e53 100644 --- a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java @@ -218,7 +218,7 @@ public class NSensorServiceImpl implements NSensorService { SensorDetail> result = new SensorDetail(); result.setSensor(sensor); - OnePage> page = dataService.getData(sensor, pointList, model); + OnePage> page = dataService.getData(sensor.getTableName(), sensor.getDevId(), pointList, model); result.initFrom(page); for (ModevTypePoint point : pointList) { diff --git a/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java index 5ba5090..a43c1d5 100644 --- a/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java @@ -58,7 +58,7 @@ public class WarnRuleServiceImpl implements WarnRuleService { item.setId(null); item.setLastDTime(null); NSensor sensor = sensorService.detail(item.getSensorId()); - if (sensor == null){ + if (sensor == null) { throw new BusinessException("未找到该装置id=" + item.getSensorId()); } Optional optionalModevTypePoint = typePointRepository.findById(item.getModevtypePointId()); @@ -66,7 +66,7 @@ public class WarnRuleServiceImpl implements WarnRuleService { throw new BusinessException("未找到该监测装置类型(" + sensor.getTypeName() + ")的属性点" + item.getModevtypePointId()); } ModevTypePoint typePoint = optionalModevTypePoint.get(); - Map map = dataService.getLastOneData(sensor, typePoint); + Map map = dataService.getLastOneData(sensor.getTableName(), sensor.getDevId(), typePoint); if (map != null) { String str = (String) map.get("acquisitionTime"); item.setLastDTime(DateUtil.parse(str)); diff --git a/src/main/java/com/xydl/cac/task/I2syncTask.java b/src/main/java/com/xydl/cac/task/I2syncTask.java index 9e9617b..14d8e6a 100644 --- a/src/main/java/com/xydl/cac/task/I2syncTask.java +++ b/src/main/java/com/xydl/cac/task/I2syncTask.java @@ -114,7 +114,7 @@ public class I2syncTask { } // 查询最新数据 - List> dataList = dataService.getLatestData(sensor, points, record.getLastDTime()); + List> dataList = dataService.getLatestData(sensor.getTableName(), sensor.getDevId(), points, record.getLastDTime()); if (CollectionUtils.isEmpty(dataList)) { return; } diff --git a/src/main/java/com/xydl/cac/task/RuleCheckTask.java b/src/main/java/com/xydl/cac/task/RuleCheckTask.java index f8c80d6..c0caf2d 100644 --- a/src/main/java/com/xydl/cac/task/RuleCheckTask.java +++ b/src/main/java/com/xydl/cac/task/RuleCheckTask.java @@ -65,7 +65,7 @@ public class RuleCheckTask { ModevTypePoint typePoint = rule.getTypePoint(); List points = new ArrayList<>(); points.add(typePoint); - List> list = dataService.getLatestData(sensor, points, rule.getLastDTime()); + List> list = dataService.getLatestData(sensor.getTableName(), sensor.getDevId(), points, rule.getLastDTime()); List warnList = rule.checkData(list); if (warnList != null) { ruleRepository.save(rule);