Browse Source

气象信息调整

xieshengjie 2 years ago
parent
commit
c0920e3c8f

+ 6 - 6
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/config/GeneratorCodeConfig.java

@@ -60,12 +60,12 @@ public class GeneratorCodeConfig {
 
 
         dsc.setDriverName("org.postgresql.Driver");
-//        dsc.setUsername("postgres");
-//        dsc.setPassword("postgres");
-//        dsc.setUrl("jdbc:postgresql://192.168.11.248:5432/eng_mctl");
-        dsc.setUrl("jdbc:postgresql://120.46.148.180:5432/wisdom");
-        dsc.setUsername("gdprod");
-        dsc.setPassword("gd123");
+        dsc.setUsername("postgres");
+        dsc.setPassword("postgres");
+        dsc.setUrl("jdbc:postgresql://192.168.11.248:5432/IMS_NEM_SD");
+//        dsc.setUrl("jdbc:postgresql://120.46.148.180:5432/wisdom");
+//        dsc.setUsername("gdprod");
+//        dsc.setPassword("gd123");
         mpg.setDataSource(dsc);
 
 

+ 20 - 0
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/controller/ProBasicPowerstationController.java

@@ -0,0 +1,20 @@
+package com.gyee.meteorological.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-12-07
+ */
+@RestController
+@RequestMapping("//pro-basic-powerstation")
+public class ProBasicPowerstationController {
+
+}

+ 16 - 0
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/mapper/auto/ProBasicPowerstationMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.meteorological.mapper.auto;
+
+import com.gyee.meteorological.model.auto.ProBasicPowerstation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-12-07
+ */
+public interface ProBasicPowerstationMapper extends BaseMapper<ProBasicPowerstation> {
+
+}

+ 261 - 0
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/model/auto/ProBasicPowerstation.java

@@ -0,0 +1,261 @@
+package com.gyee.meteorological.model.auto;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-12-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProBasicPowerstation extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    private String id;
+
+    /**
+     * 编码
+     */
+    private String nemCode;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 地址
+     */
+    private String address;
+
+    /**
+     * 电话
+     */
+    private String telephone;
+
+    /**
+     * 风电装机容量
+     */
+    private BigDecimal windCapacity;
+
+    /**
+     * 风电容量单位
+     */
+    private String windCapacityUnit;
+
+    /**
+     * 风电装机数量海上
+     */
+    private Integer windQuantityHs;
+
+    /**
+     * 风电装机数量陆地
+     */
+    private Integer windQuantityLd;
+
+    /**
+     * 光伏装机容量
+     */
+    private BigDecimal capacity;
+
+    /**
+     * 光伏容量单位
+     */
+    private String capacityUnit;
+
+    /**
+     * 光伏装机数量集中
+     */
+    private Integer quantityJz;
+
+    /**
+     * 光伏装机数量组串
+     */
+    private Integer quantityZc;
+
+    /**
+     * 接入风电装机容量
+     */
+    private BigDecimal jrwindCapacity;
+
+    /**
+     * 接入风电容量单位
+     */
+    private String jrwindCapacityUnit;
+
+    /**
+     * 接入风电装机数量海上
+     */
+    private Integer jrwindQuantityHs;
+
+    /**
+     * 接入风电装机数量陆地
+     */
+    private Integer jrwindQuantityLd;
+
+    /**
+     * 接入光伏装机容量
+     */
+    private BigDecimal jrCapacity;
+
+    /**
+     * 接入光伏容量单位
+     */
+    private String jrCapacityUnit;
+
+    /**
+     * 接入光伏装机数量集中
+     */
+    private Integer jrquantityJz;
+
+    /**
+     * 接入光伏装机数量组串
+     */
+    private Integer jrquantityZc;
+
+    /**
+     * 别名
+     */
+    private String aname;
+
+    /**
+     * 地球经度
+     */
+    private BigDecimal longitude;
+
+    /**
+     * 地球纬度
+     */
+    private BigDecimal latitude;
+
+    /**
+     * 图片
+     */
+    private String photo;
+
+    /**
+     * 系统厂家
+     */
+    private String systemManufact;
+
+    /**
+     * 场长
+     */
+    private String headfarm;
+
+    /**
+     * 场长电话
+     */
+    private String headfarmPhone;
+
+    /**
+     * 机型
+     */
+    private String model;
+
+    /**
+     * 顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * 海拔高度
+     */
+    private BigDecimal height;
+
+    /**
+     * 场站类型(-1:风电;-2:光伏)
+     */
+    private String windType;
+
+    /**
+     * 公司编号
+     */
+    private String companyId;
+
+    /**
+     * 区域编号
+     */
+    private String regionId;
+
+    /**
+     * 集团编号
+     */
+    private String groupId;
+
+    /**
+     * 是否可用(0:待建;1:投产)(0:不参与计算;1:参与计算)
+     */
+    private Integer isAble;
+
+    /**
+     * 备用1
+     */
+    private String spare1;
+
+    /**
+     * 备用2
+     */
+    private String spare2;
+
+    /**
+     * 备用3
+     */
+    private String spare3;
+
+    /**
+     * 备用4
+     */
+    private String spare4;
+
+    /**
+     * 核准容量
+     */
+    private BigDecimal appCapacity;
+
+    /**
+     * 在建容量
+     */
+    private BigDecimal conCapacity;
+
+    /**
+     * 并网容量
+     */
+    private BigDecimal gridCapacity;
+
+    private BigDecimal hoiCapacity;
+
+    /**
+     * 首批并网时间
+     */
+    private LocalDate firstGridTime;
+
+    /**
+     * 整场投运时间
+     */
+    private LocalDate wholeGridTime;
+
+    /**
+     * 测风塔数量
+     */
+    private Integer anemoNumber;
+
+    /**
+     * 升压站数量
+     */
+    private Integer stationNumber;
+
+
+}

+ 16 - 0
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/service/auto/IProBasicPowerstationService.java

@@ -0,0 +1,16 @@
+package com.gyee.meteorological.service.auto;
+
+import com.gyee.meteorological.model.auto.ProBasicPowerstation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-12-07
+ */
+public interface IProBasicPowerstationService extends IService<ProBasicPowerstation> {
+
+}

+ 20 - 0
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/service/auto/impl/ProBasicPowerstationServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.meteorological.service.auto.impl;
+
+import com.gyee.meteorological.model.auto.ProBasicPowerstation;
+import com.gyee.meteorological.mapper.auto.ProBasicPowerstationMapper;
+import com.gyee.meteorological.service.auto.IProBasicPowerstationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-12-07
+ */
+@Service
+public class ProBasicPowerstationServiceImpl extends ServiceImpl<ProBasicPowerstationMapper, ProBasicPowerstation> implements IProBasicPowerstationService {
+
+}

+ 13 - 13
realtime/meteorologicalcollection/src/main/java/com/gyee/meteorological/service/collection/CollectionService.java

@@ -10,11 +10,9 @@ import com.gyee.common.util.JSONUtils;
 import com.gyee.common.util.RestTemplateUtil;
 import com.gyee.meteorological.init.CacheContext;
 import com.gyee.meteorological.model.*;
-import com.gyee.meteorological.model.auto.Coordinate;
-import com.gyee.meteorological.model.auto.ProEconCoordinate;
-import com.gyee.meteorological.model.auto.ProEconMeteorological;
-import com.gyee.meteorological.model.auto.ProEconMeteorologicalfourdays;
+import com.gyee.meteorological.model.auto.*;
 import com.gyee.meteorological.service.RedisService;
+import com.gyee.meteorological.service.auto.IProBasicPowerstationService;
 import com.gyee.meteorological.service.auto.IProEconCoordinateService;
 import com.gyee.meteorological.service.auto.IProEconMeteorologicalService;
 import com.gyee.meteorological.service.auto.IProEconMeteorologicalfourdaysService;
@@ -53,6 +51,8 @@ public class CollectionService {
     private IProEconMeteorologicalfourdaysService proEconMeteorologicalfourdaysService;
     @Resource
     private IProEconCoordinateService proEconCoordinateService;
+    @Resource
+    private IProBasicPowerstationService proBasicPowerstationService;
 
     @Value("${meteorological.model}")
     private String model;
@@ -79,18 +79,19 @@ public class CollectionService {
 
 
     public void saveMeteorological() throws IOException {
+        List<ProBasicPowerstation> powerstations = proBasicPowerstationService.list().stream().filter(wp -> wp.getIsAble().equals(1) && wp.getLatitude()!=null && wp.getLongitude()!=null).collect(Collectors.toList());
         List<ProEconCoordinate> proEconCoordinates = proEconCoordinateService.list().stream().filter(i->i.getIsOpen()!=null && i.getIsOpen().equals(1)).collect(Collectors.toList());
 //        String property = System.getProperty("user.dir");
 
         long startTime = System.currentTimeMillis();
-        proEconCoordinates.stream().forEach(c->{
-            String restUrl = url+"weather?units=metric&land=zh_cn&lat="+c.getLat()+"&lon="+c.getLon()+"&appid="+weatherkey;
+        powerstations.stream().forEach(c->{
+            String restUrl = url+"weather?units=metric&land=zh_cn&lat="+c.getLatitude()+"&lon="+c.getLongitude()+"&appid="+weatherkey;
             String weatherStr = RestTemplateUtil.get(restUrl, null);
             WeatherReal weatherReal = JSONObject.parseObject(weatherStr, new TypeReference<WeatherReal>() {
             });
             ProEconMeteorological proEconMeteorological = new ProEconMeteorological();
             proEconMeteorological.setId(CommonUtils.getUUID());
-            proEconMeteorological.setWindpowerstationId(c.getWindpowerstationId());
+            proEconMeteorological.setWindpowerstationId(c.getId());
 
             if(null!=weatherReal.getMain()) {
                 Main main=weatherReal.getMain();
@@ -248,7 +249,7 @@ public class CollectionService {
             proEconMeteorological.setDatetime(date);
 
             QueryWrapper<ProEconMeteorological> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",c.getWindpowerstationId());
+            qw.eq("windpowerstation_id",c.getId());
             qw.eq("datetime",date);
             List<ProEconMeteorological> list = proEconMeteorologicalService.list(qw);
             if (StringUtils.isEmpty(list)){
@@ -262,8 +263,7 @@ public class CollectionService {
     }
 
     public void saveMeteorologicalFiveDay(){
-
-        List<ProEconCoordinate> proEconCoordinates = proEconCoordinateService.list().stream().filter(i->i.getIsOpen()!=null && i.getIsOpen().equals(1)).collect(Collectors.toList());
+        List<ProBasicPowerstation> powerstations = proBasicPowerstationService.list().stream().filter(wp -> wp.getIsAble().equals(1) && wp.getLatitude()!=null && wp.getLongitude()!=null).collect(Collectors.toList());
 //        String property = System.getProperty("user.dir");
         QueryWrapper<ProEconMeteorologicalfourdays> qw = new QueryWrapper<>();
         qw.ge("datetime",DateUtils.getCurrentDate());
@@ -271,8 +271,8 @@ public class CollectionService {
 
         long startTime = System.currentTimeMillis();
         List<ProEconMeteorologicalfourdays> resultList = new ArrayList<>();
-        proEconCoordinates.stream().forEach(c->{
-            String restUrl = url+"forecast?units=metric&land=zh_cn&lat="+c.getLat()+"&lon="+c.getLon()+"&appid="+weatherkey;
+        powerstations.stream().forEach(c->{
+            String restUrl = url+"forecast?units=metric&land=zh_cn&lat="+c.getLatitude()+"&lon="+c.getLongitude()+"&appid="+weatherkey;
             String weatherStr = RestTemplateUtil.get(restUrl, null);
             JsonRootBean jsonRootBean = JSONObject.parseObject(weatherStr, new TypeReference<JsonRootBean>() {
             });
@@ -300,7 +300,7 @@ public class CollectionService {
                     Date date=DateUtils.parseLongToDate(weatherReal.getDt()*1000);
                     proEconMeteorological.setId(CommonUtils.getUUID());
                     proEconMeteorological.setDatetime(date);
-                    proEconMeteorological.setWindpowerstationId(c.getWindpowerstationId());
+                    proEconMeteorological.setWindpowerstationId(c.getId());
                     proEconMeteorological.setVisibility(weatherReal.getVisibility());
                     //日出时间
                     proEconMeteorological.setSunrise(sunriseString);

+ 3 - 3
realtime/meteorologicalcollection/src/main/resources/application-test.yml

@@ -33,9 +33,9 @@ spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
     driver-class-name: org.postgresql.Driver
-    url: jdbc:postgresql://120.46.148.180:5432/wisdom
-    username: gdprod
-    password: gd123
+    url: jdbc:postgresql://192.168.11.248:5432/IMS_NEM_SD
+    username: postgres
+    password: postgres
     oracle-schema=:
     #    type: com.alibaba.druid.pool.DruidDataSource
     #    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=UTC

+ 4 - 1
realtime/meteorologicalcollection/src/test/java/com/gyee/meteorological/MeteorologicalTest.java

@@ -27,8 +27,11 @@ public class MeteorologicalTest {
 
     @Test
     public void test1() throws IOException {
+
+        collectionService.saveMeteorological();
+        collectionService.saveMeteorologicalFiveDay();
 //        collectionService.saveMeteorologicalData();
 //        collectionService.saveMeteorological();
-        collectionService.saveMeteorologicalFourDay();
+//        collectionService.saveMeteorologicalFourDay();
     }
 }