lmstack 3 years ago
parent
commit
405dd58447
54 changed files with 1492 additions and 7 deletions
  1. 26 0
      pom.xml
  2. 159 0
      src/main/java/com/qx/didi/CodeGenerator.java
  3. 2 0
      src/main/java/com/qx/didi/DidiApplication.java
  4. 34 0
      src/main/java/com/qx/didi/configure/ApiExceptionHandler.java
  5. 20 0
      src/main/java/com/qx/didi/configure/MybatisPlusConfig.java
  6. 27 0
      src/main/java/com/qx/didi/configure/TokenConfig.java
  7. 26 0
      src/main/java/com/qx/didi/configure/TokenInterceptor.java
  8. 35 0
      src/main/java/com/qx/didi/controller/LoginController.java
  9. 38 4
      src/main/java/com/qx/didi/controller/ShowDataController.java
  10. 114 0
      src/main/java/com/qx/didi/dto/ApiDTO.java
  11. 102 0
      src/main/java/com/qx/didi/dto/Response.java
  12. 52 0
      src/main/java/com/qx/didi/entity/ResultInfo.java
  13. 52 0
      src/main/java/com/qx/didi/entity/ResultInnershort.java
  14. 66 0
      src/main/java/com/qx/didi/entity/ResultOriginData.java
  15. 66 0
      src/main/java/com/qx/didi/entity/ResultSoh.java
  16. 52 0
      src/main/java/com/qx/didi/entity/ResultVoltOutlier.java
  17. 66 0
      src/main/java/com/qx/didi/entity/ResultVoltSoc.java
  18. 52 0
      src/main/java/com/qx/didi/entity/ResultVoltdiffOutlier.java
  19. 16 0
      src/main/java/com/qx/didi/mapper/ResultInfoMapper.java
  20. 16 0
      src/main/java/com/qx/didi/mapper/ResultInnershortMapper.java
  21. 16 0
      src/main/java/com/qx/didi/mapper/ResultOriginDataMapper.java
  22. 16 0
      src/main/java/com/qx/didi/mapper/ResultSohMapper.java
  23. 16 0
      src/main/java/com/qx/didi/mapper/ResultVoltOutlierMapper.java
  24. 16 0
      src/main/java/com/qx/didi/mapper/ResultVoltSocMapper.java
  25. 16 0
      src/main/java/com/qx/didi/mapper/ResultVoltdiffOutlierMapper.java
  26. 11 0
      src/main/java/com/qx/didi/param/LoginParam.java
  27. 14 0
      src/main/java/com/qx/didi/param/QueryParam.java
  28. 5 0
      src/main/java/com/qx/didi/param/Token.java
  29. 16 0
      src/main/java/com/qx/didi/service/IResultInfoService.java
  30. 16 0
      src/main/java/com/qx/didi/service/IResultInnershortService.java
  31. 16 0
      src/main/java/com/qx/didi/service/IResultOriginDataService.java
  32. 16 0
      src/main/java/com/qx/didi/service/IResultSohService.java
  33. 16 0
      src/main/java/com/qx/didi/service/IResultVoltOutlierService.java
  34. 16 0
      src/main/java/com/qx/didi/service/IResultVoltSocService.java
  35. 16 0
      src/main/java/com/qx/didi/service/IResultVoltdiffOutlierService.java
  36. 20 0
      src/main/java/com/qx/didi/service/impl/ResultInfoServiceImpl.java
  37. 20 0
      src/main/java/com/qx/didi/service/impl/ResultInnershortServiceImpl.java
  38. 20 0
      src/main/java/com/qx/didi/service/impl/ResultOriginDataServiceImpl.java
  39. 20 0
      src/main/java/com/qx/didi/service/impl/ResultSohServiceImpl.java
  40. 20 0
      src/main/java/com/qx/didi/service/impl/ResultVoltOutlierServiceImpl.java
  41. 20 0
      src/main/java/com/qx/didi/service/impl/ResultVoltSocServiceImpl.java
  42. 20 0
      src/main/java/com/qx/didi/service/impl/ResultVoltdiffOutlierServiceImpl.java
  43. 29 0
      src/main/java/com/qx/didi/util/ApiRuntimeException.java
  44. 20 0
      src/main/java/com/qx/didi/util/CommonUtils.java
  45. 23 0
      src/main/java/com/qx/didi/util/MybatisObjectHandler.java
  46. 2 2
      src/main/resources/application-dev.yml
  47. 0 1
      src/main/resources/application.properties
  48. 5 0
      src/main/resources/mapper/ResultInfoMapper.xml
  49. 5 0
      src/main/resources/mapper/ResultInnershortMapper.xml
  50. 5 0
      src/main/resources/mapper/ResultOriginDataMapper.xml
  51. 5 0
      src/main/resources/mapper/ResultSohMapper.xml
  52. 5 0
      src/main/resources/mapper/ResultVoltOutlierMapper.xml
  53. 5 0
      src/main/resources/mapper/ResultVoltSocMapper.xml
  54. 5 0
      src/main/resources/mapper/ResultVoltdiffOutlierMapper.xml

+ 26 - 0
pom.xml

@@ -29,6 +29,32 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.70</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>3.4.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.31</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+            <scope>compile</scope>
+        </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid</artifactId>

+ 159 - 0
src/main/java/com/qx/didi/CodeGenerator.java

@@ -0,0 +1,159 @@
+package com.qx.didi;
+
+import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+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.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.IColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+
+/**
+ * @author liuzezhong
+ * @title
+ * @date 2021/7/20
+ */
+public class CodeGenerator {
+
+    /**
+     * <p>
+     * 读取控制台内容
+     * </p>
+     */
+    public static String scanner(String tip) {
+        Scanner scanner = new Scanner(System.in);
+        StringBuilder help = new StringBuilder();
+        help.append("请输入" + tip + ":");
+        System.out.println(help.toString());
+        if (scanner.hasNext()) {
+            String ipt = scanner.next();
+            if (StringUtils.isNotBlank(ipt)) {
+                return ipt;
+            }
+        }
+        throw new MybatisPlusException("请输入正确的" + tip + "!");
+    }
+
+    public static void main(String[] args) {
+        // 代码生成器
+        AutoGenerator mpg = new AutoGenerator();
+
+        // 全局配置
+        GlobalConfig gc = new GlobalConfig();
+        String projectPath = System.getProperty("user.dir");
+        gc.setOutputDir(projectPath + "/didi/src/main/java");
+        gc.setAuthor("jek");
+        gc.setOpen(false);
+        gc.setSwagger2(true); //实体属性 Swagger2 注解
+        mpg.setGlobalConfig(gc);
+
+        // 数据源配置
+        DataSourceConfig dsc = new DataSourceConfig();
+        dsc.setUrl("jdbc:mysql://47.97.96.242:3306/didi?useUnicode=true&useSSL=false&characterEncoding=utf8");
+        // dsc.setSchemaName("public");
+        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
+        dsc.setUsername("root");
+        dsc.setPassword("qx123456");
+        //类型转换
+        dsc.setTypeConvert(new ITypeConvert() {
+            @Override
+            public IColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+                String t = fieldType.toLowerCase();
+                if(t.contains("datetime")){
+                    return DbColumnType.DATE;
+                }
+                if (t.contains("tinyint")) {
+                    return DbColumnType.INTEGER;
+                }
+                //其它字段采用默认转换(非mysql数据库可以使用其它默认的数据库转换器)
+                return new MySqlTypeConvert().processTypeConvert(globalConfig,fieldType);
+            }
+        });
+        mpg.setDataSource(dsc);
+
+        // 包配置
+        PackageConfig pc = new PackageConfig();
+        pc.setModuleName(scanner("模块名"));
+        pc.setParent("com.qx.didi");
+        mpg.setPackageInfo(pc);
+
+        // 自定义配置
+        InjectionConfig cfg = new InjectionConfig() {
+            @Override
+            public void initMap() {
+                // to do nothing
+            }
+        };
+
+        // 如果模板引擎是 freemarker
+        String templatePath = "/templates/mapper.xml.ftl";
+        // 如果模板引擎是 velocity
+        // String templatePath = "/templates/mapper.xml.vm";
+
+        // 自定义输出配置
+        List<FileOutConfig> focList = new ArrayList<>();
+        // 自定义配置会被优先输出
+        focList.add(new FileOutConfig(templatePath) {
+            @Override
+            public String outputFile(TableInfo tableInfo) {
+                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
+                return projectPath + "/didi/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
+            }
+        });
+        /*
+        cfg.setFileCreate(new IFileCreate() {
+            @Override
+            public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {
+                // 判断自定义文件夹是否需要创建
+                checkDir("调用默认方法创建的目录,自定义目录用");
+                if (fileType == FileType.MAPPER) {
+                    // 已经生成 mapper 文件判断存在,不想重新生成返回 false
+                    return !new File(filePath).exists();
+                }
+                // 允许生成模板文件
+                return true;
+            }
+        });
+        */
+        cfg.setFileOutConfigList(focList);
+        mpg.setCfg(cfg);
+
+        // 配置模板
+        TemplateConfig templateConfig = new TemplateConfig();
+
+        // 配置自定义输出模板
+        //指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别
+        // templateConfig.setEntity("templates/entity2.java");
+        // templateConfig.setService();
+        // templateConfig.setController();
+
+        templateConfig.setXml(null);
+        mpg.setTemplate(templateConfig);
+
+        // 策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
+        //strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
+        strategy.setEntityLombokModel(true);
+        strategy.setRestControllerStyle(true);
+        // 公共父类
+        //strategy.setSuperControllerClass("你自己的父类控制器,没有就不用设置!");
+        // 写于父类中的公共字段
+        strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
+        strategy.setControllerMappingHyphenStyle(true);
+        strategy.setTablePrefix(pc.getModuleName() + "_");
+        mpg.setStrategy(strategy);
+        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
+        mpg.execute();
+    }
+}

+ 2 - 0
src/main/java/com/qx/didi/DidiApplication.java

@@ -1,8 +1,10 @@
 package com.qx.didi;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
+@MapperScan("com.qx.didi.mapper")
 @SpringBootApplication
 public class DidiApplication {
 

+ 34 - 0
src/main/java/com/qx/didi/configure/ApiExceptionHandler.java

@@ -0,0 +1,34 @@
+package com.qx.didi.configure;
+
+
+import com.qx.didi.dto.ApiDTO;
+import com.qx.didi.util.ApiRuntimeException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 异常捕获
+ */
+@Slf4j
+@ControllerAdvice
+public class ApiExceptionHandler {
+
+    @ExceptionHandler(value = ApiRuntimeException.class)
+    public @ResponseBody
+    ApiDTO errorHandler(HttpServletRequest request, ApiRuntimeException e) {
+        if(e.getStatus() != 501)
+            log.error("URL:{},异常捕获:{}", request.getRequestURI(), e.getMessage(), e);
+        return ApiDTO.error(e.getStatus(), e.getMessage());
+    }
+
+    @ExceptionHandler(value = RuntimeException.class)
+    public @ResponseBody
+    ApiDTO errorHandler(HttpServletRequest request, Exception e) {
+        log.error("URL:{},异常捕获:{}", request.getRequestURI(), e.getMessage(), e);
+        return ApiDTO.error(e.getMessage());
+    }
+}

+ 20 - 0
src/main/java/com/qx/didi/configure/MybatisPlusConfig.java

@@ -0,0 +1,20 @@
+package com.qx.didi.configure;
+
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.qx.didi.util.MybatisObjectHandler;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author zyg
+ */
+@Configuration
+//@MapperScan("com.bridge.mapper")
+public class MybatisPlusConfig {
+    @Bean
+    public GlobalConfig globalConfig() {
+        GlobalConfig globalConfig = new GlobalConfig();
+        globalConfig.setMetaObjectHandler(new MybatisObjectHandler());
+        return globalConfig;
+    }
+}

+ 27 - 0
src/main/java/com/qx/didi/configure/TokenConfig.java

@@ -0,0 +1,27 @@
+package com.qx.didi.configure;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+
+@Configuration
+public class TokenConfig extends WebMvcConfigurationSupport {
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(new TokenInterceptor()).addPathPatterns("/showData/**");
+    }
+
+
+    @Override
+    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("/**")
+                .addResourceLocations("classpath:/resources/")
+                .addResourceLocations("classpath:/META-INF/resources/")
+                .addResourceLocations("classpath:/META-INF/resources/webjars/")
+                .addResourceLocations("classpath:/static/")
+                .addResourceLocations("classpath:/public/");
+        super.addResourceHandlers(registry);
+    }
+}

+ 26 - 0
src/main/java/com/qx/didi/configure/TokenInterceptor.java

@@ -0,0 +1,26 @@
+package com.qx.didi.configure;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.qx.didi.param.Token;
+import com.qx.didi.util.ApiRuntimeException;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+
+
+@Component
+public class TokenInterceptor implements HandlerInterceptor {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+        if (null == request.getHeader("token") || !request.getHeader("token").equals(Token.TOKEN)) {
+            throw new ApiRuntimeException(501, "请先登录");
+        }
+        return true;
+    }
+
+}

+ 35 - 0
src/main/java/com/qx/didi/controller/LoginController.java

@@ -0,0 +1,35 @@
+package com.qx.didi.controller;
+
+
+import com.qx.didi.param.LoginParam;
+import com.qx.didi.param.Token;
+import com.qx.didi.util.ApiRuntimeException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Api(tags = {"登录"})
+@RestController
+@RequestMapping("/login")
+public class LoginController {
+
+    @ApiOperation(value = "登录")
+    @PostMapping("/getToken")
+    public Map<String, Object> getToken(@RequestBody LoginParam param) throws Exception {
+
+        if (param != null && param.getPassword().equals("123456")) {
+            Map<String, Object> token = new HashMap<>();
+            token.put("token",Token.TOKEN);
+            return token;
+        } else {
+            throw new ApiRuntimeException(500, "验证失败");
+        }
+    }
+}
+

+ 38 - 4
src/main/java/com/qx/didi/controller/ShowDataController.java

@@ -1,22 +1,56 @@
 package com.qx.didi.controller;
 
+import com.qx.didi.dto.ApiDTO;
+import com.qx.didi.dto.Response;
+import com.qx.didi.entity.ResultInfo;
+import com.qx.didi.entity.ResultSoh;
+import com.qx.didi.param.QueryParam;
+import com.qx.didi.service.impl.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 
 @Api(tags = {"数据显示"})
 @RestController
 @RequestMapping("/showData")
 public class ShowDataController {
 
-    @ApiOperation(value = "修改状态")
-    @PostMapping("/setStatus")
-    public String setStatus(@RequestBody String param) {
+    @Autowired
+    ResultInfoServiceImpl resultInfoService;
+    @Autowired
+    ResultInnershortServiceImpl resultInnershortService;
+    @Autowired
+    ResultOriginDataServiceImpl resultOriginDataService;
+    @Autowired
+    ResultVoltOutlierServiceImpl resultVoltOutlierService;
+    @Autowired
+    ResultVoltSocServiceImpl resultVoltSocService;
+    @Autowired
+    ResultVoltdiffOutlierServiceImpl resultVoltdiffOutlierService;
+
+    @ApiOperation(value = "获取数据")
+    @PostMapping("/get")
+    public ApiDTO setStatus(@RequestBody QueryParam param) {
+
+        Response response = new Response();
+        // 当前信息
+//        resultOriginDataService.list
+        ResultInfo byId = resultInfoService.getById(1);
+        // 内短路绘图数据
+        List<String> innerShortDate = new ArrayList<>();
+
+//        response.put('')
 
-        return "";
+        return ApiDTO.ok(response);
     }
 }

+ 114 - 0
src/main/java/com/qx/didi/dto/ApiDTO.java

@@ -0,0 +1,114 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package com.qx.didi.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModelProperty.AccessMode;
+import java.util.Iterator;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+
+public class ApiDTO {
+    @ApiModelProperty(
+        value = "接口返回状态码,200为正常,500为异常,501为账号过期",
+        name = "code",
+        dataType = "java.lang.Integer",
+        example = "200",
+        accessMode = AccessMode.READ_ONLY
+    )
+    protected int code = 200;
+    @ApiModelProperty(
+        value = "提示信息",
+        name = "message",
+        accessMode = AccessMode.READ_ONLY
+    )
+    @JsonInclude(Include.NON_NULL)
+    protected String message;
+    @ApiModelProperty(
+        value = "返回业务数据",
+        name = "data",
+        accessMode = AccessMode.READ_ONLY
+    )
+    @JsonInclude(Include.NON_NULL)
+    protected Object data;
+
+    public static ApiDTO ok() {
+        return new ApiDTO(200, "ok", (Object)null);
+    }
+
+    public static ApiDTO ok(String msg) {
+        return new ApiDTO(200, msg, (Object)null);
+    }
+
+    public static ApiDTO ok(Object data) {
+        return new ApiDTO(200, "ok", data);
+    }
+
+    public static ApiDTO ok(String msg, Object data) {
+        return new ApiDTO(200, msg, data);
+    }
+
+    public static ApiDTO error(String msg) {
+        return new ApiDTO(500, msg, (Object)null);
+    }
+
+    public static ApiDTO error(Integer code, String msg) {
+        return new ApiDTO(code, msg, (Object)null);
+    }
+
+    public static ApiDTO error(Integer code, String msg, Object data) {
+        return new ApiDTO(code, msg, data);
+    }
+
+    public static ApiDTO error(BindingResult result) {
+        StringBuilder sBuilder = new StringBuilder();
+        Iterator var2 = result.getAllErrors().iterator();
+
+        while(var2.hasNext()) {
+            ObjectError error = (ObjectError)var2.next();
+            sBuilder.append(error.getDefaultMessage()).append("\n");
+        }
+
+        return new ApiDTO(500, sBuilder.toString(), (Object)null);
+    }
+
+    public ApiDTO(int code, String msg, Object data) {
+        this.code = code;
+        this.message = msg;
+        this.data = data;
+    }
+
+    public ApiDTO(int code, String msg) {
+        this.code = code;
+        this.message = msg;
+    }
+
+    public int getCode() {
+        return this.code;
+    }
+
+    public String getMessage() {
+        return this.message;
+    }
+
+    public Object getData() {
+        return this.data;
+    }
+
+    public void setCode(final int code) {
+        this.code = code;
+    }
+
+    public void setMessage(final String message) {
+        this.message = message;
+    }
+
+    public void setData(final Object data) {
+        this.data = data;
+    }
+}

+ 102 - 0
src/main/java/com/qx/didi/dto/Response.java

@@ -0,0 +1,102 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package com.qx.didi.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModelProperty.AccessMode;
+import lombok.Data;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+
+import java.util.*;
+
+@Data
+public class Response {
+
+    @ApiModelProperty(value = "数据时间", name = "time", accessMode = AccessMode.READ_ONLY)
+    protected String time;
+
+    @ApiModelProperty(value = "soc", name = "soc", accessMode = AccessMode.READ_ONLY)
+    protected Float soc;
+
+    @ApiModelProperty(value = "电压", name = "voltage", accessMode = AccessMode.READ_ONLY)
+    protected Float voltage;
+
+    @ApiModelProperty(value = "电流", name = "current", accessMode = AccessMode.READ_ONLY)
+    protected Float current;
+
+    @ApiModelProperty(value = "最高电压", name = "maxVolt", accessMode = AccessMode.READ_ONLY)
+    protected Float maxVolt;
+
+    @ApiModelProperty(value = "最高电压电芯", name = "maxVoltIndex", accessMode = AccessMode.READ_ONLY)
+    protected String maxVoltIndex;
+
+    @ApiModelProperty(value = "最低电压", name = "minVolt", accessMode = AccessMode.READ_ONLY)
+    protected Float minVolt;
+
+    @ApiModelProperty(value = "最低电压电芯", name = "minVoltIndex", accessMode = AccessMode.READ_ONLY)
+    protected String minVoltIndex;
+
+    @ApiModelProperty(value = "安全诊断", name = "safety", accessMode = AccessMode.READ_ONLY)
+    protected List<String> safety = new ArrayList<>();
+
+    @ApiModelProperty(value = "安全诊断处置意见", name = "safetyAdvice", accessMode = AccessMode.READ_ONLY)
+    protected List<String> safetyAdvice = new ArrayList<>();
+
+    @ApiModelProperty(value = "风险提示", name = "riskNotation", accessMode = AccessMode.READ_ONLY)
+    protected String riskNotation;
+
+
+    @ApiModelProperty(value = "性能诊断", name = "perform", accessMode = AccessMode.READ_ONLY)
+    protected List<String> perform = new ArrayList<>();
+
+    @ApiModelProperty(value = "性能诊断处置意见", name = "performAdvice", accessMode = AccessMode.READ_ONLY)
+    protected List<String> performAdvice = new ArrayList<>();
+
+    @ApiModelProperty(value = "安全度评分", name = "score", accessMode = AccessMode.READ_ONLY)
+    protected Float score;
+
+    @ApiModelProperty(value = "soh", name = "soh", accessMode = AccessMode.READ_ONLY)
+    protected Float soh;
+
+    @ApiModelProperty(value = "容量一致性", name = "capUniform", accessMode = AccessMode.READ_ONLY)
+    protected Float capUniform;
+
+    @ApiModelProperty(value = "soc一致性", name = "socUniform", accessMode = AccessMode.READ_ONLY)
+    protected Float socUniform;
+
+    @ApiModelProperty(value = "内短路指数", name = "innershortIndex", accessMode = AccessMode.READ_ONLY)
+    protected Float innershortIndex;
+
+    @ApiModelProperty(value = "内短路时间轴", name = "innershortTime", accessMode = AccessMode.READ_ONLY)
+    protected List<String> innershortTime = new ArrayList<>();
+
+    @ApiModelProperty(value = "内短路Y轴", name = "innershortY", accessMode = AccessMode.READ_ONLY)
+    protected Map<String, Object> innershortY = new HashMap<>();
+
+    @ApiModelProperty(value = "电压离群时间轴", name = "voltoutlierTime", accessMode = AccessMode.READ_ONLY)
+    protected List<String>  voltoutlierTime = new ArrayList<>();
+
+    @ApiModelProperty(value = "电压离群Y轴", name = "voltoutlierY", accessMode = AccessMode.READ_ONLY)
+    protected Map<String, Object> voltoutlierY = new HashMap<>();
+
+    @ApiModelProperty(value = "压差离群时间轴", name = "voltdiffoutlierTime", accessMode = AccessMode.READ_ONLY)
+    protected List<String>  voltdiffoutlierTime = new ArrayList<>();
+
+    @ApiModelProperty(value = "压差离群Y轴", name = "voltdiffoutlierY", accessMode = AccessMode.READ_ONLY)
+    protected Map<String, Object> voltdiffoutlierY = new HashMap<>();
+
+    @ApiModelProperty(value = "soh时间轴", name = "sohTime", accessMode = AccessMode.READ_ONLY)
+    protected List<String>  sohTime = new ArrayList<>();
+
+    @ApiModelProperty(value = "sohY轴", name = "sohY", accessMode = AccessMode.READ_ONLY)
+    protected List<String>  sohY = new ArrayList<>();
+
+
+
+}

+ 52 - 0
src/main/java/com/qx/didi/entity/ResultInfo.java

@@ -0,0 +1,52 @@
+package com.qx.didi.entity;
+
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultInfo对象", description="")
+public class ResultInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String sn;
+
+    @ApiModelProperty(value = "安全诊断")
+    private String safety;
+
+    private String safetyAdvice;
+
+    private String riskNotation;
+
+    @ApiModelProperty(value = "性能诊断")
+    private String perform;
+
+    private String performAdvice;
+
+    @ApiModelProperty(value = "安全度评分")
+    private Float score;
+
+    private Float soh;
+
+    private Float capUniform;
+
+    private Float socUniform;
+
+    private Float innershortIndex;
+
+
+}

+ 52 - 0
src/main/java/com/qx/didi/entity/ResultInnershort.java

@@ -0,0 +1,52 @@
+package com.qx.didi.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultInnershort对象", description="")
+public class ResultInnershort implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String sn;
+
+    private Date time;
+
+    private Float cell1;
+
+    private Float cell2;
+
+    private Float cell3;
+
+    private Float cell4;
+
+    private Float cell5;
+
+    private Float cell6;
+
+    private Float cell7;
+
+    private Float cell8;
+
+    private Float cell9;
+
+    private Float cell10;
+
+
+}

+ 66 - 0
src/main/java/com/qx/didi/entity/ResultOriginData.java

@@ -0,0 +1,66 @@
+package com.qx.didi.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultOriginData对象", description="")
+public class ResultOriginData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Date date;
+
+    private String deviceId;
+
+    private String batModel;
+
+    @ApiModelProperty(value = "电压")
+    private Float voltage;
+
+    private Float current;
+
+    private Float cellvolt1;
+
+    private Float cellvolt2;
+
+    private Float cellvolt3;
+
+    private Float cellvolt4;
+
+    private Float cellvolt5;
+
+    private Float cellvolt6;
+
+    private Float cellvolt7;
+
+    private Float cellvolt8;
+
+    private Float cellvolt9;
+
+    private Float cellvolt10;
+
+    private Float celltemp;
+
+    private Float soc;
+
+    @ApiModelProperty(value = "1 车, 2 柜")
+    private Integer position;
+
+    private Integer id;
+
+
+}

+ 66 - 0
src/main/java/com/qx/didi/entity/ResultSoh.java

@@ -0,0 +1,66 @@
+package com.qx.didi.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultSoh对象", description="")
+public class ResultSoh implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Date date;
+
+    private String deviceId;
+
+    private String batModel;
+
+    @ApiModelProperty(value = "电压")
+    private Float voltage;
+
+    private Float current;
+
+    private Float cellvolt1;
+
+    private Float cellvolt2;
+
+    private Float cellvolt3;
+
+    private Float cellvolt4;
+
+    private Float cellvolt5;
+
+    private Float cellvolt6;
+
+    private Float cellvolt7;
+
+    private Float cellvolt8;
+
+    private Float cellvolt9;
+
+    private Float cellvolt10;
+
+    private Float celltemp;
+
+    private Float soc;
+
+    @ApiModelProperty(value = "1 车, 2 柜")
+    private Integer position;
+
+    private Integer id;
+
+
+}

+ 52 - 0
src/main/java/com/qx/didi/entity/ResultVoltOutlier.java

@@ -0,0 +1,52 @@
+package com.qx.didi.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultVoltOutlier对象", description="")
+public class ResultVoltOutlier implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private Date time;
+
+    private String sn;
+
+    private Float cell1;
+
+    private Float cell2;
+
+    private Float cell3;
+
+    private Float cell4;
+
+    private Float cell5;
+
+    private Float cell6;
+
+    private Float cell7;
+
+    private Float cell8;
+
+    private Float cell9;
+
+    private Float cell10;
+
+
+}

+ 66 - 0
src/main/java/com/qx/didi/entity/ResultVoltSoc.java

@@ -0,0 +1,66 @@
+package com.qx.didi.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultVoltSoc对象", description="")
+public class ResultVoltSoc implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Date date;
+
+    private String deviceId;
+
+    private String batModel;
+
+    @ApiModelProperty(value = "电压")
+    private Float voltage;
+
+    private Float current;
+
+    private Float cellvolt1;
+
+    private Float cellvolt2;
+
+    private Float cellvolt3;
+
+    private Float cellvolt4;
+
+    private Float cellvolt5;
+
+    private Float cellvolt6;
+
+    private Float cellvolt7;
+
+    private Float cellvolt8;
+
+    private Float cellvolt9;
+
+    private Float cellvolt10;
+
+    private Float celltemp;
+
+    private Float soc;
+
+    @ApiModelProperty(value = "1 车, 2 柜")
+    private Integer position;
+
+    private Integer id;
+
+
+}

+ 52 - 0
src/main/java/com/qx/didi/entity/ResultVoltdiffOutlier.java

@@ -0,0 +1,52 @@
+package com.qx.didi.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ResultVoltdiffOutlier对象", description="")
+public class ResultVoltdiffOutlier implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private Date time;
+
+    private String sn;
+
+    private Float cell1;
+
+    private Float cell2;
+
+    private Float cell3;
+
+    private Float cell4;
+
+    private Float cell5;
+
+    private Float cell6;
+
+    private Float cell7;
+
+    private Float cell8;
+
+    private Float cell9;
+
+    private Float cell10;
+
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultInfoMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultInfoMapper extends BaseMapper<ResultInfo> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultInnershortMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultInnershort;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultInnershortMapper extends BaseMapper<ResultInnershort> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultOriginDataMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultOriginData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultOriginDataMapper extends BaseMapper<ResultOriginData> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultSohMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultSoh;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultSohMapper extends BaseMapper<ResultSoh> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultVoltOutlierMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultVoltOutlier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultVoltOutlierMapper extends BaseMapper<ResultVoltOutlier> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultVoltSocMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultVoltSoc;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultVoltSocMapper extends BaseMapper<ResultVoltSoc> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/mapper/ResultVoltdiffOutlierMapper.java

@@ -0,0 +1,16 @@
+package com.qx.didi.mapper;
+
+import com.qx.didi.entity.ResultVoltdiffOutlier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface ResultVoltdiffOutlierMapper extends BaseMapper<ResultVoltdiffOutlier> {
+
+}

+ 11 - 0
src/main/java/com/qx/didi/param/LoginParam.java

@@ -0,0 +1,11 @@
+package com.qx.didi.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class LoginParam {
+
+    @ApiModelProperty(value = "password", name = "password", required = true)
+    private String password;
+}

+ 14 - 0
src/main/java/com/qx/didi/param/QueryParam.java

@@ -0,0 +1,14 @@
+package com.qx.didi.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class QueryParam {
+
+    @ApiModelProperty(value = "sn", name = "sn", required = true)
+    private String sn;
+
+    @ApiModelProperty(value = "tableId", name = "tableId", required = true)
+    private Integer tableId;
+}

+ 5 - 0
src/main/java/com/qx/didi/param/Token.java

@@ -0,0 +1,5 @@
+package com.qx.didi.param;
+
+public class Token {
+    public static String TOKEN = "asdfjioneioanxknvlasd";
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultInfoService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultInfoService extends IService<ResultInfo> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultInnershortService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultInnershort;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultInnershortService extends IService<ResultInnershort> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultOriginDataService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultOriginData;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultOriginDataService extends IService<ResultOriginData> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultSohService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultSoh;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultSohService extends IService<ResultSoh> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultVoltOutlierService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultVoltOutlier;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultVoltOutlierService extends IService<ResultVoltOutlier> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultVoltSocService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultVoltSoc;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultVoltSocService extends IService<ResultVoltSoc> {
+
+}

+ 16 - 0
src/main/java/com/qx/didi/service/IResultVoltdiffOutlierService.java

@@ -0,0 +1,16 @@
+package com.qx.didi.service;
+
+import com.qx.didi.entity.ResultVoltdiffOutlier;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+public interface IResultVoltdiffOutlierService extends IService<ResultVoltdiffOutlier> {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultInfo;
+import com.qx.didi.mapper.ResultInfoMapper;
+import com.qx.didi.service.IResultInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultInfoServiceImpl extends ServiceImpl<ResultInfoMapper, ResultInfo> implements IResultInfoService {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultInnershortServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultInnershort;
+import com.qx.didi.mapper.ResultInnershortMapper;
+import com.qx.didi.service.IResultInnershortService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultInnershortServiceImpl extends ServiceImpl<ResultInnershortMapper, ResultInnershort> implements IResultInnershortService {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultOriginDataServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultOriginData;
+import com.qx.didi.mapper.ResultOriginDataMapper;
+import com.qx.didi.service.IResultOriginDataService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultOriginDataServiceImpl extends ServiceImpl<ResultOriginDataMapper, ResultOriginData> implements IResultOriginDataService {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultSohServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultSoh;
+import com.qx.didi.mapper.ResultSohMapper;
+import com.qx.didi.service.IResultSohService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultSohServiceImpl extends ServiceImpl<ResultSohMapper, ResultSoh> implements IResultSohService {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultVoltOutlierServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultVoltOutlier;
+import com.qx.didi.mapper.ResultVoltOutlierMapper;
+import com.qx.didi.service.IResultVoltOutlierService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultVoltOutlierServiceImpl extends ServiceImpl<ResultVoltOutlierMapper, ResultVoltOutlier> implements IResultVoltOutlierService {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultVoltSocServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultVoltSoc;
+import com.qx.didi.mapper.ResultVoltSocMapper;
+import com.qx.didi.service.IResultVoltSocService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultVoltSocServiceImpl extends ServiceImpl<ResultVoltSocMapper, ResultVoltSoc> implements IResultVoltSocService {
+
+}

+ 20 - 0
src/main/java/com/qx/didi/service/impl/ResultVoltdiffOutlierServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qx.didi.service.impl;
+
+import com.qx.didi.entity.ResultVoltdiffOutlier;
+import com.qx.didi.mapper.ResultVoltdiffOutlierMapper;
+import com.qx.didi.service.IResultVoltdiffOutlierService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author jek
+ * @since 2021-11-04
+ */
+@Service
+public class ResultVoltdiffOutlierServiceImpl extends ServiceImpl<ResultVoltdiffOutlierMapper, ResultVoltdiffOutlier> implements IResultVoltdiffOutlierService {
+
+}

+ 29 - 0
src/main/java/com/qx/didi/util/ApiRuntimeException.java

@@ -0,0 +1,29 @@
+package com.qx.didi.util;
+
+import lombok.Data;
+import org.springframework.context.annotation.Configuration;
+
+
+public class ApiRuntimeException extends RuntimeException {
+    private static final long serialVersionUID = -4481406948211819470L;
+    private final int status;
+
+    public ApiRuntimeException(int status, String message, String... values) {
+        super(CommonUtils.getMessage(message, values));
+        this.status = status;
+    }
+
+    public ApiRuntimeException(String message, String... values) {
+        super(CommonUtils.getMessage(message, values));
+        this.status = 500;
+    }
+
+    public ApiRuntimeException(int status, String message, Throwable cause) {
+        super(message, cause);
+        this.status = status;
+    }
+
+    public int getStatus() {
+        return this.status;
+    }
+}

+ 20 - 0
src/main/java/com/qx/didi/util/CommonUtils.java

@@ -0,0 +1,20 @@
+package com.qx.didi.util;
+
+public class CommonUtils {
+    public CommonUtils() {
+    }
+
+    public static String getMessage(String message, String... values) {
+        if (message.contains("{}") && values.length > 0) {
+            String[] var2 = values;
+            int var3 = values.length;
+
+            for(int var4 = 0; var4 < var3; ++var4) {
+                String p = var2[var4];
+                message = message.replace("{}", p);
+            }
+        }
+
+        return message;
+    }
+}

+ 23 - 0
src/main/java/com/qx/didi/util/MybatisObjectHandler.java

@@ -0,0 +1,23 @@
+package com.qx.didi.util;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+@Component
+public class MybatisObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        Date now = new Date();
+        setFieldValByName("addTime", now, metaObject);
+        setFieldValByName("updateTime", now, metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        setFieldValByName("updateTime", new Date(), metaObject);
+    }
+
+}

+ 2 - 2
src/main/resources/application-dev.yml

@@ -24,9 +24,9 @@ spring:
 #    url: jdbc:mysql://172.16.121.236:3306/fastfun?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
 #    username: readonly
   datasource:
-    url: jdbc:mysql://47.111.243.220:9306/ali_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://47.97.96.242:3306/didi?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
-    password: Qx123456
+    password: qx123456
     type: com.alibaba.druid.pool.DruidDataSource
     druid:
       # 下面为连接池的补充设置,应用到上面所有数据源中

+ 0 - 1
src/main/resources/application.properties

@@ -1 +0,0 @@
-

+ 5 - 0
src/main/resources/mapper/ResultInfoMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.ResultInfo.mapper.ResultInfoMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ResultInnershortMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.mybatis.mapper.ResultInnershortMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ResultOriginDataMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.mybatis.mapper.ResultOriginDataMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ResultSohMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.ResultInfo,ResultSoh.mapper.ResultSohMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ResultVoltOutlierMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.mybatis.mapper.ResultVoltOutlierMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ResultVoltSocMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.mybatis.mapper.ResultVoltSocMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ResultVoltdiffOutlierMapper.xml

@@ -0,0 +1,5 @@
+<?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.qx.didi.mybatis.mapper.ResultVoltdiffOutlierMapper">
+
+</mapper>