Browse Source

样本库-kudu-code init

chenminghua 3 years ago
parent
commit
e93c353a92
80 changed files with 3920 additions and 0 deletions
  1. 3 0
      .gitignore
  2. 33 0
      gyee-sample-impala/.gitignore
  3. 176 0
      gyee-sample-impala/pom.xml
  4. 15 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/GyeeSampleImpalaApplication.java
  5. 92 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/base/ExcludeQueryWrapper.java
  6. 22 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/CorsConfig.java
  7. 17 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/DatabasesConfig.java
  8. 4 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/GeneratorConfig.java
  9. 195 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/MapperGenerator.java
  10. 22 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/MybatisPlusConfig.java
  11. 50 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/exception/AdviceException.java
  12. 19 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/exception/CustomException.java
  13. 34 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/feign/IAdapterService.java
  14. 30 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/feign/RemoteServiceBuilder.java
  15. 60 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/result/JsonResult.java
  16. 75 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/result/ResultCode.java
  17. 151 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/util/SnowFlakeGenerator.java
  18. 146 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/BasicQueryConditionsController.java
  19. 51 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/CaseFaultAlgController.java
  20. 94 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/CaseFaultController.java
  21. 210 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/KnowBasicController.java
  22. 63 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/WindturbinePointController.java
  23. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/CasefaultMapper.java
  24. 17 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/CasefaultalgMapper.java
  25. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowalgMapper.java
  26. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowfaultfixMapper.java
  27. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowfaultsymptomMapper.java
  28. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowfaulttypeMapper.java
  29. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindpowerstationMapper.java
  30. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindturbineMapper.java
  31. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindturbinemetricsMapper.java
  32. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindturbinepointMapper.java
  33. 26 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/custom/TableProp.java
  34. 36 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/custom/TsPointData.java
  35. 60 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Casefault.java
  36. 120 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Casefaultalg.java
  37. 52 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowalg.java
  38. 64 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowfaultfix.java
  39. 44 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowfaultsymptom.java
  40. 42 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowfaulttype.java
  41. 58 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windpowerstation.java
  42. 52 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windturbine.java
  43. 58 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windturbinemetrics.java
  44. 64 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windturbinepoint.java
  45. 48 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/GoldenService.java
  46. 61 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/TablePropService.java
  47. 89 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/CasefaultServiceImpl.java
  48. 61 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/CasefaultalgServiceImpl.java
  49. 20 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowalgServiceImpl.java
  50. 82 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowfaultfixServiceImpl.java
  51. 89 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowfaultsymptomServiceImpl.java
  52. 89 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowfaulttypeServiceImpl.java
  53. 78 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindpowerstationServiceImpl.java
  54. 51 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindturbineServiceImpl.java
  55. 20 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindturbinemetricsServiceImpl.java
  56. 81 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindturbinepointServiceImpl.java
  57. 40 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/CasefaultService.java
  58. 31 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/CasefaultalgService.java
  59. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowalgService.java
  60. 44 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowfaultfixService.java
  61. 44 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowfaultsymptomService.java
  62. 44 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowfaulttypeService.java
  63. 45 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindpowerstationService.java
  64. 24 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindturbineService.java
  65. 16 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindturbinemetricsService.java
  66. 46 0
      gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindturbinepointService.java
  67. 49 0
      gyee-sample-impala/src/main/resources/application.yaml
  68. BIN
      gyee-sample-impala/src/main/resources/lib/ImpalaJDBC41.jar
  69. 57 0
      gyee-sample-impala/src/main/resources/logback-spring.xml
  70. 29 0
      gyee-sample-impala/src/main/resources/mapper/CasefaultMapper.xml
  71. 45 0
      gyee-sample-impala/src/main/resources/mapper/CasefaultalgMapper.xml
  72. 25 0
      gyee-sample-impala/src/main/resources/mapper/KnowalgMapper.xml
  73. 31 0
      gyee-sample-impala/src/main/resources/mapper/KnowfaultfixMapper.xml
  74. 21 0
      gyee-sample-impala/src/main/resources/mapper/KnowfaultsymptomMapper.xml
  75. 20 0
      gyee-sample-impala/src/main/resources/mapper/KnowfaulttypeMapper.xml
  76. 28 0
      gyee-sample-impala/src/main/resources/mapper/WindpowerstationMapper.xml
  77. 25 0
      gyee-sample-impala/src/main/resources/mapper/WindturbineMapper.xml
  78. 28 0
      gyee-sample-impala/src/main/resources/mapper/WindturbinemetricsMapper.xml
  79. 31 0
      gyee-sample-impala/src/main/resources/mapper/WindturbinepointMapper.xml
  80. 13 0
      gyee-sample-impala/src/test/java/com/gyee/sampleimpala/GyeeSampleImpalaApplicationTests.java

+ 3 - 0
.gitignore

@@ -31,3 +31,6 @@ build/
 
 ### VS Code ###
 .vscode/
+/gyee-sample-impala/.mvn
+/gyee-sample-impala/FILE_PATH_IS_UNDEFINED
+/gyee-sample-impala/mvnw.cmd

+ 33 - 0
gyee-sample-impala/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 176 - 0
gyee-sample-impala/pom.xml

@@ -0,0 +1,176 @@
+<?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.3.7.RELEASE</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+    <groupId>com.gyee.sampleimpala</groupId>
+    <artifactId>gyee-sample-impala</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>gyee-sample-impala</name>
+    <description>sample impala project for Spring Boot</description>
+    <properties>
+        <java.version>1.8</java.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.17</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.12</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-jdbc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0.3</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+            <version>1.1.10</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+
+        <!--常用工具类 -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.4</version>
+        </dependency>
+        <!-- 热部署 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-devtools</artifactId>
+            <optional>true</optional>
+        </dependency>
+
+        <!-- 配置文件读取 -->
+        <dependency>
+            <groupId>commons-configuration</groupId>
+            <artifactId>commons-configuration</artifactId>
+            <version>1.10</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+            <optional>true</optional>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.9</version>
+        </dependency>
+
+        <!--quartz依赖-->
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>3.3.2</version>
+        </dependency>
+
+        <!-- 模板引擎 -->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+            <version>2.0</version>
+        </dependency>
+
+        <!--http请求-->
+        <dependency>
+            <groupId>com.netflix.feign</groupId>
+            <artifactId>feign-core</artifactId>
+            <version>8.18.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.netflix.feign</groupId>
+            <artifactId>feign-jackson</artifactId>
+            <version>8.18.0</version>
+        </dependency>
+        <!--http请求-->
+
+        <!-- 添加 lib -->
+        <dependency>
+            <groupId>ImpalaJDBC</groupId>
+            <artifactId>ImpalaJDBC</artifactId>
+            <version>41</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/src/main/resources/lib/ImpalaJDBC41.jar</systemPath>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <includeSystemScope>true</includeSystemScope>
+                    <excludes>
+                        <exclude>
+                            <groupId>org.projectlombok</groupId>
+                            <artifactId>lombok</artifactId>
+                        </exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 15 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/GyeeSampleImpalaApplication.java

@@ -0,0 +1,15 @@
+package com.gyee.sampleimpala;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan("com.gyee.sampleimpala.mapper")
+public class GyeeSampleImpalaApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(GyeeSampleImpalaApplication.class, args);
+    }
+
+}

+ 92 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/base/ExcludeQueryWrapper.java

@@ -0,0 +1,92 @@
+package com.gyee.sampleimpala.common.base;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import java.util.Objects;
+
+public class ExcludeQueryWrapper<T> extends QueryWrapper<T> {
+
+    @Override
+    public QueryWrapper<T> eq(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.eq(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> ne(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.ne(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> gt(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.gt(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> ge(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.ge(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> lt(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.lt(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> le(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.le(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> like(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.like(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> notLike(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.notLike(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> likeLeft(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.likeLeft(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> likeRight(boolean condition, String column, Object val) {
+        condition = !Objects.isNull(val);
+        return super.likeRight(condition, column, val);
+    }
+
+    @Override
+    public QueryWrapper<T> between(boolean condition, String column, Object val1, Object val2) {
+        if(Objects.isNull(val1) && Objects.isNull(val2)){
+            condition = false;
+        }else if(Objects.isNull(val1)){
+            return super.lt(true,column,val2);
+        }else if(Objects.isNull(val2)){
+            return super.ge(true,column,val1);
+        }
+        return super.between(condition, column, val1, val2);
+    }
+
+    @Override
+    public QueryWrapper<T> notBetween(boolean condition, String column, Object val1, Object val2) {
+        if(Objects.isNull(val1) && Objects.isNull(val2)){
+            condition = false;
+        }else if(Objects.isNull(val1)){
+            return super.lt(true,column,val2);
+        }else if(Objects.isNull(val2)){
+            return super.ge(true,column,val1);
+        }
+        return super.notBetween(condition, column, val1, val2);
+    }
+}

+ 22 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/CorsConfig.java

@@ -0,0 +1,22 @@
+package com.gyee.sampleimpala.common.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};  //请求方式
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**") //所有的当前站点的请求地址,都支持跨域访问
+                .allowedOrigins("*")// 所有的外部域都可跨域访问,这里注意2.4.0以后是allowedOriginPatterns,以前是allowedOrigins
+                .allowCredentials(true)  //是否支持跨域用户凭证
+                .allowedMethods(ORIGINS) //当前站点支持的跨域请求类型是什么
+                .maxAge(3600);  //超是时长,单位为秒。
+    }
+}

+ 17 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/DatabasesConfig.java

@@ -0,0 +1,17 @@
+package com.gyee.sampleimpala.common.config;
+
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Data
+@Component
+@ConfigurationProperties(prefix = "databases")
+public class DatabasesConfig {
+
+    private List<String> basictables;
+}

+ 4 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/GeneratorConfig.java

@@ -0,0 +1,4 @@
+package com.gyee.sampleimpala.common.config;
+
+public class GeneratorConfig {
+}

+ 195 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/MapperGenerator.java

@@ -0,0 +1,195 @@
+package com.gyee.sampleimpala.common.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
+import com.baomidou.mybatisplus.generator.config.po.TableInfo;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 代码生成器
+ */
+public class MapperGenerator {
+    //项目路径
+    private static String canonicalPath = "";
+
+    //基本包名
+    private static String basePackage = "com.gyee.sampleimpala";
+    //作者
+    private static String authorName = "chenmh";
+    //要生成的表名
+    private static String[] tables = {"casefaultalg"};
+    //table前缀
+    private static String prefix = "";
+
+    //数据库类型
+    private static DbType dbType = DbType.MYSQL;
+    //数据库配置四要素
+    private static String driverName = "com.mysql.cj.jdbc.Driver";
+    private static String url = "jdbc:mysql://localhost:3306/gyee_sample_kudu?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC";
+    private static String username = "root";
+    private static String password = "";
+
+    public static void main(String[] args) {
+        AutoGenerator gen = new AutoGenerator();
+
+        /**
+         * 获取项目路径
+         */
+        try {
+            canonicalPath = new File("").getCanonicalPath();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        /**
+         * 数据库配置
+         */
+        gen.setDataSource(new DataSourceConfig()
+                .setDbType(dbType)
+                .setDriverName(driverName)
+                .setUrl(url)
+                .setUsername(username)
+                .setPassword(password)
+                .setTypeConvert(new MySqlTypeConvert() {
+                    // 自定义数据库表字段类型转换【可选】
+                    //@Override
+                    //public DbColumnType processTypeConvert(String fieldType) {
+                    //System.out.println("转换类型:" + fieldType);
+                    // if ( fieldType.toLowerCase().contains( "tinyint" ) ) {
+                    //    return DbColumnType.BOOLEAN;
+                    // }
+                    //return super.processTypeConvert(fieldType);
+                    //}
+                }));
+
+        /**
+         * 全局配置
+         */
+        gen.setGlobalConfig(new GlobalConfig()
+                .setOutputDir( canonicalPath + "/src/main/java")//输出目录
+                .setFileOverride(true)// 是否覆盖文件
+                .setActiveRecord(true)// 开启 activeRecord 模式
+                .setEnableCache(false)// XML 二级缓存
+                .setBaseResultMap(true)// XML ResultMap
+                .setBaseColumnList(true)// XML columList
+                .setOpen(false)//生成后打开文件夹
+                .setAuthor(authorName)
+                // 自定义文件命名,注意 %s 会自动填充表实体属性!
+                .setMapperName("%sMapper")
+                .setXmlName("%sMapper")
+                .setServiceName("%sService")
+                .setServiceImplName("%sServiceImpl")
+                .setControllerName("%sController")
+        );
+
+        /**
+         * 策略配置
+         */
+        gen.setStrategy(new StrategyConfig()
+                        // .setCapitalMode(true)// 全局大写命名
+                        //.setDbColumnUnderline(true)//全局下划线命名
+                        .setTablePrefix(new String[]{prefix})// 此处可以修改为您的表前缀
+                        .setNaming(NamingStrategy.underline_to_camel)// 表名生成策略
+                        .setInclude(tables) // 需要生成的表
+                        .setRestControllerStyle(true)
+                        //.setExclude(new String[]{"test"}) // 排除生成的表
+                        // 自定义实体父类
+                        // .setSuperEntityClass("com.baomidou.demo.TestEntity")
+                        // 自定义实体,公共字段
+                        //.setSuperEntityColumns(new String[]{"test_id"})
+                        //.setTableFillList(tableFillList)
+                        // 自定义 mapper 父类 默认BaseMapper
+                        //.setSuperMapperClass("com.baomidou.mybatisplus.mapper.BaseMapper")
+                        // 自定义 service 父类 默认IService
+                        // .setSuperServiceClass("com.baomidou.demo.TestService")
+                        // 自定义 service 实现类父类 默认ServiceImpl
+                        // .setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl")
+                        // 自定义 controller 父类
+                        //.setSuperControllerClass("com.kichun."+packageName+".controller.AbstractController")
+                        // 【实体】是否生成字段常量(默认 false)
+                        // public static final String ID = "test_id";
+                        // .setEntityColumnConstant(true)
+                        // 【实体】是否为构建者模型(默认 false)
+                        // public User setName(String name) {this.name = name; return this;}
+                        // .setEntityBuilderModel(true)
+                        // 【实体】是否为lombok模型(默认 false)<a href="https://projectlombok.org/">document</a>
+                        .setEntityLombokModel(true)
+                // Boolean类型字段是否移除is前缀处理
+                // .setEntityBooleanColumnRemoveIsPrefix(true)
+                // .setRestControllerStyle(true)
+                // .setControllerMappingHyphenStyle(true)
+        );
+
+        /**
+         * 包配置
+         */
+        gen.setPackageInfo(new PackageConfig()
+                //.setModuleName("User")
+                .setParent(basePackage)// 自定义包路径
+                .setController("controller")// 这里是控制器包名,默认 web
+                .setEntity("model") // 设置Entity包名,默认entity
+                .setMapper("mapper") // 设置Mapper包名,默认mapper
+                .setService("service") // 设置Service包名,默认service
+                .setServiceImpl("service.impl") // 设置Service Impl包名,默认service.impl
+                .setXml("mapper") // 设置Mapper XML包名,默认mapper.xml
+        );
+
+        /**
+         * 注入自定义配置
+         */
+        // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值
+        InjectionConfig abc = new InjectionConfig() {
+            @Override
+            public void initMap() {
+                Map<String, Object> map = new HashMap<String, Object>();
+                map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
+                this.setMap(map);
+            }
+        };
+        //自定义文件输出位置(非必须)
+        List<FileOutConfig> fileOutList = new ArrayList<FileOutConfig>();
+        fileOutList.add(new FileOutConfig("/templates/mapper.xml.vm") {
+            @Override
+            public String outputFile(TableInfo tableInfo) {
+                return canonicalPath + "/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper.xml";
+            }
+        });
+        abc.setFileOutConfigList(fileOutList);
+        gen.setCfg(abc);
+
+        /**
+         * 指定模板引擎 默认是VelocityTemplateEngine ,需要引入相关引擎依赖
+         */
+        //gen.setTemplateEngine(new FreemarkerTemplateEngine());
+
+        /**
+         * 模板配置
+         */
+        gen.setTemplate(
+                // 关闭默认 xml 生成,调整生成 至 根目录
+                new TemplateConfig().setXml(null)
+                // 自定义模板配置,模板可以参考源码 /mybatis-plus/src/main/resources/template 使用 copy
+                // 至您项目 src/main/resources/template 目录下,模板名称也可自定义如下配置:
+                // .setController("...");
+                // .setEntity("...");
+                // .setMapper("...");
+                // .setXml("...");
+                // .setService("...");
+                // .setServiceImpl("...");
+        );
+
+        // 执行生成
+        gen.execute();
+
+    }
+}

+ 22 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/config/MybatisPlusConfig.java

@@ -0,0 +1,22 @@
+package com.gyee.sampleimpala.common.config;
+
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ *@ClassName MybatisPlusConfig
+ *@Description 配置分页插件
+ *@Version 1.0
+ **/
+
+@Configuration
+public class MybatisPlusConfig {
+    /**
+     * 分页插件
+     */
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        return new PaginationInterceptor();
+    }
+}

+ 50 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/exception/AdviceException.java

@@ -0,0 +1,50 @@
+package com.gyee.sampleimpala.common.exception;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.common.result.JsonResult;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+
+@RestControllerAdvice
+public class AdviceException {
+
+    private static Logger logger = LogManager.getLogger(AdviceException.class);
+
+
+    /**
+     * 拦截未知的运行时异常
+     */
+    @ExceptionHandler(Exception.class)
+    public JSONObject runException(Exception e)
+    {
+        logger.error(e.getMessage());
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 拦截未知的运行时异常
+     */
+    @ExceptionHandler(NullPointerException.class)
+    public JSONObject nullPointerException(Exception e)
+    {
+        logger.error(e.getMessage());
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 拦截自定义异常
+     */
+    @ExceptionHandler(CustomException.class)
+    public JSONObject customException(CustomException e)
+    {
+        logger.error(e.getMessage());
+        return JsonResult.error(e.getCode(), e.getMessage());
+    }
+
+}

+ 19 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/exception/CustomException.java

@@ -0,0 +1,19 @@
+package com.gyee.sampleimpala.common.exception;
+
+import com.gyee.sampleimpala.common.result.ResultCode;
+import lombok.Data;
+
+@Data
+public class CustomException extends RuntimeException {
+
+    private Integer code;
+    private String message;
+
+    public CustomException(){}
+
+    public CustomException(ResultCode result){
+        super();
+        this.code = result.getCode();
+        this.message = result.getMessage();
+    }
+}

+ 34 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/feign/IAdapterService.java

@@ -0,0 +1,34 @@
+package com.gyee.sampleimpala.common.feign;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.model.custom.TsPointData;
+import feign.Headers;
+import feign.Param;
+import feign.RequestLine;
+
+import java.util.List;
+
+
+public interface IAdapterService {
+
+
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("GET /ts/latest?keys={points}")
+    JSONObject getLatest(@Param(value = "points") String points);
+
+
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("GET /ts/history/snap?tagName={tagName}&startTs={startTs}&endTs={endTs}&interval={interval}")
+    List<TsPointData> getHistorySnap(@Param(value = "tagName") String tagName, @Param(value = "startTs") long startTs,
+                                     @Param(value = "endTs") long endTs, @Param(value = "interval") Integer interval);
+
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("GET /ts/history/raw?tagName={tagName}&startTs={startTs}&endTs={endTs}")
+    List<TsPointData> getHistoryRaw(@Param(value = "tagName") String tagName, @Param(value = "startTs") long startTs,
+                                    @Param(value = "endTs") long endTs);
+
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("GET /ts/history/section?tagNames={tagNames}&ts={ts}")
+    List<TsPointData> getHistorySection(@Param(value = "tagNames") String tagNames, @Param(value = "ts") long ts);
+
+}

+ 30 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/feign/RemoteServiceBuilder.java

@@ -0,0 +1,30 @@
+package com.gyee.sampleimpala.common.feign;
+
+import feign.Feign;
+import feign.Request;
+import feign.Retryer;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+@Slf4j
+@Configuration
+public class RemoteServiceBuilder {
+
+    @Value("${goldenUrl:http://10.155.32.4:8011}")
+    private String shardingUrlString;
+
+    @Bean
+    public IAdapterService ShardingService() {
+        return Feign.builder()
+                .encoder(new JacksonEncoder())
+                .decoder(new JacksonDecoder())
+                .options(new Request.Options(5000, 600000))
+                .retryer(new Retryer.Default(10000, 10000, 3))
+                .target(IAdapterService.class, shardingUrlString);
+    }
+}

+ 60 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/result/JsonResult.java

@@ -0,0 +1,60 @@
+package com.gyee.sampleimpala.common.result;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.HashMap;
+
+@Data
+public class JsonResult extends HashMap<String, Object> implements Serializable {
+
+    private Integer code;
+    private String message;
+    private Object data;
+    private ResultCode resultCode;
+
+    public static JSONObject error(){
+        JSONObject json = new JSONObject();
+        json.put("code", ResultCode.SUCCESS.getCode());
+        json.put("msg", ResultCode.SUCCESS.getMessage());
+        return json;
+    }
+
+    public static JSONObject error(ResultCode resultCode){
+        JSONObject json = new JSONObject();
+        json.put("code", resultCode.getCode());
+        json.put("msg", resultCode.getMessage());
+        return json;
+    }
+
+    public static JSONObject error(int code, String message){
+        JSONObject json = new JSONObject();
+        json.put("code", code);
+        json.put("msg", message);
+        return json;
+    }
+
+    public static JSONObject success(){
+        JSONObject json = new JSONObject();
+        json.put("code", ResultCode.SUCCESS.getCode());
+        json.put("msg", ResultCode.SUCCESS.getMessage());
+        return json;
+    }
+
+    public static JSONObject success(ResultCode resultCode){
+        JSONObject json = new JSONObject();
+        json.put("code", resultCode.getCode());
+        json.put("msg", resultCode.getMessage());
+        return json;
+    }
+
+    public static JSONObject successData(ResultCode code, Object data){
+        JSONObject json = new JSONObject();
+        json.put("code", code.getCode());
+        json.put("msg", code.getMessage());
+        json.put("data", data);
+        return json;
+    }
+
+}

+ 75 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/result/ResultCode.java

@@ -0,0 +1,75 @@
+package com.gyee.sampleimpala.common.result;
+
+/*
+ * #1001~1999 区间表示参数错误
+ * #2001~2999 区间表示用户错误
+ * #3001~3999 区间表示权限异常
+ */
+
+public enum ResultCode {
+    /* 成功 */
+    SUCCESS(200, "成功"),
+
+    /* 默认失败 */
+    ERROR(4000, "失败"),
+    ERROR_CONNECT(4005, "数据库连接异常"),
+    ERROR_DATA(4006, "数据库操作失败"),
+    ERROR_DATA_REPEAT(4006, "数据重复"),
+
+    /* 参数错误:1000~1999 */
+    PARAM_NOT_VALID(1001, "参数无效"),
+    PARAM_IS_BLANK(1002, "参数为空"),
+    PARAM_TYPE_ERROR(1003, "参数类型错误"),
+    PARAM_NOT_COMPLETE(1004, "参数缺失"),
+
+    /* 用户错误 */
+    USER_NOT_LOGIN(2001, "用户未登录"),
+    USER_ACCOUNT_ERROR(2002, "账号或密码错误"),
+    USER_FAIL_LOGIN(2003, "登录失败"),
+
+    /* 业务错误 */
+    NO_PERMISSION(3001, "没有权限");
+
+    private Integer code;
+    private String message;
+
+    ResultCode(Integer code) {
+        this.code = code;
+    }
+
+    ResultCode(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    /**
+     * 根据code获取message
+     *
+     * @param code
+     * @return
+     */
+    public static String getMessageByCode(Integer code) {
+        for (ResultCode ele : values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMessage();
+            }
+        }
+        return null;
+    }
+}

+ 151 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/common/util/SnowFlakeGenerator.java

@@ -0,0 +1,151 @@
+package com.gyee.sampleimpala.common.util;
+
+
+/**
+ * Twitter_Snowflake<br>
+ * SnowFlake的结构如下(每部分用-分开):<br>
+ * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 <br>
+ * 1位标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0<br>
+ * 41位时间截(毫秒级),注意,41位时间截不是存储当前时间的时间截,而是存储时间截的差值(当前时间截 - 开始时间截)
+ * 得到的值),这里的的开始时间截,一般是我们的id生成器开始使用的时间,由我们程序来指定的(如下下面程序IdWorker类的startTime属性)。41位的时间截,可以使用69年,年T = (1L << 41) / (1000L * 60 * 60 * 24 * 365) = 69<br>
+ * 10位的数据机器位,可以部署在1024个节点,包括5位datacenterId和5位workerId<br>
+ * 12位序列,毫秒内的计数,12位的计数顺序号支持每个节点每毫秒(同一机器,同一时间截)产生4096个ID序号<br>
+ * 加起来刚好64位,为一个Long型。<br>
+ * SnowFlake的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右。
+ */
+public class SnowFlakeGenerator {
+
+    // ==============================Fields===========================================
+    /** 开始时间截 (2015-01-01) */
+    private final long twepoch = 1420041600000L;
+
+    /** 机器id所占的位数 */
+    private final long workerIdBits = 5L;
+
+    /** 数据标识id所占的位数 */
+    private final long datacenterIdBits = 5L;
+
+    /** 支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数) */
+    private final long maxWorkerId = -1L ^ (-1L << workerIdBits);
+
+    /** 支持的最大数据标识id,结果是31 */
+    private final long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
+
+    /** 序列在id中占的位数 */
+    private final long sequenceBits = 12L;
+
+    /** 机器ID向左移12位 */
+    private final long workerIdShift = sequenceBits;
+
+    /** 数据标识id向左移17位(12+5) */
+    private final long datacenterIdShift = sequenceBits + workerIdBits;
+
+    /** 时间截向左移22位(5+5+12) */
+    private final long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits;
+
+    /** 生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095) */
+    private final long sequenceMask = -1L ^ (-1L << sequenceBits);
+
+    /** 工作机器ID(0~31) */
+    private long workerId;
+
+    /** 数据中心ID(0~31) */
+    private long datacenterId;
+
+    /** 毫秒内序列(0~4095) */
+    private long sequence = 0L;
+
+    /** 上次生成ID的时间截 */
+    private long lastTimestamp = -1L;
+
+    //==============================Constructors=====================================
+    /**
+     * 构造函数
+     * @param workerId 工作ID (0~31)
+     * @param datacenterId 数据中心ID (0~31)
+     */
+    public SnowFlakeGenerator(long workerId, long datacenterId) {
+        if (workerId > maxWorkerId || workerId < 0) {
+            throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
+        }
+        if (datacenterId > maxDatacenterId || datacenterId < 0) {
+            throw new IllegalArgumentException(String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId));
+        }
+        this.workerId = workerId;
+        this.datacenterId = datacenterId;
+    }
+
+    // ==============================Methods==========================================
+    /**
+     * 获得下一个ID (该方法是线程安全的)
+     * @return SnowflakeId
+     */
+    public synchronized long nextId() {
+        long timestamp = timeGen();
+
+        //如果当前时间小于上一次ID生成的时间戳,说明系统时钟回退过这个时候应当抛出异常
+        if (timestamp < lastTimestamp) {
+            throw new RuntimeException(
+                    String.format("Clock moved backwards.  Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
+        }
+
+        //如果是同一时间生成的,则进行毫秒内序列
+        if (lastTimestamp == timestamp) {
+            sequence = (sequence + 1) & sequenceMask;
+            //毫秒内序列溢出
+            if (sequence == 0) {
+                //阻塞到下一个毫秒,获得新的时间戳
+                timestamp = tilNextMillis(lastTimestamp);
+            }
+        }
+        //时间戳改变,毫秒内序列重置
+        else {
+            sequence = 0L;
+        }
+
+        //上次生成ID的时间截
+        lastTimestamp = timestamp;
+
+        //移位并通过或运算拼到一起组成64位的ID
+        return ((timestamp - twepoch) << timestampLeftShift) //
+                | (datacenterId << datacenterIdShift) //
+                | (workerId << workerIdShift) //
+                | sequence;
+    }
+
+    /**
+     * 阻塞到下一个毫秒,直到获得新的时间戳
+     * @param lastTimestamp 上次生成ID的时间截
+     * @return 当前时间戳
+     */
+    protected long tilNextMillis(long lastTimestamp) {
+        long timestamp = timeGen();
+        while (timestamp <= lastTimestamp) {
+            timestamp = timeGen();
+        }
+        return timestamp;
+    }
+
+    /**
+     * 返回以毫秒为单位的当前时间
+     * @return 当前时间(毫秒)
+     */
+    protected long timeGen() {
+        return System.currentTimeMillis();
+    }
+
+
+    private static SnowFlakeGenerator idWorker = null;
+
+    public static String generateId() {
+        if (idWorker == null)
+            idWorker = new SnowFlakeGenerator(0, 0);
+
+        return String.valueOf(idWorker.nextId());
+//        for (int i = 0; i < 1000; i++) {
+//            long id = idWorker.nextId();
+//            System.out.println(Long.toBinaryString(id));
+//            System.out.println(id);
+//        }
+    }
+}

+ 146 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/BasicQueryConditionsController.java

@@ -0,0 +1,146 @@
+package com.gyee.sampleimpala.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.common.config.DatabasesConfig;
+import com.gyee.sampleimpala.common.result.JsonResult;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.kudu.Knowfaulttype;
+import com.gyee.sampleimpala.model.kudu.Windpowerstation;
+import com.gyee.sampleimpala.service.TablePropService;
+import com.gyee.sampleimpala.service.kudu.KnowfaulttypeService;
+import com.gyee.sampleimpala.service.kudu.WindpowerstationService;
+import com.gyee.sampleimpala.service.kudu.WindturbineService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  场站基础库配置
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-15
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/basic")
+public class BasicQueryConditionsController {
+
+    @Autowired
+    private WindpowerstationService windpowerstationService;
+    @Autowired
+    private TablePropService tablePropService;
+    @Autowired
+    private DatabasesConfig databasesConfig;
+    @Autowired
+    private WindturbineService windturbineService;
+    @Autowired
+    private KnowfaulttypeService knowfaulttypeServicet;
+
+
+    @GetMapping("/test")
+    public String test(){
+        return "test";
+    }
+
+
+    /**
+     * 查询表
+     * @return
+     */
+    @GetMapping("/tables")
+    public JSONObject tables(){
+        List<String> list = databasesConfig.getBasictables();
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 查询表的所有数据
+     * @param table
+     * @return
+     */
+    @GetMapping("/tables/data")
+    public JSONObject tableDataAll(String table){
+        List<Object> list = tablePropService.listData(table);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 查询场站信息
+     * @return
+     */
+    @GetMapping("/station/all")
+    @ResponseBody
+    public JSONObject stationAll(){
+        List<Windpowerstation> list = windpowerstationService.getAll();
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 查询部件
+     * @return
+     */
+    @GetMapping("/widget/condition")
+    @ResponseBody
+    public JSONObject faultTypeAll(){
+        List<Knowfaulttype> list = knowfaulttypeServicet.getAll();
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 查询场站的所有风机
+     * @return
+     */
+    @GetMapping("/windturbine/all")
+    @ResponseBody
+    public JSONObject windsAll(String station){
+        List<Object> list = windturbineService.getWindTurbineAll(station);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+
+    @PostMapping("/station/insert")
+    @ResponseBody
+    public JSONObject stationInsert(Windpowerstation obj){
+        boolean flag = windpowerstationService.insertItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    @PostMapping("/station/edit")
+    @ResponseBody
+    public JSONObject stationEdit(Windpowerstation obj){
+        boolean flag = windpowerstationService.editItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    @PostMapping("/station/delete")
+    @ResponseBody
+    public JSONObject stationDelete(String id){
+        boolean flag = windpowerstationService.deleteItem(id);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+}
+

+ 51 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/CaseFaultAlgController.java

@@ -0,0 +1,51 @@
+package com.gyee.sampleimpala.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.common.result.JsonResult;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.kudu.Casefaultalg;
+import com.gyee.sampleimpala.model.kudu.Knowfaultfix;
+import com.gyee.sampleimpala.service.kudu.CasefaultalgService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 故障诊断故障样本库
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/case")
+public class CaseFaultAlgController {
+
+
+    @Autowired
+    private CasefaultalgService casefaultalgService;
+
+
+    /**
+     * 根据条件查询故障
+     * @return
+     */
+    @GetMapping("/fault/train/all")
+    public JSONObject stationAll(String... ids){
+        List<Casefaultalg> list = casefaultalgService.getAllByIds(ids);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+    /**
+     * 批量新增或修改数据
+     * @param list
+     * @return
+     */
+    @PostMapping("/fault/train/operate")
+    public JSONObject faultFixInsert(@RequestBody List<Casefaultalg> list){
+        boolean flag = casefaultalgService.insertOrUpdate(list);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+}

+ 94 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/CaseFaultController.java

@@ -0,0 +1,94 @@
+package com.gyee.sampleimpala.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.common.result.JsonResult;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.kudu.Casefault;
+import com.gyee.sampleimpala.service.kudu.CasefaultService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * 故障样本库操作
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/case")
+public class CaseFaultController {
+
+    @Autowired
+    private CasefaultService casefaultService;
+
+    /**
+     * 根据条件查询故障
+     * @param station  场站
+     * @param model    风机型号
+     * @param widget   故障部件
+     * @param st       开始时间
+     * @param et       结束时间
+     * @return
+     */
+    @GetMapping("/fault/all")
+    public JSONObject stationAll(String station, String[] model, String[] widget,
+                                 String st, String et){
+        List<Casefault> list = casefaultService.getAll(station, model, widget, st, et);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 新增样本案例
+     * @param obj
+     * @return
+     */
+    @PostMapping("/item/insert")
+    public JSONObject stationInsert(@RequestBody Casefault obj){
+        boolean flag = casefaultService.insertItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 编辑样本案例
+     * @param obj
+     * @return
+     */
+    @PostMapping("/item/edit")
+    public JSONObject stationEdit(@RequestBody Casefault obj){
+        System.out.println(obj.toString());
+        boolean flag = casefaultService.editItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 删除样本案例
+     * @param id
+     * @return
+     */
+    @PostMapping("/item/delete")
+    @ResponseBody
+    public JSONObject stationDelete(String id){
+        boolean flag = casefaultService.deleteItem(id);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+
+
+}

+ 210 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/KnowBasicController.java

@@ -0,0 +1,210 @@
+package com.gyee.sampleimpala.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.common.result.JsonResult;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.kudu.Knowfaultfix;
+import com.gyee.sampleimpala.model.kudu.Knowfaultsymptom;
+import com.gyee.sampleimpala.model.kudu.Knowfaulttype;
+import com.gyee.sampleimpala.service.kudu.KnowfaultfixService;
+import com.gyee.sampleimpala.service.kudu.KnowfaultsymptomService;
+import com.gyee.sampleimpala.service.kudu.KnowfaulttypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 知识库的基础数据
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/know")
+public class KnowBasicController {
+    
+    @Autowired
+    private KnowfaulttypeService knowfaulttypeService;
+    @Autowired
+    private KnowfaultsymptomService knowfaultsymptomService;
+    @Autowired
+    private KnowfaultfixService knowfaultfixService;
+
+    /**
+     * 查询所有故障分类数据
+     * @return
+     */
+    @GetMapping("/fault/type/all")
+    public JSONObject faultTypeAll(){
+        List<Knowfaulttype> list = knowfaulttypeService.getAll();
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 编辑故障分类数据
+     * @param obj
+     * @return
+     */
+    @PostMapping("/fault/type/edit")
+    public JSONObject faultTypeEdit(@RequestBody Knowfaulttype obj){
+        boolean flag = knowfaulttypeService.editItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+    /**
+     * 新增故障分类
+     * @param obj
+     * @return
+     */
+    @PostMapping("/fault/type/insert")
+    public JSONObject faultTypeInsert(@RequestBody Knowfaulttype obj){
+        boolean flag = knowfaulttypeService.insertItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 删除故障分类
+     * @param id
+     * @return
+     */
+    @PostMapping("/fault/type/delete")
+    @ResponseBody
+    public JSONObject faultTypeDelete(String id){
+        boolean flag = knowfaulttypeService.deleteItem(id);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+
+    /**
+     * 查询所有故障现象数据
+     * @return
+     */
+    @GetMapping("/fault/symptom/all")
+    public JSONObject faultSymptomAll(){
+        List<Knowfaultsymptom> list = knowfaultsymptomService.getAll();
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 编辑故障现象数据
+     * @param obj
+     * @return
+     */
+    @PostMapping("/fault/symptom/edit")
+    public JSONObject faultSymptomEdit(@RequestBody Knowfaultsymptom obj){
+        boolean flag = knowfaultsymptomService.editItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+    /**
+     * 新增故障现象
+     * @param obj
+     * @return
+     */
+    @PostMapping("/fault/symptom/insert")
+    public JSONObject faultSymptomInsert(@RequestBody Knowfaultsymptom obj){
+        boolean flag = knowfaultsymptomService.insertItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 删除故障现象
+     * @param id
+     * @return
+     */
+    @PostMapping("/fault/symptom/delete")
+    @ResponseBody
+    public JSONObject faultSymptomDelete(String id){
+        boolean flag = knowfaulttypeService.deleteItem(id);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+
+    /**
+     * 查询所有故障检修数据
+     * @return
+     */
+    @GetMapping("/fault/fix/all")
+    public JSONObject faultFixAll(){
+        List<Knowfaultfix> list = knowfaultfixService.getAll();
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 编辑故障检修数据
+     * @param obj
+     * @return
+     */
+    @PostMapping("/fault/fix/edit")
+    public JSONObject faultFixEdit(@RequestBody Knowfaultfix obj){
+        boolean flag = knowfaultfixService.editItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+    /**
+     * 新增故障检修
+     * @param obj
+     * @return
+     */
+    @PostMapping("/fault/fix/insert")
+    public JSONObject faultFixInsert(@RequestBody Knowfaultfix obj){
+        boolean flag = knowfaultfixService.insertItem(obj);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+
+
+    /**
+     * 删除故障检修
+     * @param id
+     * @return
+     */
+    @PostMapping("/fault/fix/delete")
+    @ResponseBody
+    public JSONObject faultFixDelete(String id){
+        boolean flag = knowfaultfixService.deleteItem(id);
+        if (flag){
+            return JsonResult.success(ResultCode.SUCCESS);
+        }
+
+        return JsonResult.error(ResultCode.ERROR);
+    }
+}

+ 63 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/controller/WindturbinePointController.java

@@ -0,0 +1,63 @@
+package com.gyee.sampleimpala.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.sampleimpala.common.result.JsonResult;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.custom.TsPointData;
+import com.gyee.sampleimpala.model.kudu.Windturbinepoint;
+import com.gyee.sampleimpala.service.GoldenService;
+import com.gyee.sampleimpala.service.kudu.WindturbinepointService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 故障样本库操作
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/point")
+public class WindturbinePointController {
+
+
+    @Autowired
+    private GoldenService goldenService;
+    @Autowired
+    private WindturbinepointService windturbinepointService;
+
+
+    /**
+     * 根据风机编号和部件查询关联测点
+     *
+     * @param wtId
+     * @param widget
+     * @return
+     */
+    @GetMapping("/all")
+    public JSONObject pointAll(String wtId, String widget) {
+        List<Windturbinepoint> list = windturbinepointService.getAll(wtId, widget);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * 获取golden原始点数据
+     *
+     * @param point    测点
+     * @param startTs
+     * @param endTs
+     * @param interval 等间隔时间  s
+     * @return
+     */
+    @GetMapping("/item")
+    public JSONObject pointAll(String point, long startTs, long endTs, int interval) {
+        List<TsPointData> list = goldenService.getOriginalData(point, startTs, endTs, interval);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/CasefaultMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Casefault;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-18
+ */
+public interface CasefaultMapper extends BaseMapper<Casefault> {
+
+}

+ 17 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/CasefaultalgMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.sampleimpala.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.sampleimpala.model.kudu.Casefaultalg;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-11-09
+ */
+public interface CasefaultalgMapper extends BaseMapper<Casefaultalg> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowalgMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Knowalg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface KnowalgMapper extends BaseMapper<Knowalg> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowfaultfixMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Knowfaultfix;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface KnowfaultfixMapper extends BaseMapper<Knowfaultfix> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowfaultsymptomMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Knowfaultsymptom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+public interface KnowfaultsymptomMapper extends BaseMapper<Knowfaultsymptom> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/KnowfaulttypeMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Knowfaulttype;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+public interface KnowfaulttypeMapper extends BaseMapper<Knowfaulttype> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindpowerstationMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Windpowerstation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-15
+ */
+public interface WindpowerstationMapper extends BaseMapper<Windpowerstation> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindturbineMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Windturbine;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-20
+ */
+public interface WindturbineMapper extends BaseMapper<Windturbine> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindturbinemetricsMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Windturbinemetrics;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface WindturbinemetricsMapper extends BaseMapper<Windturbinemetrics> {
+
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/mapper/WindturbinepointMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.mapper;
+
+import com.gyee.sampleimpala.model.kudu.Windturbinepoint;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface WindturbinepointMapper extends BaseMapper<Windturbinepoint> {
+
+}

+ 26 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/custom/TableProp.java

@@ -0,0 +1,26 @@
+package com.gyee.sampleimpala.model.custom;
+
+import lombok.Data;
+
+/**
+ * 数据的列和对应值的属性
+ */
+@Data
+public class TableProp {
+
+    /**
+     * 表头
+     */
+    private String label;
+
+    /**
+     * 值属性
+     */
+    private String prop;
+
+
+    /**
+     * 值
+     */
+    private String value;
+}

+ 36 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/custom/TsPointData.java

@@ -0,0 +1,36 @@
+package com.gyee.sampleimpala.model.custom;
+
+import java.math.BigDecimal;
+
+public class TsPointData {
+
+    private long ts;
+    private int status;
+    private double doubleValue;
+
+    public long getTs() {
+        return ts;
+    }
+
+    public void setTs(long ts) {
+        this.ts = ts;
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+
+    public double getDoubleValue() {
+        return doubleValue;
+    }
+
+    public void setDoubleValue(double doubleValue) {
+        BigDecimal bg = new BigDecimal(doubleValue);
+        double v = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+        this.doubleValue = v;
+    }
+}

+ 60 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Casefault.java

@@ -0,0 +1,60 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("casefault")
+public class Casefault extends Model<Casefault> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private Integer tag;
+
+    private String stationcn;
+
+    private String windturbineid;
+
+    private String faulttype;
+
+    private String faultcode;
+
+    private String symptom;
+
+    private String symptomcode;
+
+    private String starttime;
+
+    private String endtime;
+
+    private String manufacturer;
+
+    private String model;
+
+    private String stationen;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 120 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Casefaultalg.java

@@ -0,0 +1,120 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-11-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("casefaultalg")
+public class Casefaultalg extends Model<Casefaultalg> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.INPUT)
+    @TableField("id")
+    private Integer id;
+
+    @TableField("faultTime")
+    private String faultTime;
+
+    @TableField("messageType")
+    private Integer messageType;
+
+    @TableField("snapID")
+    private Integer snapID;
+
+    @TableField("confirmType")
+    private Integer confirmType;
+
+    @TableField("confirmTime")
+    private String confirmTime;
+
+    @TableField("confirmPerson")
+    private String confirmPerson;
+
+    @TableField("stationId")
+    private String stationId;
+
+    @TableField("projectId")
+    private String projectId;
+
+    @TableField("lineId")
+    private String lineId;
+
+    @TableField("windturbineId")
+    private String windturbineId;
+
+    @TableField("alertValue")
+    private Integer alertValue;
+
+    private Integer rank;
+
+    private String category1;
+
+    private String category2;
+
+    private String category3;
+
+    @TableField("lastUpdateTime")
+    private String lastUpdateTime;
+
+    @TableField("lastUpdatePerson")
+    private String lastUpdatePerson;
+
+    @TableField("stationName")
+    private String stationName;
+
+    @TableField("projectName")
+    private String projectName;
+
+    @TableField("lineName")
+    private String lineName;
+
+    @TableField("windturbineName")
+    private String windturbineName;
+
+    @TableField("alertText")
+    private String alertText;
+
+    @TableField("modelId")
+    private String modelId;
+
+    @TableField("objectName")
+    private String objectName;
+
+    @TableField("messageTypeString")
+    private String messageTypeString;
+
+    @TableField("objectId")
+    private String objectId;
+
+    private Boolean opened;
+
+    @TableField("categoryName")
+    private String categoryName;
+
+    private String colors;
+
+    private String labels;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 52 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowalg.java

@@ -0,0 +1,52 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("knowalg")
+public class Knowalg extends Model<Knowalg> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String type;
+
+    private String model;
+
+    private String name;
+
+    private String param;
+
+    private String paramdes;
+
+    private Double weight;
+
+    private Integer version;
+
+    private String enable;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 64 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowfaultfix.java

@@ -0,0 +1,64 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("knowfaultfix")
+public class Knowfaultfix extends Model<Knowfaultfix> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String faulttype;
+
+    private String faultcode;
+
+    private String symptom;
+
+    private String symptomcode;
+
+    private String cause;
+
+    private String maintenance;
+
+    private String maintenancetool;
+
+    private String faultmanufacturer;
+
+    private String consumename;
+
+    private String consumemanu;
+
+    private String consumemodel;
+
+    private String consumeunit;
+
+    private String manufacturer;
+
+    private String model;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 44 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowfaultsymptom.java

@@ -0,0 +1,44 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("knowfaultsymptom")
+public class Knowfaultsymptom extends Model<Knowfaultsymptom> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String faultcode;
+
+    private String symptom;
+
+    private String symptomcode;
+
+    private String createtime;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 42 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Knowfaulttype.java

@@ -0,0 +1,42 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("knowfaulttype")
+public class Knowfaulttype extends Model<Knowfaulttype> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String faulttype;
+
+    private String faultcode;
+
+    private String createtime;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 58 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windpowerstation.java

@@ -0,0 +1,58 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("windpowerstation")
+public class Windpowerstation extends Model<Windpowerstation> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String name;
+
+    private String address;
+
+    private String telephone;
+
+    private String type;
+
+    private Double capacity;
+
+    private String capacityunit;
+
+    private Integer quantity;
+
+    private String longitude;
+
+    private String latitude;
+
+    private String model;
+
+    private String manufacturer;
+
+    private Integer ordernum;
+
+    private String remark;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 52 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windturbine.java

@@ -0,0 +1,52 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("windturbine")
+public class Windturbine extends Model<Windturbine> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String station;
+
+    private Double longitude;
+
+    private Double latitude;
+
+    private String model;
+
+    private String projectid;
+
+    private String lineid;
+
+    private String integratedtime;
+
+    private String name;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 58 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windturbinemetrics.java

@@ -0,0 +1,58 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("windturbinemetrics")
+public class Windturbinemetrics extends Model<Windturbinemetrics> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String model;
+
+    private String code;
+
+    private String uniformcode;
+
+    private String metricname;
+
+    private Double min;
+
+    private Double max;
+
+    private Double avg;
+
+    private String unitname;
+
+    private String unitnamecn;
+
+    private String pointtype;
+
+    private String manufacturer;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 64 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/model/kudu/Windturbinepoint.java

@@ -0,0 +1,64 @@
+package com.gyee.sampleimpala.model.kudu;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("windturbinepoint")
+public class Windturbinepoint extends Model<Windturbinepoint> {
+
+    private static final long serialVersionUID=1L;
+
+      private String id;
+
+    private String windturbineid;
+
+    private String widget;
+
+    private String widgetcode;
+
+    private String point;
+
+    private String pointdes;
+
+    private String widget2;
+
+    private String widgetcode2;
+
+    private String uniformcode;
+
+    private String windturbinename;
+
+    private String model;
+
+    private String pointtype;
+
+    private String stationen;
+
+    private String stationcn;
+
+    private String manufacturer;
+
+    private String remark;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 48 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/GoldenService.java

@@ -0,0 +1,48 @@
+package com.gyee.sampleimpala.service;
+
+
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.feign.RemoteServiceBuilder;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.custom.TsPointData;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Service
+public class GoldenService {
+
+    @Autowired
+    private RemoteServiceBuilder remoteService;
+
+
+    /**
+     * 查询原始数据
+     * @param point
+     * @param startTs  精确到毫秒
+     * @param endTs
+     * @param interval
+     * @return
+     */
+    public List<TsPointData> getOriginalData(String point, long startTs, long endTs, int interval){
+
+        List<TsPointData> list = new ArrayList<>();
+
+        try{
+            if (interval <= 0){
+                list = remoteService.ShardingService().getHistoryRaw(point, startTs, endTs);
+            }else {
+                list = remoteService.ShardingService().getHistorySnap(point, startTs, endTs, interval);
+            }
+        } catch (Exception e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return list;
+    }
+}

+ 61 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/TablePropService.java

@@ -0,0 +1,61 @@
+package com.gyee.sampleimpala.service;
+
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.custom.TableProp;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.sql.DataSource;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Service
+public class TablePropService {
+
+    @Autowired
+    private DataSource dataSource;
+
+    public List<Object> listData(String table){
+        List<Object> list = new ArrayList<>();
+        try {
+            String sql = "select * from " + table;
+            Statement st = dataSource.getConnection().createStatement();
+            ResultSet rs = st.executeQuery(sql);
+
+            Map<String, Object> map = new HashMap<>();
+
+            // 设置表头信息
+            int columns = rs.getMetaData().getColumnCount();
+            List<TableProp> header = new ArrayList<>();
+            for (int i = 1; i <= columns; i++) {
+                String name = rs.getMetaData().getColumnName(i);
+                TableProp prop = new TableProp();
+                prop.setLabel(name);
+                prop.setProp(name);
+                header.add(prop);
+            }
+            map.put("header", header);
+
+            while (rs.next()) {
+                Map<String, String> data = new HashMap<>();
+                for (int i = 1; i <= columns; i++) {
+                    data.put(header.get(i - 1).getProp(), rs.getString(i));
+                }
+            }
+
+//            map.put("data", list);
+        } catch (SQLException e) {
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return list;
+    }
+}

+ 89 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/CasefaultServiceImpl.java

@@ -0,0 +1,89 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.sampleimpala.common.base.ExcludeQueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.common.util.SnowFlakeGenerator;
+import com.gyee.sampleimpala.model.kudu.Casefault;
+import com.gyee.sampleimpala.mapper.CasefaultMapper;
+import com.gyee.sampleimpala.service.kudu.CasefaultService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-18
+ */
+@Service
+public class CasefaultServiceImpl extends ServiceImpl<CasefaultMapper, Casefault> implements CasefaultService {
+
+
+    @Override
+    public List<Casefault> getAll(String station, String[] model, String[] widget, String st, String et) {
+        ExcludeQueryWrapper<Casefault> wrapper = new ExcludeQueryWrapper<>();
+        wrapper.eq("stationen", station)
+                .in("model", model)
+                .in("faultcode", widget)
+                .ge("starttime", st)
+                .le("endtime", et);
+
+        List<Casefault> list = new ArrayList<>();
+        try {
+            list = baseMapper.selectList(wrapper);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return list;
+    }
+
+    @Override
+    public boolean editItem(Casefault obj) {
+        try {
+            baseMapper.updateById(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean insertItem(Casefault obj) {
+        try {
+            // 设置一个新ID
+            if (obj != null && StringUtils.isEmpty(obj.getId()))
+                obj.setId(SnowFlakeGenerator.generateId());
+
+            baseMapper.insert(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String id) {
+        QueryWrapper<Casefault> query = new QueryWrapper<>();
+        query.eq("id", id);
+
+        try {
+            baseMapper.delete(query);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+}

+ 61 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/CasefaultalgServiceImpl.java

@@ -0,0 +1,61 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.mapper.CasefaultalgMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.sampleimpala.model.kudu.Casefaultalg;
+import com.gyee.sampleimpala.service.kudu.CasefaultalgService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-11-09
+ */
+@Service
+public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Casefaultalg> implements CasefaultalgService {
+
+    @Override
+    public List<Casefaultalg> getAllByIds(String... ids) {
+        List<Casefaultalg> list = new ArrayList<>();
+        if (StringUtils.isEmpty(ids))
+            return list;
+
+        try{
+            // string数组转成List<Integer>
+            List<Integer> ls = Arrays.stream(ids).map(s -> Integer.parseInt(s.trim())).collect(Collectors.toList());
+            list = baseMapper.selectBatchIds(ls);
+
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return list;
+    }
+
+    @Override
+    public boolean insertOrUpdate(List<Casefaultalg> list) {
+        boolean flag = false;
+
+        try{
+            flag = saveOrUpdateBatch(list);
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return flag;
+    }
+}

+ 20 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowalgServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Knowalg;
+import com.gyee.sampleimpala.mapper.KnowalgMapper;
+import com.gyee.sampleimpala.service.kudu.KnowalgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Service
+public class KnowalgServiceImpl extends ServiceImpl<KnowalgMapper, Knowalg> implements KnowalgService {
+
+}

+ 82 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowfaultfixServiceImpl.java

@@ -0,0 +1,82 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.common.util.SnowFlakeGenerator;
+import com.gyee.sampleimpala.model.kudu.Knowfaultfix;
+import com.gyee.sampleimpala.mapper.KnowfaultfixMapper;
+import com.gyee.sampleimpala.model.kudu.Knowfaultsymptom;
+import com.gyee.sampleimpala.service.kudu.KnowfaultfixService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Service
+public class KnowfaultfixServiceImpl extends ServiceImpl<KnowfaultfixMapper, Knowfaultfix> implements KnowfaultfixService {
+
+    @Override
+    public List<Knowfaultfix> getAll() {
+        List<Knowfaultfix> list = null;
+        try {
+            list = baseMapper.selectList(null);
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+        return list;
+    }
+
+    @Override
+    public boolean editItem(Knowfaultfix obj) {
+        try {
+            if (obj == null)
+                return false;
+
+            baseMapper.updateById(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean insertItem(Knowfaultfix obj) {
+        try {
+            // 设置一个新ID
+            if (obj != null && StringUtils.isEmpty(obj.getId()))
+                obj.setId(SnowFlakeGenerator.generateId());
+
+            baseMapper.insert(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String id) {
+        QueryWrapper<Knowfaultfix> query = new QueryWrapper<>();
+        query.eq("id", id);
+
+        try {
+            baseMapper.delete(query);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+}

+ 89 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowfaultsymptomServiceImpl.java

@@ -0,0 +1,89 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.common.util.SnowFlakeGenerator;
+import com.gyee.sampleimpala.model.kudu.Knowfaultsymptom;
+import com.gyee.sampleimpala.mapper.KnowfaultsymptomMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.sampleimpala.service.kudu.KnowfaultsymptomService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+@Service
+public class KnowfaultsymptomServiceImpl extends ServiceImpl<KnowfaultsymptomMapper, Knowfaultsymptom> implements KnowfaultsymptomService {
+
+    @Override
+    public List<Knowfaultsymptom> getAll() {
+        List<Knowfaultsymptom> list = null;
+        try {
+            list = baseMapper.selectList(null);
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+        return list;
+    }
+
+    @Override
+    public boolean editItem(Knowfaultsymptom obj) {
+        try {
+            if (obj == null)
+                return false;
+
+            baseMapper.updateById(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean insertItem(Knowfaultsymptom obj) {
+        try {
+            // 设置一个新ID
+            if (obj != null && StringUtils.isEmpty(obj.getId()))
+                obj.setId(SnowFlakeGenerator.generateId());
+
+            // 判断该类型是否已经存在
+            QueryWrapper<Knowfaultsymptom> query = new QueryWrapper<>();
+            query.eq("faultcode", obj.getFaultcode())
+                 .eq("symptomcode", obj.getSymptomcode());
+            List<Knowfaultsymptom> list = baseMapper.selectList(query);
+            if (list != null && list.size() > 0)
+                throw new CustomException(ResultCode.ERROR_DATA_REPEAT);
+
+            baseMapper.insert(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String id) {
+        QueryWrapper<Knowfaultsymptom> query = new QueryWrapper<>();
+        query.eq("id", id);
+
+        try {
+            baseMapper.delete(query);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+}

+ 89 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/KnowfaulttypeServiceImpl.java

@@ -0,0 +1,89 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.common.util.SnowFlakeGenerator;
+import com.gyee.sampleimpala.model.kudu.Knowfaulttype;
+import com.gyee.sampleimpala.mapper.KnowfaulttypeMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.sampleimpala.service.kudu.KnowfaulttypeService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+@Service
+public class KnowfaulttypeServiceImpl extends ServiceImpl<KnowfaulttypeMapper, Knowfaulttype> implements KnowfaulttypeService {
+
+    @Override
+    public List<Knowfaulttype> getAll() {
+        List<Knowfaulttype> list = new ArrayList<>();
+        try {
+            list = baseMapper.selectList(null);
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+        return list;
+    }
+
+    @Override
+    public boolean editItem(Knowfaulttype obj) {
+        try {
+            if (obj == null)
+                return false;
+
+            baseMapper.updateById(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean insertItem(Knowfaulttype obj) {
+        try {
+            // 设置一个新ID
+            if (obj != null && StringUtils.isEmpty(obj.getId()))
+                obj.setId(SnowFlakeGenerator.generateId());
+
+            // 判断该类型是否已经存在
+            QueryWrapper<Knowfaulttype> query = new QueryWrapper<>();
+            query.eq("faultcode", obj.getFaultcode());
+            List<Knowfaulttype> list = baseMapper.selectList(query);
+            if (list != null && list.size() > 0)
+                throw new CustomException(ResultCode.ERROR_DATA_REPEAT);
+
+            baseMapper.insert(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String id) {
+        QueryWrapper<Knowfaulttype> query = new QueryWrapper<>();
+        query.eq("id", id);
+
+        try {
+            baseMapper.delete(query);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+}

+ 78 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindpowerstationServiceImpl.java

@@ -0,0 +1,78 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.kudu.Windpowerstation;
+import com.gyee.sampleimpala.mapper.WindpowerstationMapper;
+import com.gyee.sampleimpala.service.kudu.WindpowerstationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-15
+ */
+@Service
+public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMapper, Windpowerstation> implements WindpowerstationService {
+
+
+    @Override
+    public List<Windpowerstation> getAll() {
+        List<Windpowerstation> list = new ArrayList<>();
+        try {
+            QueryWrapper<Windpowerstation> wrapper = new QueryWrapper<>();
+            wrapper.orderByAsc("ordernum");
+            wrapper.like("id", "%FDC");
+
+            list = baseMapper.selectList(wrapper);
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+        return list;
+    }
+
+    @Override
+    public boolean editItem(Windpowerstation obj) {
+        try {
+            baseMapper.updateById(obj);
+            return true;
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean insertItem(Windpowerstation obj) {
+        try {
+            baseMapper.insert(obj);
+            return true;
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String id) {
+        QueryWrapper<Windpowerstation> query = new QueryWrapper<>();
+        query.eq("id", id);
+
+        try {
+            baseMapper.delete(query);
+            return true;
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+}

+ 51 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindturbineServiceImpl.java

@@ -0,0 +1,51 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+
+import com.gyee.sampleimpala.common.base.ExcludeQueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.sampleimpala.mapper.WindturbineMapper;
+import com.gyee.sampleimpala.model.kudu.Windturbine;
+import com.gyee.sampleimpala.service.kudu.WindturbineService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-20
+ */
+@Service
+public class WindturbineServiceImpl extends ServiceImpl<WindturbineMapper, Windturbine> implements WindturbineService {
+
+    @Override
+    public List<Object> getWindTurbineAll(String station) {
+        List<Object> list = new ArrayList<>();
+        try {
+            ExcludeQueryWrapper<Windturbine> wrapper = new ExcludeQueryWrapper<>();
+            wrapper.eq("station", station);
+
+            List<Windturbine> winds = baseMapper.selectList(wrapper);
+            if (winds != null && winds.size() > 0){
+                for (Windturbine wind : winds){
+                    Map<String, String> map = new HashMap<>();
+                    map.put(wind.getId(), wind.getName());
+                    list.add(map);
+                }
+            }
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return list;
+    }
+}

+ 20 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindturbinemetricsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Windturbinemetrics;
+import com.gyee.sampleimpala.mapper.WindturbinemetricsMapper;
+import com.gyee.sampleimpala.service.kudu.WindturbinemetricsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Service
+public class WindturbinemetricsServiceImpl extends ServiceImpl<WindturbinemetricsMapper, Windturbinemetrics> implements WindturbinemetricsService {
+
+}

+ 81 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/impl/kudu/WindturbinepointServiceImpl.java

@@ -0,0 +1,81 @@
+package com.gyee.sampleimpala.service.impl.kudu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.sampleimpala.common.base.ExcludeQueryWrapper;
+import com.gyee.sampleimpala.common.exception.CustomException;
+import com.gyee.sampleimpala.common.result.ResultCode;
+import com.gyee.sampleimpala.model.kudu.Windturbinepoint;
+import com.gyee.sampleimpala.mapper.WindturbinepointMapper;
+import com.gyee.sampleimpala.service.kudu.WindturbinepointService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+@Service
+public class WindturbinepointServiceImpl extends ServiceImpl<WindturbinepointMapper, Windturbinepoint> implements WindturbinepointService {
+
+    @Override
+    public List<Windturbinepoint> getAll(String wtId, String widget) {
+        List<Windturbinepoint> list = new ArrayList<>();
+
+        try {
+            ExcludeQueryWrapper<Windturbinepoint> wrapper = new ExcludeQueryWrapper<>();
+            wrapper.eq("windturbineid", wtId)
+                    .eq("widgetcode", widget);
+
+            list = baseMapper.selectList(wrapper);
+
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+
+        return list;
+    }
+
+    @Override
+    public boolean editItem(Windturbinepoint obj) {
+        try {
+            baseMapper.updateById(obj);
+            return true;
+        } catch (CustomException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean insertItem(Windturbinepoint obj) {
+        try {
+            baseMapper.insert(obj);
+            return true;
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String id) {
+        QueryWrapper<Windturbinepoint> wrapper = new QueryWrapper<>();
+        wrapper.eq("id", id);
+
+        try {
+            baseMapper.delete(wrapper);
+            return true;
+        } catch (CustomException e){
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+}

+ 40 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/CasefaultService.java

@@ -0,0 +1,40 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Casefault;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-18
+ */
+public interface CasefaultService extends IService<Casefault> {
+
+    List<Casefault> getAll(String station, String[] model, String[] widget, String st, String et);
+
+    /**
+     * 编辑数据
+     * @param obj
+     * @return
+     */
+    boolean editItem(Casefault obj);
+
+    /**
+     * 新建数据
+     * @param obj
+     * @return
+     */
+    boolean insertItem(Casefault obj);
+
+    /**
+     * 通过id删除数据
+     * @param id
+     * @return
+     */
+    boolean deleteItem(String id);
+}

+ 31 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/CasefaultalgService.java

@@ -0,0 +1,31 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.sampleimpala.model.kudu.Casefaultalg;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-11-09
+ */
+public interface CasefaultalgService extends IService<Casefaultalg> {
+
+    /**
+     * 通过id批量查询
+     * @param ids
+     * @return
+     */
+    List<Casefaultalg> getAllByIds(String... ids);
+
+    /**
+     * 批量插入或更新
+     * @param list
+     * @return
+     */
+    boolean insertOrUpdate(List<Casefaultalg> list);
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowalgService.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Knowalg;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface KnowalgService extends IService<Knowalg> {
+
+}

+ 44 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowfaultfixService.java

@@ -0,0 +1,44 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Knowfaultfix;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.sampleimpala.model.kudu.Knowfaulttype;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface KnowfaultfixService extends IService<Knowfaultfix> {
+    /**
+     * 查询全部故障检修数据
+     * @return
+     */
+    List<Knowfaultfix> getAll();
+
+    /**
+     * 编辑数据
+     * @param obj
+     * @return
+     */
+    boolean editItem(Knowfaultfix obj);
+
+    /**
+     * 新建数据
+     * @param obj
+     * @return
+     */
+    boolean insertItem(Knowfaultfix obj);
+
+    /**
+     * 通过id删除数据
+     * @param id
+     * @return
+     */
+    boolean deleteItem(String id);
+}

+ 44 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowfaultsymptomService.java

@@ -0,0 +1,44 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Knowfaultsymptom;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+public interface KnowfaultsymptomService extends IService<Knowfaultsymptom> {
+
+    /**
+     * 查询全部故障类型数据
+     * @return
+     */
+    List<Knowfaultsymptom> getAll();
+
+    /**
+     * 编辑数据
+     * @param obj
+     * @return
+     */
+    boolean editItem(Knowfaultsymptom obj);
+
+    /**
+     * 新建数据
+     * @param obj
+     * @return
+     */
+    boolean insertItem(Knowfaultsymptom obj);
+
+    /**
+     * 通过id删除数据
+     * @param id
+     * @return
+     */
+    boolean deleteItem(String id);
+}

+ 44 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/KnowfaulttypeService.java

@@ -0,0 +1,44 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Knowfaulttype;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-25
+ */
+public interface KnowfaulttypeService extends IService<Knowfaulttype> {
+
+    /**
+     * 查询全部故障类型数据
+     * @return
+     */
+    List<Knowfaulttype> getAll();
+
+    /**
+     * 编辑数据
+     * @param obj
+     * @return
+     */
+    boolean editItem(Knowfaulttype obj);
+
+    /**
+     * 新建数据
+     * @param obj
+     * @return
+     */
+    boolean insertItem(Knowfaulttype obj);
+
+    /**
+     * 通过id删除数据
+     * @param id
+     * @return
+     */
+    boolean deleteItem(String id);
+}

+ 45 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindpowerstationService.java

@@ -0,0 +1,45 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Windpowerstation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-15
+ */
+public interface WindpowerstationService extends IService<Windpowerstation> {
+
+    /**
+     * 查询所有场站信息
+     * @return
+     */
+    List<Windpowerstation> getAll();
+
+
+    /**
+     * 编辑数据
+     * @param obj
+     * @return
+     */
+    boolean editItem(Windpowerstation obj);
+
+    /**
+     * 新建数据
+     * @param obj
+     * @return
+     */
+    boolean insertItem(Windpowerstation obj);
+
+    /**
+     * 通过id删除数据
+     * @param id
+     * @return
+     */
+    boolean deleteItem(String id);
+}

+ 24 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindturbineService.java

@@ -0,0 +1,24 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.sampleimpala.model.kudu.Windturbine;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-20
+ */
+public interface WindturbineService extends IService<Windturbine> {
+
+    /**
+     * 获取场站的所有风机
+     * @param station
+     * @return
+     */
+    List<Object> getWindTurbineAll(String station);
+}

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindturbinemetricsService.java

@@ -0,0 +1,16 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Windturbinemetrics;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface WindturbinemetricsService extends IService<Windturbinemetrics> {
+
+}

+ 46 - 0
gyee-sample-impala/src/main/java/com/gyee/sampleimpala/service/kudu/WindturbinepointService.java

@@ -0,0 +1,46 @@
+package com.gyee.sampleimpala.service.kudu;
+
+import com.gyee.sampleimpala.model.kudu.Windturbinepoint;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2021-10-17
+ */
+public interface WindturbinepointService extends IService<Windturbinepoint> {
+
+    /**
+     * 查询部件关联的测点
+     * @param wtId    风机编号
+     * @param widget  部件代码
+     * @return
+     */
+    List<Windturbinepoint> getAll(String wtId, String widget);
+
+    /**
+     * 编辑数据
+     * @param obj
+     * @return
+     */
+    boolean editItem(Windturbinepoint obj);
+
+    /**
+     * 新建数据
+     * @param obj
+     * @return
+     */
+    boolean insertItem(Windturbinepoint obj);
+
+    /**
+     * 通过id删除数据
+     * @param id
+     * @return
+     */
+    boolean deleteItem(String id);
+}

+ 49 - 0
gyee-sample-impala/src/main/resources/application.yaml

@@ -0,0 +1,49 @@
+server:
+  port: 9002
+spring:
+  main:
+    allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
+  autoconfigure:
+    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
+  datasource:
+    driver-class-name: com.cloudera.impala.jdbc41.Driver
+    type: com.alibaba.druid.pool.DruidDataSource
+    url: jdbc:impala://192.168.1.61:21050/gyee_sample_kudu
+    druid:
+      druid:
+        max-active: 5
+        initial-size: 1
+        min-idle: 3
+        max-wait: 60000
+        time-between-eviction-runs-millis: 60000
+        min-evictable-idle-time-millis: 300000
+        test-while-idle: true
+        test-on-borrow: false
+        test-on-return: false
+
+
+mybatis-plus:
+  configuration:
+    map-underscore-to-camel-case: true
+    auto-mapping-behavior: full
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  mapper-locations: classpath*:mapper/**/*Mapper.xml
+  global-config:
+    # 逻辑删除配置
+    db-config:
+      id-type: auto
+      # 删除前
+      logic-not-delete-value: 1
+      # 删除后
+      logic-delete-value: 0
+logging:
+  level:
+    root: info
+    com.example: debug
+
+# 基础表名配置
+databases:
+    basictables: windpowerstation,windturbinemetrics,windturbinepoint
+
+# golden适配器的url
+goldenUrl: http://10.155.32.4:8011

BIN
gyee-sample-impala/src/main/resources/lib/ImpalaJDBC41.jar


+ 57 - 0
gyee-sample-impala/src/main/resources/logback-spring.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration  scan="true" scanPeriod="10 seconds">
+
+    <contextName>logback</contextName>
+
+
+    <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
+    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
+
+    <!-- 定义日志存储的路径,不要配置相对路径 -->
+    <property name="FILE_PATH" value="${FILE_PATH}/logs/spring-log.%d{yyyy-MM-dd}.%i.log" />
+
+    <!-- 控制台输出日志 -->
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <!-- 日志级别过滤INFO以下 -->
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>ERROR</level>
+        </filter>
+        <encoder>
+            <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
+            <pattern>${LOG_PATTERN}</pattern>
+        </encoder>
+    </appender>
+
+    <!--每天生成一个日志文件,保存30天的日志文件。rollingFile用来切分文件的 -->
+    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
+
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+
+            <fileNamePattern>${FILE_PATH}</fileNamePattern>
+
+            <!-- keep 15 days' worth of history -->
+            <maxHistory>30</maxHistory>
+
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <!-- 日志文件的最大大小 -->
+                <maxFileSize>2MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+
+            <!-- 超出删除老文件 -->
+            <totalSizeCap>1GB</totalSizeCap>
+        </rollingPolicy>
+
+        <encoder>
+            <pattern>${LOG_PATTERN}</pattern>
+        </encoder>
+    </appender>
+
+    <!-- project default level -->
+    <logger name="net.sh.rgface.serive" level="ERROR" />
+
+    <!-- 日志输出级别 -->
+    <root level="ERROR">
+        <appender-ref ref="console" />
+        <appender-ref ref="rollingFile" />
+    </root>
+</configuration>

+ 29 - 0
gyee-sample-impala/src/main/resources/mapper/CasefaultMapper.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.CasefaultMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Casefault">
+        <id column="id" property="id" />
+        <result column="tag" property="tag" />
+        <result column="stationcn" property="stationcn" />
+        <result column="windturbineid" property="windturbineid" />
+        <result column="faulttype" property="faulttype" />
+        <result column="faultcode" property="faultcode" />
+        <result column="symptom" property="symptom" />
+        <result column="symptomcode" property="symptomcode" />
+        <result column="starttime" property="starttime" />
+        <result column="endtime" property="endtime" />
+        <result column="manufacturer" property="manufacturer" />
+        <result column="model" property="model" />
+        <result column="stationen" property="stationen" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, tag, stationcn, windturbineid, faulttype, faultcode, symptom, symptomcode, starttime, endtime, manufacturer, model, stationen, remark, category
+    </sql>
+
+</mapper>

+ 45 - 0
gyee-sample-impala/src/main/resources/mapper/CasefaultalgMapper.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.CasefaultalgMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Casefaultalg">
+        <id column="id" property="id" />
+        <result column="faultTime" property="faultTime" />
+        <result column="messageType" property="messageType" />
+        <result column="snapID" property="snapID" />
+        <result column="confirmType" property="confirmType" />
+        <result column="confirmTime" property="confirmTime" />
+        <result column="confirmPerson" property="confirmPerson" />
+        <result column="stationId" property="stationId" />
+        <result column="projectId" property="projectId" />
+        <result column="lineId" property="lineId" />
+        <result column="windturbineId" property="windturbineId" />
+        <result column="alertValue" property="alertValue" />
+        <result column="rank" property="rank" />
+        <result column="category1" property="category1" />
+        <result column="category2" property="category2" />
+        <result column="category3" property="category3" />
+        <result column="lastUpdateTime" property="lastUpdateTime" />
+        <result column="lastUpdatePerson" property="lastUpdatePerson" />
+        <result column="stationName" property="stationName" />
+        <result column="projectName" property="projectName" />
+        <result column="lineName" property="lineName" />
+        <result column="windturbineName" property="windturbineName" />
+        <result column="alertText" property="alertText" />
+        <result column="modelId" property="modelId" />
+        <result column="objectName" property="objectName" />
+        <result column="messageTypeString" property="messageTypeString" />
+        <result column="objectId" property="objectId" />
+        <result column="opened" property="opened" />
+        <result column="categoryName" property="categoryName" />
+        <result column="colors" property="colors" />
+        <result column="labels" property="labels" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, faultTime, messageType, snapID, confirmType, confirmTime, confirmPerson, stationId, projectId, lineId, windturbineId, alertValue, rank, category1, category2, category3, lastUpdateTime, lastUpdatePerson, stationName, projectName, lineName, windturbineName, alertText, modelId, objectName, messageTypeString, objectId, opened, categoryName, colors, labels
+    </sql>
+
+</mapper>

+ 25 - 0
gyee-sample-impala/src/main/resources/mapper/KnowalgMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.KnowalgMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Knowalg">
+        <id column="id" property="id" />
+        <result column="type" property="type" />
+        <result column="model" property="model" />
+        <result column="name" property="name" />
+        <result column="param" property="param" />
+        <result column="paramdes" property="paramdes" />
+        <result column="weight" property="weight" />
+        <result column="version" property="version" />
+        <result column="enable" property="enable" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, type, model, name, param, paramdes, weight, version, enable, remark, category
+    </sql>
+
+</mapper>

+ 31 - 0
gyee-sample-impala/src/main/resources/mapper/KnowfaultfixMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.KnowfaultfixMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Knowfaultfix">
+        <id column="id" property="id" />
+        <result column="faulttype" property="faulttype" />
+        <result column="faultcode" property="faultcode" />
+        <result column="symptom" property="symptom" />
+        <result column="symptomcode" property="symptomcode" />
+        <result column="cause" property="cause" />
+        <result column="maintenance" property="maintenance" />
+        <result column="maintenancetool" property="maintenancetool" />
+        <result column="faultmanufacturer" property="faultmanufacturer" />
+        <result column="consumename" property="consumename" />
+        <result column="consumemanu" property="consumemanu" />
+        <result column="consumemodel" property="consumemodel" />
+        <result column="consumeunit" property="consumeunit" />
+        <result column="manufacturer" property="manufacturer" />
+        <result column="model" property="model" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, faulttype, faultcode, symptom, symptomcode, cause, maintenance, maintenancetool, faultmanufacturer, consumename, consumemanu, consumemodel, consumeunit, manufacturer, model, remark, category
+    </sql>
+
+</mapper>

+ 21 - 0
gyee-sample-impala/src/main/resources/mapper/KnowfaultsymptomMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.KnowfaultsymptomMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Knowfaultsymptom">
+        <id column="id" property="id" />
+        <result column="faultcode" property="faultcode" />
+        <result column="symptom" property="symptom" />
+        <result column="symptomcode" property="symptomcode" />
+        <result column="createtime" property="createtime" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, faultcode, symptom, symptomcode, createtime, remark, category
+    </sql>
+
+</mapper>

+ 20 - 0
gyee-sample-impala/src/main/resources/mapper/KnowfaulttypeMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.KnowfaulttypeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Knowfaulttype">
+        <id column="id" property="id" />
+        <result column="faulttype" property="faulttype" />
+        <result column="faultcode" property="faultcode" />
+        <result column="createtime" property="createtime" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, faulttype, faultcode, createtime, remark, category
+    </sql>
+
+</mapper>

+ 28 - 0
gyee-sample-impala/src/main/resources/mapper/WindpowerstationMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.WindpowerstationMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Windpowerstation">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="address" property="address" />
+        <result column="telephone" property="telephone" />
+        <result column="type" property="type" />
+        <result column="capacity" property="capacity" />
+        <result column="capacityunit" property="capacityunit" />
+        <result column="quantity" property="quantity" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="model" property="model" />
+        <result column="manufacturer" property="manufacturer" />
+        <result column="ordernum" property="ordernum" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, name, address, telephone, type, capacity, capacityunit, quantity, longitude, latitude, model, manufacturer, ordernum, remark
+    </sql>
+
+</mapper>

+ 25 - 0
gyee-sample-impala/src/main/resources/mapper/WindturbineMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.WindturbineMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Windturbine">
+        <id column="id" property="id" />
+        <result column="station" property="station" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="model" property="model" />
+        <result column="projectid" property="projectid" />
+        <result column="lineid" property="lineid" />
+        <result column="integratedtime" property="integratedtime" />
+        <result column="name" property="name" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, station, longitude, latitude, model, projectid, lineid, integratedtime, name, remark, category
+    </sql>
+
+</mapper>

+ 28 - 0
gyee-sample-impala/src/main/resources/mapper/WindturbinemetricsMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.WindturbinemetricsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Windturbinemetrics">
+        <id column="id" property="id" />
+        <result column="model" property="model" />
+        <result column="code" property="code" />
+        <result column="uniformcode" property="uniformcode" />
+        <result column="metricname" property="metricname" />
+        <result column="min" property="min" />
+        <result column="max" property="max" />
+        <result column="avg" property="avg" />
+        <result column="unitname" property="unitname" />
+        <result column="unitnamecn" property="unitnamecn" />
+        <result column="pointtype" property="pointtype" />
+        <result column="manufacturer" property="manufacturer" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, model, code, uniformcode, metricname, min, max, avg, unitname, unitnamecn, pointtype, manufacturer, remark, category
+    </sql>
+
+</mapper>

+ 31 - 0
gyee-sample-impala/src/main/resources/mapper/WindturbinepointMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.sampleimpala.mapper.WindturbinepointMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.sampleimpala.model.kudu.Windturbinepoint">
+        <id column="id" property="id" />
+        <result column="windturbineid" property="windturbineid" />
+        <result column="widget" property="widget" />
+        <result column="widgetcode" property="widgetcode" />
+        <result column="point" property="point" />
+        <result column="pointdes" property="pointdes" />
+        <result column="widget2" property="widget2" />
+        <result column="widgetcode2" property="widgetcode2" />
+        <result column="uniformcode" property="uniformcode" />
+        <result column="windturbinename" property="windturbinename" />
+        <result column="model" property="model" />
+        <result column="pointtype" property="pointtype" />
+        <result column="stationen" property="stationen" />
+        <result column="stationcn" property="stationcn" />
+        <result column="manufacturer" property="manufacturer" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, windturbineid, widget, widgetcode, point, pointdes, widget2, widgetcode2, uniformcode, windturbinename, model, pointtype, stationen, stationcn, manufacturer, remark, category
+    </sql>
+
+</mapper>

+ 13 - 0
gyee-sample-impala/src/test/java/com/gyee/sampleimpala/GyeeSampleImpalaApplicationTests.java

@@ -0,0 +1,13 @@
+package com.gyee.sampleimpala;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class GyeeSampleImpalaApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}