Selaa lähdekoodia

添加实时数据接口

魏志亮 4 kuukautta sitten
vanhempi
commit
c7bf46139c

+ 9 - 14
src/main/java/com/dskj/znzn/transData/crontab/UpdadePlatformData.java

@@ -1,16 +1,11 @@
 package com.dskj.znzn.transData.crontab;
 
-import com.alibaba.fastjson.JSON;
 import com.dskj.znzn.transData.web.dataTransfer.mapper.WindFarmDayCountMapper;
-import com.dskj.znzn.transData.web.dataTransfer.outData.AsyncPlatformTimeOutData;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 @Component
 @RequiredArgsConstructor(onConstructor = @__({@Autowired}))
 @Slf4j
@@ -18,13 +13,13 @@ public class UpdadePlatformData {
 
     private final WindFarmDayCountMapper windFarmDayCountMapper;
 
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void updateTime() {
-
-        List<AsyncPlatformTimeOutData> datas = windFarmDayCountMapper.asyncPlatformTime();
-
-        System.out.println(JSON.toJSON(datas));
-        if (!datas.isEmpty()) {
-        }
-    }
+//    @Scheduled(cron = "0 0 1 * * ?")
+//    public void updateTime() {
+//
+//        List<PlatformAutoAnalysisTimeOutData> datas = windFarmDayCountMapper.platformAutoAnalysisTime();
+//
+//        System.out.println(JSON.toJSON(datas));
+//        if (!datas.isEmpty()) {
+//        }
+//    }
 }

+ 10 - 4
src/main/java/com/dskj/znzn/transData/web/dataTransfer/controller/WindFarmDayCountController.java

@@ -4,16 +4,16 @@ import com.dskj.znzn.transData.common.base.R;
 import com.dskj.znzn.transData.web.dataTransfer.entity.WindFarmDayCount;
 import com.dskj.znzn.transData.web.dataTransfer.inData.HistoryDataSummaryInData;
 import com.dskj.znzn.transData.web.dataTransfer.outData.HistoryDataSummaryOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.PltAutoAnalysisTimeOutData;
 import com.dskj.znzn.transData.web.dataTransfer.service.IWindFarmDayCountService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 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 org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -43,4 +43,10 @@ public class WindFarmDayCountController {
     public R<List<HistoryDataSummaryOutData>> Summary(@RequestBody HistoryDataSummaryInData inData) {
         return R.ok(windFarmDayCountService.getHistoryDataSummary(inData));
     }
+
+    @ApiOperation("获取自动分析数据时间")
+    @GetMapping("pltAutoAnalysisTime")
+    public R<PltAutoAnalysisTimeOutData> pltAutoAnalysisTime(@Valid @NotBlank(message = "风场编号不能为空") String windFarmCode) {
+        return R.ok(windFarmDayCountService.pltAutoAnalysisTime(windFarmCode));
+    }
 }

+ 6 - 0
src/main/java/com/dskj/znzn/transData/web/dataTransfer/entity/WindFarmDayCount.java

@@ -1,6 +1,7 @@
 package com.dskj.znzn.transData.web.dataTransfer.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -38,6 +39,7 @@ public class WindFarmDayCount implements Serializable {
     private String windFarmName;
 
     @ApiModelProperty("统计时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date addDate;
 
     @ApiModelProperty("类型:minute,second")
@@ -60,4 +62,8 @@ public class WindFarmDayCount implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
+    @ApiModelProperty("类型名称")
+    @TableField(exist = false)
+    private String typeName;
+
 }

+ 2 - 2
src/main/java/com/dskj/znzn/transData/web/dataTransfer/mapper/WindFarmDayCountMapper.java

@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dskj.znzn.transData.web.dataTransfer.entity.WindFarmDayCount;
 import com.dskj.znzn.transData.web.dataTransfer.inData.GetTimeRangeInData;
 import com.dskj.znzn.transData.web.dataTransfer.inData.HistoryDataSummaryInData;
-import com.dskj.znzn.transData.web.dataTransfer.outData.AsyncPlatformTimeOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.PltAutoAnalysisTimeOutData;
 import com.dskj.znzn.transData.web.dataTransfer.outData.GetTimeRangeOutData;
 import com.dskj.znzn.transData.web.dataTransfer.outData.HistoryDataSummaryOutData;
 import org.apache.ibatis.annotations.Mapper;
@@ -24,7 +24,7 @@ public interface WindFarmDayCountMapper extends BaseMapper<WindFarmDayCount> {
 
     List<GetTimeRangeOutData> getTimeRange(GetTimeRangeInData data);
 
-    List<AsyncPlatformTimeOutData> asyncPlatformTime();
+    PltAutoAnalysisTimeOutData platformAutoAnalysisTime(String windFarmCode);
 
     List<HistoryDataSummaryOutData> getHistoryDataSummary(HistoryDataSummaryInData inData);
 }

+ 0 - 22
src/main/java/com/dskj/znzn/transData/web/dataTransfer/outData/AsyncPlatformTimeOutData.java

@@ -1,22 +0,0 @@
-package com.dskj.znzn.transData.web.dataTransfer.outData;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class AsyncPlatformTimeOutData {
-
-    @ApiModelProperty("风场编号")
-    private String windFarmCode;
-
-    @ApiModelProperty("类型 eg:minute,second")
-    private String type;
-
-    @ApiModelProperty("开始时间")
-    private String startTime;
-
-//    @ApiModelProperty("结束时间")
-//    private String endTime;
-}

+ 3 - 0
src/main/java/com/dskj/znzn/transData/web/dataTransfer/outData/HistoryDataSummaryOutData.java

@@ -29,4 +29,7 @@ public class HistoryDataSummaryOutData {
     @ApiModelProperty("最近数据采集的时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date latestDataTime;
+    
+    @ApiModelProperty("类型名称")
+    private String typeName;
 }

+ 22 - 0
src/main/java/com/dskj/znzn/transData/web/dataTransfer/outData/PltAutoAnalysisTimeOutData.java

@@ -0,0 +1,22 @@
+package com.dskj.znzn.transData.web.dataTransfer.outData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class PltAutoAnalysisTimeOutData {
+
+//    @ApiModelProperty("风场编号")
+//    private String windFarmCode;
+//
+//    @ApiModelProperty("类型 eg:minute,second")
+//    private String type;
+
+    @ApiModelProperty("开始时间")
+    private String startTime;
+
+    @ApiModelProperty("结束时间")
+    private String endTime;
+}

+ 4 - 0
src/main/java/com/dskj/znzn/transData/web/dataTransfer/service/IWindFarmDayCountService.java

@@ -6,6 +6,8 @@ import com.dskj.znzn.transData.web.dataTransfer.inData.GetTimeRangeInData;
 import com.dskj.znzn.transData.web.dataTransfer.inData.HistoryDataSummaryInData;
 import com.dskj.znzn.transData.web.dataTransfer.outData.GetTimeRangeOutData;
 import com.dskj.znzn.transData.web.dataTransfer.outData.HistoryDataSummaryOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.PltAutoAnalysisTimeOutData;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -24,4 +26,6 @@ public interface IWindFarmDayCountService extends IService<WindFarmDayCount> {
     List<WindFarmDayCount> getTodayData();
 
     List<HistoryDataSummaryOutData> getHistoryDataSummary(HistoryDataSummaryInData inData);
+
+    PltAutoAnalysisTimeOutData pltAutoAnalysisTime(@Param("windFarmCode") String windFarmCode);
 }

+ 23 - 2
src/main/java/com/dskj/znzn/transData/web/dataTransfer/service/impl/WindFarmDayCountServiceImpl.java

@@ -3,12 +3,15 @@ package com.dskj.znzn.transData.web.dataTransfer.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dskj.znzn.transData.common.exception.BusinessException;
+import com.dskj.znzn.transData.web.common.service.ISysConfService;
 import com.dskj.znzn.transData.web.dataTransfer.entity.WindFarmDayCount;
 import com.dskj.znzn.transData.web.dataTransfer.inData.GetTimeRangeInData;
 import com.dskj.znzn.transData.web.dataTransfer.inData.HistoryDataSummaryInData;
 import com.dskj.znzn.transData.web.dataTransfer.mapper.WindFarmDayCountMapper;
 import com.dskj.znzn.transData.web.dataTransfer.outData.GetTimeRangeOutData;
 import com.dskj.znzn.transData.web.dataTransfer.outData.HistoryDataSummaryOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.PltAutoAnalysisTimeOutData;
 import com.dskj.znzn.transData.web.dataTransfer.service.IWindFarmDayCountService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +34,7 @@ import java.util.List;
 public class WindFarmDayCountServiceImpl extends ServiceImpl<WindFarmDayCountMapper, WindFarmDayCount> implements IWindFarmDayCountService {
 
     private final WindFarmDayCountMapper windFarmDayCountMapper;
+    private final ISysConfService sysConfService;
 
     private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 
@@ -45,11 +49,28 @@ public class WindFarmDayCountServiceImpl extends ServiceImpl<WindFarmDayCountMap
         queryWrapper.eq(WindFarmDayCount::getAddDate, dateFormat.format(new Date()));
         queryWrapper.eq(WindFarmDayCount::getDelStatus, 0);
         queryWrapper.eq(WindFarmDayCount::getSyncStatus, 0);
-        return list(queryWrapper);
+        List<WindFarmDayCount> datas = list(queryWrapper);
+        for (WindFarmDayCount data : datas) {
+            data.setTypeName(sysConfService.getValueByType("trans_type", data.getType()));
+        }
+        return datas;
     }
 
     @Override
     public List<HistoryDataSummaryOutData> getHistoryDataSummary(HistoryDataSummaryInData inData) {
-        return windFarmDayCountMapper.getHistoryDataSummary(inData);
+        List<HistoryDataSummaryOutData> datas = windFarmDayCountMapper.getHistoryDataSummary(inData);
+        for (HistoryDataSummaryOutData data : datas) {
+            data.setTypeName(sysConfService.getValueByType("trans_type", data.getType()));
+        }
+        return datas;
+    }
+
+    @Override
+    public PltAutoAnalysisTimeOutData pltAutoAnalysisTime(String windFarmCode) {
+        PltAutoAnalysisTimeOutData data = windFarmDayCountMapper.platformAutoAnalysisTime(windFarmCode);
+        if (null == data) {
+            throw new BusinessException("当前风场无数据");
+        }
+        return data;
     }
 }

+ 12 - 9
src/main/resources/mapper/WindFarmDayCountMapper.xml

@@ -16,17 +16,20 @@
         and t.del_status = 0
     </select>
 
-    <select id="asyncPlatformTime"
-            resultType="com.dskj.znzn.transData.web.dataTransfer.outData.AsyncPlatformTimeOutData">
+    <select id="platformAutoAnalysisTime"
+            resultType="com.dskj.znzn.transData.web.dataTransfer.outData.PltAutoAnalysisTimeOutData">
 
-        select t.wind_farm_code,
-               t.type,
-               min(add_date) as 'startTime'
+        select
+        min(add_date) as 'startTime',
+        max(add_date) as 'endTime'
         from wind_farm_day_count t
-        where t.type in ('minute', 'second')
-          and t.sync_status = 1
-          and t.del_status = 0
-        group by t.wind_farm_code, t.type
+        where
+        t.type in ('minute', 'second')
+        <if test="windFarmCode != null and windFarmCode != ''">
+            AND t.wind_farm_code = #{windFarmCode}
+        </if>
+        and t.sync_status = 1
+        and t.del_status = 0
     </select>
 
     <select id="getHistoryDataSummary"