Explorar el Código

Merge branch 'master' of http://124.70.43.205:3000/xieshengjie/sis-background

# Conflicts:
#	gyee-sample-impala/src/main/resources/application.yaml
chenminghua hace 3 años
padre
commit
b394182038
Se han modificado 26 ficheros con 753 adiciones y 0 borrados
  1. 11 0
      gyee-sample-impala/src/main/java/com/gyee/impala/common/config/GyeeConfig.java
  2. 42 0
      gyee-sample-impala/src/main/java/com/gyee/impala/common/config/jsch/JSchConfig.java
  3. 14 0
      gyee-sample-impala/src/main/java/com/gyee/impala/common/feign/IHostService.java
  4. 10 0
      gyee-sample-impala/src/main/java/com/gyee/impala/common/feign/RemoteServiceBuilder.java
  5. 85 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnosepointController.java
  6. 28 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/HostparamController.java
  7. 37 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/ServerparamController.java
  8. 15 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/TrainDataModeController.java
  9. 55 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/TrainFileModeController.java
  10. 9 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/diagnose/DiagnosepointMapper.java
  11. 11 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/diagnose/ServerparamMapper.java
  12. 44 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/master/diagnose/Diagnosepoint.java
  13. 36 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/master/diagnose/Serverparam.java
  14. 20 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/master/diagnose/TrainParam.java
  15. 33 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/SftpFileService.java
  16. 6 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/WindpowerstationServiceImpl.java
  17. 79 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/diagnose/DiagnosepointServiceImpl.java
  18. 21 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/diagnose/ServerparamServiceImpl.java
  19. 8 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/WindpowerstationService.java
  20. 15 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/DiagnosepointService.java
  21. 34 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/HostparamService.java
  22. 13 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/ServerparamService.java
  23. 66 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/TrainFileModeService.java
  24. 1 0
      gyee-sample-impala/src/main/resources/application.yaml
  25. 32 0
      gyee-sample-impala/src/main/resources/mapper/master/DiagnosepointMapper.xml
  26. 28 0
      gyee-sample-impala/src/main/resources/mapper/master/ServerparamMapper.xml

+ 11 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/common/config/GyeeConfig.java

@@ -16,6 +16,9 @@ public class GyeeConfig {
     /**scaada报警网址**/
     /**scaada报警网址**/
     private String alertUrl;
     private String alertUrl;
 
 
+    /** 获取配置服务器*/
+    private String hostUrl;
+
     /***数据模板路径  windows*/
     /***数据模板路径  windows*/
     private String templatePathWindow;
     private String templatePathWindow;
 
 
@@ -59,6 +62,14 @@ public class GyeeConfig {
         this.alertUrl = alertUrl;
         this.alertUrl = alertUrl;
     }
     }
 
 
+    public String getHostUrl() {
+        return hostUrl;
+    }
+
+    public void setHostUrl(String hostUrl) {
+        this.hostUrl = hostUrl;
+    }
+
     public String getKuduHost() {
     public String getKuduHost() {
         return kuduHost;
         return kuduHost;
     }
     }

+ 42 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/common/config/jsch/JSchConfig.java

@@ -48,6 +48,26 @@ public class JSchConfig {
 
 
 
 
     /**
     /**
+     * @Title: getSftpSocket
+     * @Description: 获取连接
+     * @param: @return
+     * @return: ChannelSftp
+     * @throws
+     */
+    public ChannelSftp getSftpSocket(String  host,String username,String password){
+        try {
+            if(null == this.channelSftpPool){
+                initPoolSftp(host,username,password);
+            }
+            return this.channelSftpPool.borrowObject();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+
+    /**
      * @Title: returnSftpSocket
      * @Title: returnSftpSocket
      * @Description: 归还连接
      * @Description: 归还连接
      * @param: @param jsch
      * @param: @param jsch
@@ -80,4 +100,26 @@ public class JSchConfig {
         this.channelSftpPool.setAbandonedConfig(abandonedConfig);
         this.channelSftpPool.setAbandonedConfig(abandonedConfig);
         this.channelSftpPool.setTimeBetweenEvictionRunsMillis(60000); //60秒运行一次维护任务
         this.channelSftpPool.setTimeBetweenEvictionRunsMillis(60000); //60秒运行一次维护任务
     }
     }
+
+    /**
+     * @Title: initPoolSftp
+     * @Description: 初始化连接池  sftp
+     * @param:
+     * @return: void
+     * @throws
+     */
+    private void initPoolSftp(String  host,String username,String password){
+        GenericObjectPoolConfig config=new GenericObjectPoolConfig();
+        config.setMinIdle(5);
+        config.setMaxTotal(5);
+        config.setMaxWaitMillis(60000);
+        sftpFactory = new ChannelSftpFactory(protocols, host, port, username, password);
+        this.channelSftpPool = new GenericObjectPool<>(sftpFactory, config);
+        AbandonedConfig abandonedConfig = new AbandonedConfig();
+        abandonedConfig.setRemoveAbandonedOnMaintenance(true); //在Maintenance的时候检查是否有泄漏
+        abandonedConfig.setRemoveAbandonedOnBorrow(true); //borrow 的时候检查泄漏
+        abandonedConfig.setRemoveAbandonedTimeout(60); //如果一个对象borrow之后60秒还没有返还给pool,认为是泄漏的对象
+        this.channelSftpPool.setAbandonedConfig(abandonedConfig);
+        this.channelSftpPool.setTimeBetweenEvictionRunsMillis(60000); //60秒运行一次维护任务
+    }
 }
 }

+ 14 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/common/feign/IHostService.java

@@ -0,0 +1,14 @@
+package com.gyee.impala.common.feign;
+
+import com.alibaba.fastjson.JSONObject;
+import feign.RequestLine;
+
+
+public interface IHostService {
+
+
+    @RequestLine("GET /hostparam/getparam")
+    JSONObject getParam();
+
+
+}

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

@@ -38,4 +38,14 @@ public class RemoteServiceBuilder {
                 .retryer(new Retryer.Default(10000, 10000, 3))
                 .retryer(new Retryer.Default(10000, 10000, 3))
                 .target(IShardingService.class, config.getAlertUrl());
                 .target(IShardingService.class, config.getAlertUrl());
     }
     }
+
+    @Bean
+    public IHostService hostparam() {
+        return Feign.builder()
+                .encoder(new JacksonEncoder())
+                .decoder(new JacksonDecoder())
+                .options(new Request.Options(5000, 600000))
+                .retryer(new Retryer.Default(10000, 10000, 3))
+                .target(IHostService.class, config.getHostUrl());
+    }
 }
 }

+ 85 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnosepointController.java

@@ -0,0 +1,85 @@
+package com.gyee.impala.controller.diagnose;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.impala.common.result.JsonResult;
+import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.model.master.Windpowerstation;
+import com.gyee.impala.model.master.diagnose.Diagnosepoint;
+import com.gyee.impala.service.master.WindpowerstationService;
+import com.gyee.impala.service.master.diagnose.DiagnosepointService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/diagnosepoint")
+public class DiagnosepointController {
+
+    @Autowired
+    private DiagnosepointService diagnosepointService;
+
+    @Autowired
+    private WindpowerstationService windpowerstationService;
+
+
+    /**
+     * 获取服务器配置参数信息
+     */
+    @GetMapping("/list")
+    public JSONObject getDiagnosepointList() {
+        List<Diagnosepoint> diagnosepointList = diagnosepointService.getDiagnosepointList();
+        JSONObject jsonObject = JsonResult.successData(ResultCode.SUCCESS, diagnosepointList);
+        return jsonObject;
+    }
+
+
+    /**
+     * 新增
+     */
+    @PostMapping("/addPoint")
+    public JSONObject addDiagnosepointList(@RequestBody JSONObject jsonObject) {
+
+
+
+
+
+
+        String name = jsonObject.get("name").toString();
+        JSONArray values = jsonObject.getJSONArray("values");
+
+        Windpowerstation station = windpowerstationService.getWindpowerstation(name);
+
+        for (int i = 0; i < values.size(); i++) {
+            JSONObject json = values.getJSONObject(i);
+            String modelId = json.get("modelId").toString();
+            JSONArray codes = json.getJSONArray("codes");
+
+            for (int c = 0; c < codes.size(); c++) {
+                JSONObject code = codes.getJSONObject(c);
+                Diagnosepoint d = new Diagnosepoint();
+                if (code.get("code").toString().equals("AI067")) {
+                    System.out.println(code.get("code").toString());
+                }
+                if (code.size() >= 4) {
+                    d.setUnit(code.get("unit").toString());
+                } else {
+                }
+                d.setStationcn(station.getName());
+                d.setStationen(station.getId());
+                d.setModel(modelId);
+                d.setUniformcode(code.get("code").toString());
+                d.setName(code.get("name").toString());
+                d.setOrdernum(Integer.valueOf(code.get("num").toString()));
+                diagnosepointService.insertItem(d);
+
+            }
+        }
+        return JsonResult.success();
+    }
+
+
+}

+ 28 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/HostparamController.java

@@ -0,0 +1,28 @@
+package com.gyee.impala.controller.diagnose;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.impala.service.master.diagnose.HostparamService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/hostparam")
+public class HostparamController {
+
+
+    @Autowired
+    private HostparamService hostparamService;
+
+
+    /**
+     * 获取服务器配置参数信息
+     */
+    @GetMapping("/{host}/{port}")
+    public JSONObject getHostParam(@PathVariable String  host,@PathVariable int port) {
+        JSONObject  json = hostparamService.exec(host,port);
+        return json;
+    }
+
+}

+ 37 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/ServerparamController.java

@@ -0,0 +1,37 @@
+package com.gyee.impala.controller.diagnose;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.impala.common.result.JsonResult;
+import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.model.master.diagnose.Serverparam;
+import com.gyee.impala.service.master.diagnose.ServerparamService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author xysn
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/api/serverparam")
+public class ServerparamController {
+
+    @Autowired
+    private ServerparamService serverparamService;
+
+
+    /**
+     * 获取服务器配置参数信息
+     */
+    @GetMapping("/list")
+    public JSONObject getHostParam() {
+        List<Serverparam> serverparamList =  serverparamService.getServerparamList();
+        JSONObject jsonObject = JsonResult.successData(ResultCode.SUCCESS, serverparamList);
+        return jsonObject;
+    }
+
+
+}

+ 15 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/TrainDataModeController.java

@@ -0,0 +1,15 @@
+package com.gyee.impala.controller.diagnose;
+
+
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 数据源方式训练模型
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/api/traindatamode")
+public class TrainDataModeController {
+}

+ 55 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/TrainFileModeController.java

@@ -0,0 +1,55 @@
+package com.gyee.impala.controller.diagnose;
+
+
+import cn.hutool.core.io.FileUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.impala.common.result.JsonResult;
+import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.model.master.diagnose.TrainParam;
+import com.gyee.impala.service.custom.SftpFileService;
+import com.gyee.impala.service.master.diagnose.TrainFileModeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+
+
+/**
+ * 文件方式训练模型
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/api/filemode")
+public class TrainFileModeController {
+
+    @Autowired
+    private SftpFileService fileService;
+
+    @Autowired
+    private TrainFileModeService trainFileModeService;
+
+
+    /**
+     *
+     */
+    @PostMapping("/trainfile")
+    @ResponseBody
+    public JSONObject getTrainfile(@RequestPart("trainParam") TrainParam trainParam, @RequestParam("file") MultipartFile file) {
+        if (file.isEmpty()) {
+            return JsonResult.error(ResultCode.ERROR_FILE_NO);
+        }
+
+        try {
+            trainFileModeService.exec(trainParam, file);
+            return JsonResult.success(ResultCode.SUCCESS);
+        } catch (Exception e) {
+            return JsonResult.error(ResultCode.ERROR_DATA_FILE);
+        }
+
+
+    }
+
+
+}

+ 9 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/diagnose/DiagnosepointMapper.java

@@ -0,0 +1,9 @@
+package com.gyee.impala.mapper.master.diagnose;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.master.diagnose.Diagnosepoint;
+
+public interface DiagnosepointMapper  extends BaseMapper<Diagnosepoint> {
+
+}

+ 11 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/diagnose/ServerparamMapper.java

@@ -0,0 +1,11 @@
+package com.gyee.impala.mapper.master.diagnose;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.master.diagnose.Serverparam;
+
+public interface ServerparamMapper  extends BaseMapper<Serverparam> {
+
+
+    //List<Serverparam> selectServerparamList();
+
+}

+ 44 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/diagnose/Diagnosepoint.java

@@ -0,0 +1,44 @@
+package com.gyee.impala.model.master.diagnose;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("Diagnosepoint")
+public class Diagnosepoint {
+
+
+    private static final long serialVersionUID = 1L;
+
+    //id
+    private String id;
+
+    //场站中文明
+    private String stationcn;
+
+    //场站英文名
+    private String stationen;
+
+    //风机类型
+    private String model;
+
+    //统一编码
+    private String uniformcode;
+
+    //标签名(描述)
+    private String name;
+
+    //单位
+    private String unit;
+
+    //备注
+    private String remark;
+
+    //排序
+    private int ordernum;
+
+
+}

+ 36 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/diagnose/Serverparam.java

@@ -0,0 +1,36 @@
+package com.gyee.impala.model.master.diagnose;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("Serverparam")
+public class Serverparam extends Model<Serverparam> {
+    private static final long serialVersionUID=1L;
+
+    //id
+    private String id;
+
+    //服务器ip
+    private String host;
+
+    //端口
+    private int port;
+
+    //服务器名称
+    private String name;
+
+    //备注
+    private String remark;
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 20 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/diagnose/TrainParam.java

@@ -0,0 +1,20 @@
+package com.gyee.impala.model.master.diagnose;
+
+
+import lombok.Data;
+
+@Data
+public class TrainParam {
+
+    private static final long serialVersionUID = 1L;
+
+    //训练样本名称
+    private String name;
+
+    //预测标签
+    private String forecastLabel;
+    //输入标签
+    private String[] inputLabel;
+
+    private String host;
+}

+ 33 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/SftpFileService.java

@@ -69,6 +69,7 @@ public class SftpFileService {
     }
     }
 
 
 
 
+
     /**
     /**
      * linux部署 直接写入文件
      * linux部署 直接写入文件
      * windows部署 通过sftp上传文件
      * windows部署 通过sftp上传文件
@@ -101,6 +102,38 @@ public class SftpFileService {
     }
     }
 
 
 
 
+    /**
+     * ftp 推送工具
+     * @param fileName
+     * @param in
+     * @param host
+     */
+    public void uploadFile(String fileName, InputStream in,String host) {
+        if (JudeSystem.isWindows()){
+            ChannelSftp sftp = config.getSftpSocket(host,"root","gyee2021");
+            try {
+                boolean dirs = this.createDirs(config.getPath(), sftp);
+                if (!dirs) {
+                    log.error("sftp创建目录失败", config.getPath());
+                    throw new CustomException(ResultCode.ERROR_DATA_FILE);
+                }
+
+                sftp.put(in, fileName);
+
+                log.info("linux文件上传成功{}", fileName);
+
+            } catch (Exception e) {
+                log.error("上传文件失败", fileName, e);
+                throw new CustomException(ResultCode.ERROR_DATA_FILE);
+            } finally {
+                config.returnSftpSocket(sftp);
+            }
+        } else if (JudeSystem.isLinux()){
+            FileUtil.writeFile(config.getPath(), fileName, in);
+        }
+    }
+
+
     public boolean deleteFile(String targetPath) {
     public boolean deleteFile(String targetPath) {
         ChannelSftp sftp = null;
         ChannelSftp sftp = null;
         try {
         try {

+ 6 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/WindpowerstationServiceImpl.java

@@ -87,6 +87,12 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
     }
     }
 
 
 
 
+    @Override
+    public Windpowerstation getWindpowerstation(String id) {
+
+        return baseMapper.selectById(id);
+    }
+
     /**
     /**
      * 由于mybatis-plus存储的中文乱码
      * 由于mybatis-plus存储的中文乱码
      * 采用原生写法
      * 采用原生写法

+ 79 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/diagnose/DiagnosepointServiceImpl.java

@@ -0,0 +1,79 @@
+package com.gyee.impala.service.impl.master.diagnose;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.impala.common.config.datasource.KuduDataSourceConfig;
+import com.gyee.impala.common.exception.CustomException;
+import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.common.util.DateUtil;
+import com.gyee.impala.common.util.SnowFlakeUtil;
+import com.gyee.impala.mapper.master.diagnose.DiagnosepointMapper;
+import com.gyee.impala.model.master.diagnose.Diagnosepoint;
+import com.gyee.impala.model.master.diagnose.Diagnosetrainhistory;
+import com.gyee.impala.service.master.diagnose.DiagnosepointService;
+import org.apache.kudu.client.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class DiagnosepointServiceImpl extends ServiceImpl<DiagnosepointMapper, Diagnosepoint> implements DiagnosepointService {
+
+    @Autowired
+    private KuduDataSourceConfig kuduConfig;
+
+
+    @Override
+    public List<Diagnosepoint> getDiagnosepointList() {
+
+        QueryWrapper<Diagnosepoint> wrapper = new QueryWrapper<>();
+        return baseMapper.selectList(wrapper);
+    }
+
+    @Override
+    public void insertItem(Diagnosepoint obj) {
+        try {
+            insert(obj);
+
+        } catch (KuduException e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+
+
+
+    /**
+     * 由于mybatis-plus存储的中文乱码
+     * 采用原生写法
+     * @param obj
+     * @return
+     */
+    private void insert(Diagnosepoint obj) throws KuduException {
+        KuduTable kuduTable = kuduConfig.kuduClient.openTable("impala::gyee_sample_kudu.diagnosepoint");
+        KuduSession kuduSession = kuduConfig.kuduSession();
+
+        Insert insert = kuduTable.newInsert();
+        // 获取Row对象,设置插入的值
+        PartialRow row = insert.getRow();
+        row.addObject("id", SnowFlakeUtil.generateId());
+        row.addObject("stationcn", obj.getStationcn());
+        row.addObject("stationen", obj.getStationen());
+        row.addObject("model", obj.getModel());
+        row.addObject("uniformcode", obj.getUniformcode());
+        row.addObject("name", obj.getName());
+        row.addObject("unit", obj.getUnit());
+        row.addObject("remark", obj.getRemark());
+        row.addObject("ordernum", obj.getOrdernum());
+        
+        // 先不提交kudu
+        kuduSession.apply(insert);
+        // 最后,补加一条批量写入
+        kuduSession.flush();
+        // 关闭和kudu的会话
+        kuduSession.close();
+    }
+}

+ 21 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/diagnose/ServerparamServiceImpl.java

@@ -0,0 +1,21 @@
+package com.gyee.impala.service.impl.master.diagnose;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.impala.mapper.master.diagnose.ServerparamMapper;
+import com.gyee.impala.model.master.diagnose.Serverparam;
+import com.gyee.impala.service.master.diagnose.ServerparamService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ServerparamServiceImpl extends ServiceImpl<ServerparamMapper, Serverparam> implements ServerparamService {
+
+
+    @Override
+    public List<Serverparam> getServerparamList() {
+        QueryWrapper<Serverparam> wrapper = new QueryWrapper<>();
+        return baseMapper.selectList(wrapper);
+    }
+}

+ 8 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/WindpowerstationService.java

@@ -42,4 +42,12 @@ public interface WindpowerstationService extends IService<Windpowerstation> {
      * @return
      * @return
      */
      */
     void deleteItem(String id);
     void deleteItem(String id);
+
+
+
+    /**
+     * 查询场站信息
+     * @return
+     */
+    Windpowerstation getWindpowerstation(String id);
 }
 }

+ 15 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/DiagnosepointService.java

@@ -0,0 +1,15 @@
+package com.gyee.impala.service.master.diagnose;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.impala.model.master.diagnose.Diagnosepoint;
+
+import java.util.List;
+
+public interface DiagnosepointService extends IService<Diagnosepoint> {
+
+
+    List<Diagnosepoint> getDiagnosepointList();
+
+
+    void insertItem(Diagnosepoint obj);
+}

+ 34 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/HostparamService.java

@@ -0,0 +1,34 @@
+package com.gyee.impala.service.master.diagnose;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.impala.common.config.GyeeConfig;
+import com.gyee.impala.common.feign.RemoteServiceBuilder;
+import com.gyee.impala.model.custom.diagnose.FaultInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HostparamService {
+
+
+    @Autowired
+    private GyeeConfig config;
+    @Autowired
+    private RemoteServiceBuilder remoteService;
+
+    /**
+     * 执行命令
+     */
+    public JSONObject  exec(String host, int port) {
+        StringBuilder url = new StringBuilder();
+        if (!"".equals(host)) {
+            url.append("http://").append(host).append(":").append(port);
+            config.setHostUrl(url.toString());
+        }
+        JSONObject json = remoteService.hostparam().getParam();
+
+        return json;
+    }
+
+
+}

+ 13 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/ServerparamService.java

@@ -0,0 +1,13 @@
+package com.gyee.impala.service.master.diagnose;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.impala.model.master.diagnose.Serverparam;
+
+import java.util.List;
+
+public interface ServerparamService extends IService<Serverparam> {
+
+    List<Serverparam> getServerparamList();
+
+}

+ 66 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/diagnose/TrainFileModeService.java

@@ -0,0 +1,66 @@
+package com.gyee.impala.service.master.diagnose;
+
+
+import com.alibaba.fastjson.JSON;
+import com.gyee.impala.common.config.GyeeConfig;
+import com.gyee.impala.common.config.jsch.JSchConfig;
+import com.gyee.impala.model.master.diagnose.TrainParam;
+import com.gyee.impala.service.custom.SftpFileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Date;
+
+@Service
+public class TrainFileModeService {
+
+
+    @Autowired
+    private SftpFileService fileService;
+
+    @Autowired
+    private JSchConfig config;
+
+    /**
+     * 保存脚本的位置
+     */
+    @Autowired
+    private GyeeConfig gyeeConfig;
+
+
+    public synchronized void exec(TrainParam trainParam,MultipartFile file) throws Exception{
+
+        //获取上传文件的文件名
+        String type  = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));;
+        /**上传文件**/
+        fileService.uploadFile(file.getOriginalFilename(), file.getInputStream(),"10.155.32.14");
+
+        //文件路径
+        String filePath = config.getPath()+file.getOriginalFilename();
+
+        System.out.println(new Date() + "开始执行脚本...");
+        Process p;
+        String cmdPath = gyeeConfig.getDiagnosePath();
+
+
+        try {
+            String[] cmd = {"/bin/sh", "-c", "python " + cmdPath + trainParam.getName() + ".py "+filePath};
+
+            System.out.println(cmd[0] + " " + cmd[1] + " " + cmd[2]);
+            p = Runtime.getRuntime().exec(cmd);
+            p.waitFor();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        System.out.println(new Date() + "脚本执行结束...");
+
+    }
+
+
+
+
+
+
+
+}

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

@@ -2,6 +2,7 @@ gyee:
   # golden实时适配器的url
   # golden实时适配器的url
   golden-url: http://10.155.32.4:8011
   golden-url: http://10.155.32.4:8011
   alert-url: http://192.168.1.18:8075
   alert-url: http://192.168.1.18:8075
+  host-url: http://10.155.32.14:8520
   # 故障样本数据导入模板路径
   # 故障样本数据导入模板路径
   template-path-window: D://java//kudu//template//
   template-path-window: D://java//kudu//template//
   template-path-linux: /gyee/java/template/
   template-path-linux: /gyee/java/template/

+ 32 - 0
gyee-sample-impala/src/main/resources/mapper/master/DiagnosepointMapper.xml

@@ -0,0 +1,32 @@
+<?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.impala.mapper.master.diagnose.DiagnosepointMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.master.diagnose.Diagnosepoint">
+        <id column="id" property="id" />
+        <result column="stationcn" property="stationcn" />
+        <result column="stationen" property="stationen" />
+        <result column="model" property="model" />
+        <result column="uniformcode" property="uniformcode" />
+        <result column="name" property="name" />
+        <result column="unit" property="unit" />
+        <result column="remark" property="remark" />
+        <result column="ordernum" property="ordernum" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, stationcn, stationen, model, uniformcode ,name ,unit ,remark, ordernum
+    </sql>
+<!--    <select id="selectServerparamList" resultType="com.gyee.impala.model.master.diagnose.Serverparam">
+        SELECT
+        *
+        FROM
+        serverparam
+        <where>
+        </where>
+
+    </select>-->
+
+</mapper>

+ 28 - 0
gyee-sample-impala/src/main/resources/mapper/master/ServerparamMapper.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.impala.mapper.master.diagnose.ServerparamMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.master.diagnose.Serverparam">
+        <id column="id" property="id" />
+        <result column="host" property="host" />
+        <result column="port" property="port" />
+        <result column="name" property="name" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, host, port, name, remark
+    </sql>
+<!--    <select id="selectServerparamList" resultType="com.gyee.impala.model.master.diagnose.Serverparam">
+        SELECT
+        *
+        FROM
+        serverparam
+        <where>
+        </where>
+
+    </select>-->
+
+</mapper>