From 84a54cf4197a13092197e8b9c46e19692358b6f0 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Sun, 2 Nov 2025 12:35:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/config/AuroraDataSourceConfig.java | 83 +++++++++++++++++++ .../common/config/DataSourceAdminConfig.java | 6 ++ .../resources/config/language/msg/msg_cn.yml | 1 + .../resources/config/language/msg/msg_en.yml | 1 + .../resources/config/language/msg/msg_jp.yml | 1 + .../back/controller/BuildingController.java | 17 ++++ .../resources/config/application.properties | 9 ++ .../DashboardRealtimeMeasureMapperExt.java | 2 +- .../DashboardRecordAccumulateMapperExt.java | 6 +- .../DashboardRealtimeMeasureMapperExt.xml | 2 +- .../DashboardRecordAccumulateMapperExt.xml | 2 +- .../mappers/auto/BasicBuildingMapper.xml | 31 +++++-- .../ex/DeviceRawdataRealtimeMapperExt.xml | 5 +- .../back/dto/building/OptFieldParams.java | 15 ++++ .../dashboard/back/model/BasicBuilding.java | 34 ++++++++ .../back/model/BasicBuildingExample.java | 60 ++++++++++++++ .../dashboard/back/vo/data/OverviewVO.java | 9 ++ .../back/service/BuildingService.java | 3 + .../service/impl/BuildingServiceImpl.java | 29 +++++++ .../impl/DeviceDataAccumulateServiceImpl.java | 2 +- .../impl/DeviceDataMeasureServiceImpl.java | 3 +- 21 files changed, 302 insertions(+), 19 deletions(-) create mode 100644 dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/AuroraDataSourceConfig.java rename dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/{ex => aurora}/DashboardRealtimeMeasureMapperExt.java (89%) rename dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/{ex => aurora}/DashboardRecordAccumulateMapperExt.java (80%) rename dongjian-dashboard-back-dao/src/main/resources/mappers/{ex => aurora}/DashboardRealtimeMeasureMapperExt.xml (86%) rename dongjian-dashboard-back-dao/src/main/resources/mappers/{ex => aurora}/DashboardRecordAccumulateMapperExt.xml (96%) create mode 100644 dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/building/OptFieldParams.java diff --git a/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/AuroraDataSourceConfig.java b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/AuroraDataSourceConfig.java new file mode 100644 index 0000000..c345d89 --- /dev/null +++ b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/AuroraDataSourceConfig.java @@ -0,0 +1,83 @@ +package com.dongjian.dashboard.back.common.config; + +import com.zaxxer.hikari.HikariDataSource; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import javax.sql.DataSource; + +/** + * Aurora 数据源配置(独立,不与动态数据源冲突) + */ +@Configuration +@MapperScan( + basePackages = "com.dongjian.dashboard.back.dao.aurora", // Aurora Mapper 专用包 + sqlSessionFactoryRef = "auroraSqlSessionFactory" +) +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}") + private int minimumIdle; + + @Value("${spring.aurora.datasource.maximum-pool-size}") + private int maximumPoolSize; + + @Value("${spring.aurora.datasource.connection-timeout}") + private long connectionTimeout; + + /** + * Aurora 数据源 + */ + @Bean(name = "auroraDataSource") + public DataSource auroraDataSource() { + HikariDataSource ds = new HikariDataSource(); + ds.setJdbcUrl(url); + ds.setUsername(username); + ds.setPassword(password); + ds.setDriverClassName(driverClassName); + ds.setMinimumIdle(minimumIdle); + ds.setMaximumPoolSize(maximumPoolSize); + ds.setConnectionTimeout(connectionTimeout); + ds.setPoolName("AuroraHikariPool"); + return ds; + } + + @Bean(name = "auroraMybatisConfiguration") + public org.apache.ibatis.session.Configuration auroraMybatisConfiguration() { + org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); + configuration.setMapUnderscoreToCamelCase(true);//设置驼峰 + return configuration; + } + + /** + * Aurora SqlSessionFactory + */ + @Bean(name = "auroraSqlSessionFactory") + public SqlSessionFactory auroraSqlSessionFactory( + @Qualifier("auroraDataSource") DataSource auroraDataSource) + throws Exception { + SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); + bean.setDataSource(auroraDataSource); + bean.setConfiguration(auroraMybatisConfiguration()); + bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mappers/aurora/*.xml")); + return bean.getObject(); + } +} diff --git a/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/DataSourceAdminConfig.java b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/DataSourceAdminConfig.java index fd3e8d0..92939f2 100644 --- a/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/DataSourceAdminConfig.java +++ b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/config/DataSourceAdminConfig.java @@ -6,6 +6,7 @@ import com.dongjian.dashboard.back.common.Constants; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; +import org.mybatis.spring.annotation.MapperScan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Qualifier; @@ -22,6 +23,10 @@ import java.util.HashMap; import java.util.Map; @Configuration +@MapperScan( + basePackages = {"com.dongjian.dashboard.back.dao.ex"}, + sqlSessionFactoryRef = "sqlSessionFactory" +) public class DataSourceAdminConfig { private static Logger logger = LoggerFactory.getLogger(DataSourceAdminConfig.class); @@ -78,6 +83,7 @@ public class DataSourceAdminConfig { } @Bean + @Primary public SqlSessionFactory sqlSessionFactory(@Qualifier("dynamicDataSource") DataSource dynamicDataSource) throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dynamicDataSource); // 设置为动态数据源 diff --git a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml index 888cd80..e0a0045 100644 --- a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml +++ b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml @@ -128,5 +128,6 @@ msgcn: addFavoriteDevice: 新增收藏设备 addDeviceForGroup: 给设备组设置绑定的设备 delDeviceForGroup: 删除设备组绑定的指定设备 + editBuildingField: 编辑楼宇属性 diff --git a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml index f3deb4e..311ba4c 100644 --- a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml +++ b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml @@ -128,6 +128,7 @@ msgen: addFavoriteDevice: Add favorited device addDeviceForGroup: Set bound devices for the device group delDeviceForGroup: Remove the specified devices bound to the device group + editBuildingField: Edit Building Attributes diff --git a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml index 4a83e3a..1146e00 100644 --- a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml +++ b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml @@ -128,6 +128,7 @@ msgjp: addFavoriteDevice: お気に入りデバイスを追加 addDeviceForGroup: デバイスグループにバインドされたデバイスを設定する delDeviceForGroup: デバイスグループにバインドされた指定されたデバイスを削除する + editBuildingField: 建物の属性を編集 diff --git a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/BuildingController.java b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/BuildingController.java index 837e735..8077b1b 100644 --- a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/BuildingController.java +++ b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/BuildingController.java @@ -4,8 +4,12 @@ import com.dongjian.dashboard.back.common.exception.BusinessException; import com.dongjian.dashboard.back.common.response.PageInfo; import com.dongjian.dashboard.back.common.response.PageResponse; import com.dongjian.dashboard.back.common.response.ResponseCode; +import com.dongjian.dashboard.back.common.response.SimpleDataResponse; +import com.dongjian.dashboard.back.configurator.aspect.OperationLog; import com.dongjian.dashboard.back.configurator.interceptor.AccessRequired; import com.dongjian.dashboard.back.dto.building.BuildingSearchParams; +import com.dongjian.dashboard.back.dto.building.OptFieldParams; +import com.dongjian.dashboard.back.dto.device.OptDeviceFieldParams; import com.dongjian.dashboard.back.service.BuildingService; import com.dongjian.dashboard.back.vo.building.BuildingPageVO; import io.swagger.v3.oas.annotations.Hidden; @@ -70,4 +74,17 @@ public class BuildingController { return pageResponse; } + @OperationLog(operation = "editBuildingField", remark = "") + @Operation(summary = "编辑属性") + @RequestMapping(value = "/editField",method = RequestMethod.POST) + public SimpleDataResponse editField( + @RequestBody OptFieldParams optFieldParams, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required=true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required=true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required=true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required=true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required=true) Integer LanguageType){ + return buildingService.editField(optFieldParams, CompanyId, UserId, LanguageType); + } + } diff --git a/dongjian-dashboard-back-controller/src/main/resources/config/application.properties b/dongjian-dashboard-back-controller/src/main/resources/config/application.properties index 94b03ea..56a06ba 100644 --- a/dongjian-dashboard-back-controller/src/main/resources/config/application.properties +++ b/dongjian-dashboard-back-controller/src/main/resources/config/application.properties @@ -23,6 +23,15 @@ dynamic.jdbc.url=jdbc:mysql://${datasourceDNS:rm-bp11k2zm2fr7864428o.mysql.rds.a spring.datasource.url=jdbc:mysql://${datasourceDNS:rm-bp11k2zm2fr7864428o.mysql.rds.aliyuncs.com:3306}/data_center_aeon_admin?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=${datasourceTimeZone} +# Aurora 数据源配置 +spring.aurora.datasource.url=${auroraUrl:jdbc:mysql://rm-bp11k2zm2fr7864428o.mysql.rds.aliyuncs.com:3306/data_center_aeon_admin} +spring.aurora.datasource.username=${auroraUser:zhc} +spring.aurora.datasource.password=${auroraPass:Youqu48bnb1} +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} + #配置log日志 logging.config=classpath:config/logback-boot.xml diff --git a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DashboardRealtimeMeasureMapperExt.java b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/aurora/DashboardRealtimeMeasureMapperExt.java similarity index 89% rename from dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DashboardRealtimeMeasureMapperExt.java rename to dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/aurora/DashboardRealtimeMeasureMapperExt.java index 3460108..a72d5a3 100644 --- a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DashboardRealtimeMeasureMapperExt.java +++ b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/aurora/DashboardRealtimeMeasureMapperExt.java @@ -1,4 +1,4 @@ -package com.dongjian.dashboard.back.dao.ex; +package com.dongjian.dashboard.back.dao.aurora; import com.dongjian.dashboard.back.dao.auto.DashboardRealtimeMeasureMapper; import com.dongjian.dashboard.back.model.DashboardRealtimeMeasure; diff --git a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DashboardRecordAccumulateMapperExt.java b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/aurora/DashboardRecordAccumulateMapperExt.java similarity index 80% rename from dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DashboardRecordAccumulateMapperExt.java rename to dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/aurora/DashboardRecordAccumulateMapperExt.java index 16730f2..87c5eec 100644 --- a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/DashboardRecordAccumulateMapperExt.java +++ b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/aurora/DashboardRecordAccumulateMapperExt.java @@ -1,15 +1,11 @@ -package com.dongjian.dashboard.back.dao.ex; +package com.dongjian.dashboard.back.dao.aurora; import com.dongjian.dashboard.back.dao.auto.DashboardRecordAccumulateMapper; -import com.dongjian.dashboard.back.dao.auto.FavoritedDeviceMapper; -import com.dongjian.dashboard.back.dto.device.FavoritedDeviceSearchParams; import com.dongjian.dashboard.back.vo.device.DeviceIncrement; -import com.dongjian.dashboard.back.vo.device.FavoritedDeviceVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Map; @Mapper public interface DashboardRecordAccumulateMapperExt extends DashboardRecordAccumulateMapper { diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DashboardRealtimeMeasureMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml similarity index 86% rename from dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DashboardRealtimeMeasureMapperExt.xml rename to dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml index 41e538e..2443055 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DashboardRealtimeMeasureMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml @@ -1,6 +1,6 @@ - + diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/BasicBuildingMapper.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/BasicBuildingMapper.xml index fa6fa3e..249cf2b 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/BasicBuildingMapper.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/BasicBuildingMapper.xml @@ -22,6 +22,7 @@ + building_id, company_id, `name`, address, flag, create_time, creator_id, modify_time, modifier_id, udf_building_id, building_bucket, thumbnail_num, show_switch_2d3d, brief_introduction, - latitude, longitude + latitude, longitude, retain_alert