diff --git a/src/main/java/com/techsor/datacenter/sender/config/AuroraDataSourceConfig.java b/src/main/java/com/techsor/datacenter/sender/config/AuroraDataSourceConfig.java new file mode 100644 index 0000000..acd4e65 --- /dev/null +++ b/src/main/java/com/techsor/datacenter/sender/config/AuroraDataSourceConfig.java @@ -0,0 +1,65 @@ +package com.techsor.datacenter.sender.config; + +import com.zaxxer.hikari.HikariDataSource; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.jdbc.core.JdbcTemplate; + +import javax.sql.DataSource; + +/** + * Aurora 专用数据源配置 + */ +@Configuration +public class AuroraDataSourceConfig { + + @Value("${spring.aurora.datasource.url}") + private String url; + + @Value("${spring.aurora.datasource.username}") + private String username; + + @Value("${spring.aurora.datasource.password}") + private String password; + + @Value("${spring.aurora.datasource.driver-class-name}") + private String driverClassName; + + @Value("${spring.aurora.datasource.minimum-idle:2}") + private int minimumIdle; + + @Value("${spring.aurora.datasource.maximum-pool-size:10}") + private int maximumPoolSize; + + @Value("${spring.aurora.datasource.connection-timeout:30000}") + private long connectionTimeout; + + + /** + * Aurora 数据源 + */ + @Bean(name = "auroraDataSource") + public DataSource auroraDataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setJdbcUrl(url); + dataSource.setUsername(username); + dataSource.setPassword(password); + dataSource.setDriverClassName(driverClassName); + dataSource.setMinimumIdle(minimumIdle); + dataSource.setMaximumPoolSize(maximumPoolSize); + dataSource.setConnectionTimeout(connectionTimeout); + return dataSource; + } + + /** + * Aurora 专用 JdbcTemplate + */ + @Bean(name = "auroraJdbcTemplate") + public JdbcTemplate auroraJdbcTemplate(@Qualifier("auroraDataSource") DataSource auroraDataSource) { + return new JdbcTemplate(auroraDataSource); + } +} + + diff --git a/src/main/java/com/techsor/datacenter/sender/dao/DashboardStatisticsDao.java b/src/main/java/com/techsor/datacenter/sender/dao/DashboardStatisticsDao.java index da948f1..36a4e0b 100644 --- a/src/main/java/com/techsor/datacenter/sender/dao/DashboardStatisticsDao.java +++ b/src/main/java/com/techsor/datacenter/sender/dao/DashboardStatisticsDao.java @@ -6,6 +6,9 @@ import com.techsor.datacenter.sender.entitiy.StatisticsMeasureInfo; import lombok.extern.slf4j.Slf4j; import java.math.BigDecimal; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; @@ -18,6 +21,12 @@ public class DashboardStatisticsDao { @Resource private JdbcTemplate jdbcTemplate; + + @Autowired + @Qualifier("auroraJdbcTemplate") + private JdbcTemplate auroraJdbcTemplate; + + public void insertDeviceMeasureInfo(String uploadValue, String deviceId, StatisticsMeasureInfo info) { String sql = "INSERT INTO dashboard_record_measure " + @@ -25,7 +34,7 @@ public class DashboardStatisticsDao { "upload_value, upload_at) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; - jdbcTemplate.update(sql, + auroraJdbcTemplate.update(sql, deviceId, info.getYearKey(), info.getMonthKey(), @@ -56,7 +65,7 @@ public class DashboardStatisticsDao { "max_value = VALUES(max_value), " + "upload_at = VALUES(upload_at)"; - jdbcTemplate.update(sql, + auroraJdbcTemplate.update(sql, deviceId, info.getYearKey(), info.getMonthKey(), @@ -78,7 +87,7 @@ public class DashboardStatisticsDao { "upload_value, increment_today, increment_minute, upload_at) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; - jdbcTemplate.update(sql, + auroraJdbcTemplate.update(sql, deviceId, info.getYearKey(), info.getMonthKey(), @@ -103,7 +112,7 @@ public class DashboardStatisticsDao { "increment_today = VALUES(increment_today), " + "upload_at = VALUES(upload_at)"; - jdbcTemplate.update(sql, + auroraJdbcTemplate.update(sql, deviceId, info.getYearKey(), info.getMonthKey(), diff --git a/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java b/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java index 8dd3381..305971c 100644 --- a/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java +++ b/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java @@ -146,7 +146,7 @@ public class DeviceDao { return new ArrayList<>(); } String sql = ""; - sql = "SELECT id,retain_alert,company_id,device_id,device_sn,type_id,space_id,building_id,device_name,project_id,floor_id,asset_id FROM device_info WHERE device_id='"+deviceId+"' and flag!=1"; + sql = "SELECT id,company_id,device_id,device_sn,type_id,space_id,building_id,device_name,project_id,floor_id,asset_id FROM device_info WHERE device_id='"+deviceId+"' and flag!=1"; List dataList = jdbcTemplate.query(sql, (rs, rowNum) -> { DeviceEntity item = new DeviceEntity(); @@ -161,7 +161,6 @@ public class DeviceDao { item.setProjectId(rs.getLong("project_id")); item.setFloorId(rs.getLong("floor_id")); item.setAssetId(rs.getLong("asset_id")); - item.setRetainAlert(rs.getInt("retain_alert")); return item; }); return dataList; @@ -245,6 +244,7 @@ public class DeviceDao { + " bfloor.name floorName,\r\n" + " bbuilding.building_id buildingId,\r\n" + " bbuilding.name buildingName,\r\n" + + " bbuilding.retain_alert retainAlert,\r\n" + " basset.equipment_id assetId,\r\n" + " basset.name assetName,\r\n" + " dct.category_name_en category\r\n" @@ -271,6 +271,7 @@ public class DeviceDao { item.setAssetName(rs.getString("assetName")); item.setCategory(rs.getString("category")); item.setMonitoringPointName(rs.getString("monitoringPointName")); + item.setRetainAlert(rs.getInt("retainAlert")); return item; }); return dataList; diff --git a/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java b/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java index 21cd54c..5cd74b2 100644 --- a/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java +++ b/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java @@ -46,5 +46,7 @@ public class DeviceInfoVO{ private String category; private String monitoringPointName; + + private Integer retainAlert; } diff --git a/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java b/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java index d124555..6ab967b 100644 --- a/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java +++ b/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java @@ -70,5 +70,4 @@ public class DeviceEntity implements Serializable { private Long updatedTimestamp; - private Integer retainAlert; } diff --git a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java index 3738912..0d05ac7 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java +++ b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java @@ -602,6 +602,9 @@ public class DataProcessServiceImpl implements IDataProcessService { if (deviceInfoVO.getCategory()!=null){ baseTransDataEntity.setCategory(deviceInfoVO.getCategory()); } + if (deviceInfoVO.getRetainAlert()!=null){ + baseTransDataEntity.setRetainAlert(deviceInfoVO.getRetainAlert()); + } } baseTransDataEntity.setHashId(UUID.randomUUID()); @@ -854,7 +857,7 @@ public class DataProcessServiceImpl implements IDataProcessService { DynamodbEntity baseTransDataEntity = new DynamodbEntity(); baseTransDataEntity.setDeviceId(deviceId); baseTransDataEntity.setDbBuildingId(currentDevice.getBuildingId()); - baseTransDataEntity.setRetainAlert(currentDevice.getRetainAlert()); + baseTransDataEntity.setRetainAlert(0);//先给默认值0 baseTransDataEntity.setTypeId(currentDevice.getTypeId()); baseTransDataEntity.setSrcType(srcType); baseTransDataEntity.setRawData(content); diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 1df69a7..b6aaa8c 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -102,3 +102,11 @@ sys.mqtt.port=${sysMqttPort:1883} sys.mqtt.username=${sysMqttUsername:test} sys.mqtt.password=${sysMqttPassword:test} sys.mqtt.clientId=${sysMqttClientId:sys-mqtt-client} + +spring.aurora.datasource.url=${auroraUrl:jdbc:mysql://127.0.0.1:3306/test_tuling} +spring.aurora.datasource.username=${auroraUser:root} +spring.aurora.datasource.password=${auroraPass:Hanliang_1995} +spring.aurora.datasource.driver-class-name=${auroraDriver:com.mysql.cj.jdbc.Driver} +spring.aurora.datasource.minimum-idle=${auroraMinIdle:5} +spring.aurora.datasource.maximum-pool-size=${auroraMaxPool:30} +spring.aurora.datasource.connection-timeout=${auroraConnTimeout:30000} diff --git a/src/main/resources/application-prd.properties b/src/main/resources/application-prd.properties index 790b88b..f074c62 100644 --- a/src/main/resources/application-prd.properties +++ b/src/main/resources/application-prd.properties @@ -96,3 +96,11 @@ sys.mqtt.port=${sysMqttPort:1883} sys.mqtt.username=${sysMqttUsername:test} sys.mqtt.password=${sysMqttPassword:test} sys.mqtt.clientId=${sysMqttClientId:sys-mqtt-client} + +spring.aurora.datasource.url=${auroraUrl:jdbc:mysql://127.0.0.1:3306/test_tuling} +spring.aurora.datasource.username=${auroraUser:root} +spring.aurora.datasource.password=${auroraPass:Hanliang_1995} +spring.aurora.datasource.driver-class-name=${auroraDriver:com.mysql.cj.jdbc.Driver} +spring.aurora.datasource.minimum-idle=${auroraMinIdle:5} +spring.aurora.datasource.maximum-pool-size=${auroraMaxPool:30} +spring.aurora.datasource.connection-timeout=${auroraConnTimeout:30000}