yuanhao 2 gadi atpakaļ
vecāks
revīzija
f0dbea6d8b
27 mainītis faili ar 744 papildinājumiem un 23 dzēšanām
  1. 1 14
      in-cloud-ui/package-lock.json
  2. 7 1
      in-cloud/pom.xml
  3. 20 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/compermisson/GeneratePermisson.java
  4. 106 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/compermisson/QNHLComPermisson.java
  5. 36 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/config/MyMetaObjectHandler.java
  6. 9 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/constants/CompanyConstant.java
  7. 119 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/constants/StatusConstant.java
  8. 18 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/constants/enums/DataTypeEnum.java
  9. 33 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/constants/vo/ResponseVo.java
  10. 36 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/entity/BaseEntity.java
  11. 40 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/entity/IntegrationCompany.java
  12. 48 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/entity/PushRecord.java
  13. 4 4
      in-cloud/src/main/java/com/jiayue/insu/incloud/entity/Quartz.java
  14. 72 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/entity/Station.java
  15. 8 2
      in-cloud/src/main/java/com/jiayue/insu/incloud/entity/User.java
  16. 12 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/job/data/push/QNHLPushData.java
  17. 36 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/job/permission/QNHLPermissonJob.java
  18. 9 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/mapper/IntegrationCompanyMapper.java
  19. 9 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/mapper/StationMapper.java
  20. 28 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/pushdata/PushDataForQNHL.java
  21. 24 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/service/IPullInitForecastData.java
  22. 24 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/service/IPushInitForecastData.java
  23. 10 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/service/IntegrationCompanyService.java
  24. 9 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/service/StationService.java
  25. 13 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/service/impl/IntegrationCompanyServiceImpl.java
  26. 13 0
      in-cloud/src/main/java/com/jiayue/insu/incloud/service/impl/StationServiceImpl.java
  27. 0 2
      in-cloud/src/main/resources/bootstrap.yml

+ 1 - 14
in-cloud-ui/package-lock.json

@@ -1,5 +1,5 @@
 {
-  "name": "vue-admin-beautiful",
+  "name": "in-cloud-ui",
   "version": "1.0.0",
   "lockfileVersion": 1,
   "requires": true,
@@ -2073,7 +2073,6 @@
         "thread-loader": "^2.1.3",
         "url-loader": "^2.2.0",
         "vue-loader": "^15.9.2",
-        "vue-loader-v16": "npm:vue-loader@^16.1.0",
         "vue-style-loader": "^4.1.2",
         "webpack": "^4.0.0",
         "webpack-bundle-analyzer": "^3.8.0",
@@ -17753,18 +17752,6 @@
         }
       }
     },
-    "vue-loader-v16": {
-      "version": "npm:vue-loader@16.8.3",
-      "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
-      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "hash-sum": "^2.0.0",
-        "loader-utils": "^2.0.0"
-      }
-    },
     "vue-router": {
       "version": "3.5.4",
       "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.4.tgz",

+ 7 - 1
in-cloud/pom.xml

@@ -14,7 +14,7 @@
     <properties>
         <maven.compiler.source>8</maven.compiler.source>
         <maven.compiler.target>8</maven.compiler.target>
-
+        <minio.version>7.0.2</minio.version>
     </properties>
 
 
@@ -105,6 +105,12 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>io.minio</groupId>
+            <artifactId>minio</artifactId>
+            <version>${minio.version}</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 20 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/compermisson/GeneratePermisson.java

@@ -0,0 +1,20 @@
+package com.jiayue.insu.incloud.compermisson;
+
+import com.jiayue.insu.incloud.entity.Station;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 交互通讯的key,例如token jwt等等
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+public interface GeneratePermisson {
+
+    Map<String, Map<String,Object>> permissonMap = new HashMap<>();
+
+    Object generateKey(Station station);
+}

+ 106 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/compermisson/QNHLComPermisson.java

@@ -0,0 +1,106 @@
+package com.jiayue.insu.incloud.compermisson;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.json.JSON;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jiayue.insu.incloud.constants.StatusConstant;
+import com.jiayue.insu.incloud.constants.vo.ResponseVo;
+import com.jiayue.insu.incloud.entity.IntegrationCompany;
+import com.jiayue.insu.incloud.entity.Station;
+import com.jiayue.insu.incloud.service.IntegrationCompanyService;
+import com.jiayue.insu.incloud.service.StationService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.DigestUtils;
+
+import java.time.LocalDateTime;
+
+/**
+ * 清能生成通讯token
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+@Component
+@Slf4j
+public class QNHLComPermisson implements GeneratePermisson{
+
+    @Autowired
+    private IntegrationCompanyService integrationCompanyService;
+
+    @Autowired
+    private StationService stationService;
+
+    private IntegrationCompany integrationCompany;
+
+    @Override
+    public Boolean generateKey(Station station) {
+        boolean result = false;
+        String username = station.getUsername();
+        String password = station.getPassword();
+        String passwordMD5 = DigestUtils.md5DigestAsHex(password.getBytes()).toUpperCase();
+        String auth = username+":"+passwordMD5;
+        IntegrationCompany integrationCompany = getIntegrationCompany(station.getInCode());
+        if(integrationCompany!=null){
+            String tokenUrl = integrationCompany.getComUrl();
+            String response;
+            String token;
+
+            String requestTime = DateUtil.now();
+            LocalDateTime expirationTime = DateUtil.offsetDay(DateUtil.parse(requestTime), 1).toLocalDateTime();
+            try {
+                HttpRequest httpRequest = HttpRequest.post(tokenUrl)
+                        .header("Content-Type", "application/json")
+                        .header("Authorization", auth);
+                httpRequest.setGlobalTimeout(5000);
+                response = httpRequest.execute().body();
+                if(StrUtil.isNotEmpty(response)){
+                    boolean isJson = JSONUtil.isJsonObj(response);
+                    if(isJson){
+                        JSON resultJson = JSONUtil.parse(response);
+                        ResponseVo responseVo = JSONUtil.toBean(response,ResponseVo.class);
+                        if(responseVo.getRetCode().equals(StatusConstant.REQUEST_SUCCESS)){
+                            token = responseVo.getData();
+                            station.setKey(token);
+                            station.setKeyTime(expirationTime);
+                            stationService.save(station);
+                            result = true;
+                            log.info("========== 一体化token请求成功: {} token="+token+"  ==========",station.getStationCode());
+                        }else{
+                            log.error("========== 一体化token请求异常: {} 接收retCode响应码非成功标识T200 标识为"+resultJson.getByPath("retCode")+" "+resultJson.getByPath("retMsg")+" ==========",station.getStationCode());
+                            log.info("========== 请求参数 账号密码:"+username+":"+password+" MD5加密:"+ auth +" ==========");
+                        }
+                    }else{
+                        log.error("========== 一体化token请求异常: {} 接收响应字符串非json格式 ==========",station.getStationCode());
+                    }
+                }else{
+                    log.error("========== 一体化token请求异常: {} 接收响应字符串为空 ==========",station.getStationCode());
+                }
+
+            }catch (Exception e){
+                log.error("========== 一体化token请求异常: {} 连接断开或请求超时 ==========",station.getStationCode());
+                e.printStackTrace();
+
+            }
+        }
+
+
+
+        return result;
+    }
+
+
+    IntegrationCompany getIntegrationCompany(String code){
+        if(this.integrationCompany == null){
+            LambdaQueryWrapper<IntegrationCompany> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.eq(IntegrationCompany::getCode,code);
+            this.integrationCompany = this.integrationCompanyService.getOne(lambdaQueryWrapper);
+        }
+        return this.integrationCompany;
+    }
+}

+ 36 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/config/MyMetaObjectHandler.java

@@ -0,0 +1,36 @@
+package com.jiayue.insu.incloud.config;
+
+import cn.dev33.satoken.stp.SaTokenInfo;
+import cn.dev33.satoken.stp.StpUtil;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
+        log.info("start insert fill ....");
+
+        this.strictInsertFill(metaObject, "creator", String.class,  (String)tokenInfo.getLoginId()); // 起始版本 3.3.0(推荐使用)
+
+        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用)
+
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        log.info("start update fill ....");
+        SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
+
+        this.strictInsertFill(metaObject, "lastModifier", String.class, (String)tokenInfo.getLoginId()); // 起始版本 3.3.0(推荐使用)
+
+        this.strictInsertFill(metaObject, "lastModifyTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用)
+    }
+}

+ 9 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/CompanyConstant.java

@@ -0,0 +1,9 @@
+package com.jiayue.insu.incloud.constants;
+
+public interface CompanyConstant {
+
+    /**
+     * 清能互联
+     */
+    String COMPANY_QNHL = "QNHL";
+}

+ 119 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/StatusConstant.java

@@ -0,0 +1,119 @@
+package com.jiayue.insu.incloud.constants;
+
+/**
+ * @description: 状态常量
+ * @author: yuanhao
+ * @createDate: 2021/8/20
+ * @version: 1.0
+ */
+public interface StatusConstant {
+
+    /**
+     *  请求成功
+     */
+    String REQUEST_SUCCESS = "T200";
+    /**
+     * token已过期
+     */
+    String TOKEN_EXPIRE = "I101";
+    /**
+     * 无效token
+     */
+    String TOKEN_INVALID = "I102";
+
+    /**
+     * 签名失败
+     */
+    String AUTOGRAPH_FAIL ="I103";
+
+    /**
+     * 用户未登录,请先登录
+     */
+    String LOGIN_NOT ="I104";
+
+    /**
+     * 返回非json格式
+     */
+    String RESPONSE_ERROR1="E500";
+    /**
+     * 返回空
+     */
+    String RESPONSE_ERROR2="E600";
+    /**
+     * 链接超时断开
+     */
+    String RESPONSE_ERROR3="E700";
+    /**
+     * 未请求到token
+     */
+    String RESPONSE_ERROR4="E800";
+
+
+
+    /**
+     * 上午
+     */
+    String AM_DAY ="AM";
+    /**
+     * 下午
+     */
+    String PM_DAY = "PM";
+
+    /**
+     * 初始化数据下载成功
+     */
+    String INIT_STATUS_SUCCESS ="SUCCESS";
+    /**
+     * 请求初始化文件失败
+     */
+    String INIT_STATUS_REQUEST_FAIL="REQUEST_FAIL";
+    /**
+     * 请求初始化文件返回响应失败
+     */
+    String INIT_STATUS_RESPONSE_FAIL="RESPONSE_FAIL";
+    /**
+     * 查无初始化文件
+     */
+    String INIT_STATUS_FILE_NULL ="FILE_NULL";
+    /**
+     * 请求初始化文件列表失败
+     */
+    String INIT_STATUS_FAIL = "FAIL";
+
+
+
+    /**
+     * 下载初始化文件错误
+     */
+    String INIT_STATUS_FILE_FAIL ="FILE_NULL_ERROE";
+
+
+    /**
+     * 上送数据缺少
+     */
+    String UPLOAD_STATUS_DATA_LACK="DATA_LACK";
+    /**
+     * 修正数据缺少
+     */
+    String Correct_STATUS_DATA_LACK="DATA_LACK";
+
+    /**
+     * 解析失败或没有修正完成
+     */
+    String Correct_STATUS_DATA_FAIL="DATA_FAIL";
+
+
+    String AMEND_GEN_FILE_SUCCESS="SUCCESS";
+
+    String AMEND_GEN_FILE_ERROE="GEN_ERROR";
+
+    String AMEND_FILE_MONIL_ERROR="UPLOAD_ERROR";
+
+    String ET_PHOTOVOLTAIC = "E1";
+
+    String ET_WIND = "E2";
+
+
+
+
+}

+ 18 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/enums/DataTypeEnum.java

@@ -0,0 +1,18 @@
+package com.jiayue.insu.incloud.constants.enums;
+
+public enum DataTypeEnum {
+
+    PUSH_QNHL_DQ("DQ","FORE","短期预测"),
+    PUSH_QNHL_NWP("NWP","FORE","短期预测");
+
+
+    private final String type;
+    private final String sign;
+    private final String des;
+
+    DataTypeEnum(String type, String sign, String des) {
+        this.type = type;
+        this.sign = sign;
+        this.des = des;
+    }
+}

+ 33 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/vo/ResponseVo.java

@@ -0,0 +1,33 @@
+package com.jiayue.insu.incloud.constants.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @description: 清能一体化响应VO
+ * @author: yuanhao
+ * @createDate: 2021/8/24
+ * @version: 1.0
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ResponseVo {
+
+    /**
+     * 响应码
+     */
+    private String retCode;
+    /**
+     * 响应信息
+     */
+    private String retMsg;
+
+    /**
+     * 响应数据
+     */
+    private String data;
+}

+ 36 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/BaseEntity.java

@@ -0,0 +1,36 @@
+package com.jiayue.insu.incloud.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class BaseEntity {
+
+    /**
+     * 创建者
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private String creator;
+    /**
+     * 创建时间
+     */
+
+    @TableField( fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+    /**
+     * 最后修改者
+     */
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String lastModifier;
+    /**
+     * 最后修改时间
+     */
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime lastModifyTime;
+
+}

+ 40 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/IntegrationCompany.java

@@ -0,0 +1,40 @@
+package com.jiayue.insu.incloud.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * IntegrationCompany一体化公司
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/25 16:22
+ */
+@TableName(value = "in_quartz")
+@Data
+public class IntegrationCompany extends  BaseEntity{
+
+    /**
+     * Id
+     */
+    @TableId(type = IdType.AUTO)
+    Long id;
+    /**
+     * 一体化公司名称
+     */
+    String name;
+    /**
+     * 一体化公司code
+     */
+    String code;
+    /**
+     * 通讯keyURL
+     */
+    String comUrl;
+    /**
+     * 推动数据URL
+     */
+    String pushUrl;
+}

+ 48 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/PushRecord.java

@@ -0,0 +1,48 @@
+package com.jiayue.insu.incloud.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * PushRecord 上送数据记录
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2018/12/7 16:22
+ */
+@TableName(value = "in_push_record")
+@Data
+public class PushRecord {
+
+    @TableId(type = IdType.ASSIGN_UUID)
+    private String id;
+    /**
+     *场站标识
+     */
+    private String stationCode;
+    /**
+     *一体化公司标识
+     */
+    private String inCode;
+    /**
+     *上送数据类型
+     */
+    private String type;
+    /**
+     *上送内容
+     */
+    private String content;
+    /**
+     *上送时间
+     */
+    private LocalDateTime pushTime;
+    /**
+     *上送状态
+     */
+    private String pushState;
+
+}

+ 4 - 4
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/Quartz.java

@@ -9,15 +9,15 @@ import lombok.Data;
 import java.util.Date;
 
 /**
- * Quartz
+ * Quartz 定时任务
  *
- * @author bizy
+ * @author yh
  * @version 1.0
  * @since 2018/12/7 16:22
  */
-@TableName(value = "quartz")
+@TableName(value = "in_quartz")
 @Data
-public class Quartz {
+public class Quartz extends BaseEntity{
 
     @TableId(type = IdType.AUTO)
     private Integer id;

+ 72 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/Station.java

@@ -0,0 +1,72 @@
+package com.jiayue.insu.incloud.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * Station场站信息
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/25 16:22
+ */
+@TableName(value = "in_station")
+@Data
+public class Station extends BaseEntity {
+
+    /**
+     * Id
+     */
+    @TableId(type = IdType.AUTO)
+    Long id;
+    /**
+     * 场站名称
+     */
+    String name;
+    /**
+     * 场站标识
+     */
+    String stationCode;
+    /**
+     * 标识
+     */
+    String signCode;
+    /**
+     * 场站类型
+     */
+    String type;
+    /**
+     * 用户名
+     */
+    String username;
+    /**
+     * 密码
+     */
+    String password;
+    /**
+     * 通讯key
+     */
+    String key;
+    /**
+     * 状态
+     */
+    String state;
+    /**
+     * 一体化公司
+     */
+    String inCode;
+
+    /**
+     * key到期时间
+     */
+    LocalDateTime keyTime;
+
+
+
+
+
+}

+ 8 - 2
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/User.java

@@ -6,8 +6,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
-
-@TableName(value = "user")
+/**
+ * 用户信息
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/25 16:22
+ */
+@TableName(value = "in_user")
 @Data
 public class User implements Serializable {
     /**

+ 12 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/job/data/push/QNHLPushData.java

@@ -0,0 +1,12 @@
+package com.jiayue.insu.incloud.job.data.push;
+
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+public class QNHLPushData implements Job {
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+    }
+}

+ 36 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/job/permission/QNHLPermissonJob.java

@@ -0,0 +1,36 @@
+package com.jiayue.insu.incloud.job.permission;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jiayue.insu.incloud.compermisson.QNHLComPermisson;
+import com.jiayue.insu.incloud.constants.CompanyConstant;
+import com.jiayue.insu.incloud.entity.Station;
+import com.jiayue.insu.incloud.service.StationService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * 清能互联 通讯token Job
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+public class QNHLPermissonJob implements Job {
+    @Autowired
+    private QNHLComPermisson qNHLComPermisson;
+    @Autowired
+    private StationService stationService;
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        LambdaQueryWrapper<Station> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(Station::getInCode, CompanyConstant.COMPANY_QNHL);
+        List<Station> list = stationService.list(lambdaQueryWrapper);
+        for (Station station:list) {
+            qNHLComPermisson.generateKey(station);
+        }
+    }
+}

+ 9 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/mapper/IntegrationCompanyMapper.java

@@ -0,0 +1,9 @@
+package com.jiayue.insu.incloud.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.insu.incloud.entity.IntegrationCompany;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface IntegrationCompanyMapper extends BaseMapper<IntegrationCompany> {
+}

+ 9 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/mapper/StationMapper.java

@@ -0,0 +1,9 @@
+package com.jiayue.insu.incloud.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.insu.incloud.entity.Station;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface StationMapper extends BaseMapper<Station> {
+}

+ 28 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/pushdata/PushDataForQNHL.java

@@ -0,0 +1,28 @@
+package com.jiayue.insu.incloud.pushdata;
+
+import com.jiayue.insu.incloud.entity.Station;
+import com.jiayue.insu.incloud.service.IPushInitForecastData;
+import org.springframework.stereotype.Component;
+
+/**
+ * 清能推送数据
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+@Component
+public class PushDataForQNHL implements IPushInitForecastData {
+
+
+    @Override
+    public Boolean pushDQData(Station station) {
+
+        return null;
+    }
+
+    @Override
+    public Boolean pushNWPData(Station station) {
+        return false;
+    }
+}

+ 24 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/service/IPullInitForecastData.java

@@ -0,0 +1,24 @@
+package com.jiayue.insu.incloud.service;
+
+import com.jiayue.insu.incloud.entity.Station;
+
+/**
+ * 拉取预测原始数据接口
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+public interface IPullInitForecastData {
+
+    /**
+     * 推送短期预测原始数据
+     * @return 是否成功
+     */
+    Boolean pullDQData(Station station);
+    /**
+     * 推送NWP预测原始数据
+     * @return 是否成功
+     */
+    Boolean pullNWPData(Station station);
+}

+ 24 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/service/IPushInitForecastData.java

@@ -0,0 +1,24 @@
+package com.jiayue.insu.incloud.service;
+
+import com.jiayue.insu.incloud.entity.Station;
+
+/**
+ * 推送预测原始数据接口
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+public interface IPushInitForecastData {
+
+    /**
+     * 推送短期预测原始数据
+     * @return 是否成功
+     */
+    Boolean pushDQData(Station station);
+    /**
+     * 推送NWP预测原始数据
+     * @return 是否成功
+     */
+    Boolean pushNWPData(Station station);
+}

+ 10 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/service/IntegrationCompanyService.java

@@ -0,0 +1,10 @@
+package com.jiayue.insu.incloud.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.insu.incloud.entity.IntegrationCompany;
+import com.jiayue.insu.incloud.entity.Station;
+
+public interface IntegrationCompanyService extends IService<IntegrationCompany> {
+
+
+}

+ 9 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/service/StationService.java

@@ -0,0 +1,9 @@
+package com.jiayue.insu.incloud.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.insu.incloud.entity.Station;
+
+public interface StationService extends IService<Station> {
+
+
+}

+ 13 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/service/impl/IntegrationCompanyServiceImpl.java

@@ -0,0 +1,13 @@
+package com.jiayue.insu.incloud.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.insu.incloud.entity.IntegrationCompany;
+import com.jiayue.insu.incloud.mapper.IntegrationCompanyMapper;
+import com.jiayue.insu.incloud.service.IntegrationCompanyService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IntegrationCompanyServiceImpl extends ServiceImpl<IntegrationCompanyMapper, IntegrationCompany> implements IntegrationCompanyService {
+
+
+}

+ 13 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/service/impl/StationServiceImpl.java

@@ -0,0 +1,13 @@
+package com.jiayue.insu.incloud.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.insu.incloud.entity.Station;
+import com.jiayue.insu.incloud.mapper.StationMapper;
+import com.jiayue.insu.incloud.service.StationService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class StationServiceImpl extends ServiceImpl<StationMapper, Station> implements StationService {
+
+
+}

+ 0 - 2
in-cloud/src/main/resources/bootstrap.yml

@@ -26,9 +26,7 @@ spring:
             threadNamePrefix: test-thread
             # 加载任务代码的ClassLoader是否从外部继承
             threadsInheritContextClassLoaderOfInitializingThread: true
-
           jobStore:
-
             dataSource: incloud
             # 最大能忍受的触发超时时间,如果超时则认为“失误”
             misfireThreshold: 5000