zxy %!s(int64=2) %!d(string=hai) anos
pai
achega
35305506e5

+ 65 - 0
dh-api/pom.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.5.4</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+    <groupId>com.jd</groupId>
+    <artifactId>dh-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>dh-api</name>
+    <description>Demo project for Spring Boot</description>
+    <properties>
+        <java.version>1.8</java.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.20</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <version>3.0.3</version><!-- 使用是请在maven仓库搜索最新版本 -->
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 13 - 0
dh-api/src/main/java/com/jd/dh/DhApiApplication.java

@@ -0,0 +1,13 @@
+package com.jd.dh;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DhApiApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(DhApiApplication.class, args);
+    }
+
+}

+ 38 - 0
dh-api/src/main/java/com/jd/dh/config/StaticConfig.java

@@ -0,0 +1,38 @@
+package com.jd.dh.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * 目的: 跨域访问控制
+ *       做前后分离的话,这个也是必配的
+ * 备注说明:
+ */
+@Configuration
+public class StaticConfig implements WebMvcConfigurer {
+
+    private CorsConfiguration buildConfig() {
+        CorsConfiguration corsConfiguration = new CorsConfiguration();
+        // 允许任何域名使用
+        corsConfiguration.addAllowedOriginPattern("*");
+        // 允许任何头
+        corsConfiguration.addAllowedHeader("*");
+        // 允许任何方法(post、get等)
+        corsConfiguration.addAllowedMethod("*");
+        corsConfiguration.setAllowCredentials(true);
+        return corsConfiguration;
+    }
+
+
+    @Bean
+    public CorsFilter corsFilter() {
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        // 对接口配置跨域设置
+        source.registerCorsConfiguration("/**", buildConfig());
+        return new CorsFilter(source);
+    }
+}

+ 55 - 0
dh-api/src/main/java/com/jd/dh/controller/DhController.java

@@ -0,0 +1,55 @@
+package com.jd.dh.controller;
+
+import com.jd.dh.service.DhService;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/dh")
+public class DhController {
+    @Resource
+    private DhService dhService;
+
+    @ApiOperation("根据楼层关键字查询机房平均温湿度")
+    @ApiImplicitParam(name = "keyword", value = "楼层关键字")
+    @GetMapping("/getTemperatureHumidity/{keyword}")
+    public List<Map<String, Object>> getTemperatureHumidity(@PathVariable("keyword") String keyword) {
+        return dhService.getTemperatureHumidity(keyword);
+    }
+
+    @ApiOperation("根据楼层关键字查询机房平均温湿度")
+    @ApiImplicitParam(name = "keyword", value = "楼层关键字")
+    @GetMapping("/getTemperatureHumidityDetails/{keyword}")
+    public List<Map<String, Object>> getTemperatureHumidityDetails(@PathVariable("keyword") String keyword) {
+        return dhService.getTemperatureHumidityDetails(keyword);
+    }
+
+    @ApiOperation("根据楼层关键字查询水浸情况")
+    @ApiImplicitParam(name = "keyword", value = "楼层关键字")
+    @GetMapping("/getWaterImmersion/{keyword}")
+    public List<Map<String, Object>> getWaterImmersion(@PathVariable("keyword") String keyword) {
+        return dhService.getWaterImmersion(keyword);
+    }
+
+    @ApiOperation("根据楼层关键字查询监控类型统计")
+    @ApiImplicitParam(name = "keyword", value = "楼层关键字")
+    @GetMapping("/getMonitorClassificationStatistics/{keyword}")
+    public List<Map<String, Object>> getMonitorClassificationStatistics(@PathVariable("keyword") String keyword) {
+        return dhService.getMonitorClassificationStatistics(keyword);
+    }
+
+    @ApiOperation("根据楼层关键字查询消防模块")
+    @ApiImplicitParam(name = "keyword", value = "楼层关键字")
+    @GetMapping("/getFireControl/{keyword}")
+    public List<Map<String, Object>> getFireControl(@PathVariable("keyword") String keyword) {
+        return dhService.getFireControl(keyword);
+    }
+}

+ 57 - 0
dh-api/src/main/java/com/jd/dh/mapper/DhMapper.java

@@ -0,0 +1,57 @@
+package com.jd.dh.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface DhMapper {
+
+    /**
+     *
+     * 根据楼层关键字查询机房平均温湿度
+     * @param keyword
+     * @return
+     */
+    @Select("SELECT * FROM computer_room_temperature_humidity WHERE lou LIKE CONCAT(#{keyword},'%')")
+    List<Map<String, Object>> getTemperatureHumidity(@Param("keyword") String keyword);
+
+    /**
+     *
+     * 根据楼层关键字查询机房温湿度详情
+     * @param keyword
+     * @return
+     */
+    @Select("SELECT * FROM computer_room_temperature_humidity_details WHERE devicename LIKE CONCAT(#{keyword},'%')")
+    List<Map<String, Object>> getTemperatureHumidityDetails(@Param("keyword") String keyword);
+
+    /**
+     *
+     * 根据楼层关键字查询水浸情况
+     * @param keyword
+     * @return
+     */
+    @Select("SELECT * FROM computer_room_water_immersion WHERE devicename LIKE CONCAT(#{keyword},'%')")
+    List<Map<String, Object>> getWaterImmersion(@Param("keyword") String keyword);
+
+    /**
+     *
+     * 根据楼层关键字查询监控类型统计
+     * @param keyword
+     * @return
+     */
+    @Select("SELECT * FROM monitor_classification_statistics WHERE lou LIKE CONCAT(#{keyword},'%')")
+    List<Map<String, Object>> getMonitorClassificationStatistics(@Param("keyword") String keyword);
+
+    /**
+     *
+     * 根据楼层关键字查询监控类型统计
+     * @param keyword
+     * @return
+     */
+    @Select("SELECT * FROM computer_room_fire_control WHERE devicename LIKE CONCAT(#{keyword},'%')")
+    List<Map<String, Object>> getFireControl(@Param("keyword") String keyword);
+}

+ 34 - 0
dh-api/src/main/java/com/jd/dh/service/DhService.java

@@ -0,0 +1,34 @@
+package com.jd.dh.service;
+
+import com.jd.dh.mapper.DhMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class DhService {
+    @Resource
+    private DhMapper dhMapper;
+
+    public List<Map<String, Object>> getTemperatureHumidity(String keyword) {
+        return dhMapper.getTemperatureHumidity(keyword);
+    }
+
+    public List<Map<String, Object>> getTemperatureHumidityDetails(String keyword) {
+        return dhMapper.getTemperatureHumidityDetails(keyword);
+    }
+
+    public List<Map<String, Object>> getWaterImmersion(String keyword) {
+        return dhMapper.getWaterImmersion(keyword);
+    }
+
+    public List<Map<String, Object>> getMonitorClassificationStatistics(String keyword) {
+        return dhMapper.getMonitorClassificationStatistics(keyword);
+    }
+
+    public List<Map<String, Object>> getFireControl(String keyword) {
+        return dhMapper.getFireControl(keyword);
+    }
+}

+ 9 - 0
dh-api/src/main/resources/application.yaml

@@ -0,0 +1,9 @@
+server:
+  port: 18081
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://23.37.100.33:3306/jddb?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
+    username: root
+    password: root