Browse Source

增加风机数据定时清理。风机数据实体日期localdatetime改为date类型

xusl 8 months ago
parent
commit
51cf8e906d

+ 2 - 1
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindTurbineStatusData.java

@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 
 /**
 /**
  * idp_wind_turbine_status_data
  * idp_wind_turbine_status_data
@@ -52,7 +53,7 @@ public class WindTurbineStatusData extends NotLogicBaseEntity<WindTurbineStatusD
      * 时间
      * 时间
      */
      */
     @ApiModelProperty(value = "时间")
     @ApiModelProperty(value = "时间")
-    private LocalDateTime time;
+    private Date time;
 
 
 
 
     /**
     /**

+ 40 - 0
ipp-idp/src/main/java/com/jiayue/ipp/idp/job/DeleteFjDataJob.java

@@ -0,0 +1,40 @@
+package com.jiayue.ipp.idp.job;
+
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jiayue.ipp.common.data.entity.WindTurbineStatusData;
+import com.jiayue.ipp.idp.service.WindTurbineStatusDataService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * 清理风机数据执行任务
+ *
+ * @author xsl
+ * @version 3.0
+ */
+@Slf4j
+@Service @EnableScheduling public class DeleteFjDataJob {
+  @Autowired
+  WindTurbineStatusDataService windTurbineStatusDataService;
+
+  @Scheduled(cron = "0 11 3 * * ?") public void executeFjDataDelete() {
+    log.info("-----------------开始执行清理风机数据任务----------------------");
+    // 日志保留60天
+    int keepDays = -31;
+    // 删除到截止日期
+    DateTime dateTime = DateUtil.offsetDay(new Date(), keepDays);
+    String deleteEndTime = dateTime.toString(DatePattern.NORM_DATE_FORMAT);
+    LambdaQueryWrapper<WindTurbineStatusData> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+    lambdaQueryWrapper.lt(WindTurbineStatusData::getTime, DateUtil.parse(deleteEndTime));
+    windTurbineStatusDataService.remove(lambdaQueryWrapper);
+    log.info("-----------------执行清理风机数据任务完成----------------------");
+  }
+}

+ 2 - 2
ipp-idp/src/main/java/com/jiayue/ipp/idp/service/impl/an/ParsingFjInfoServiceImpl.java

@@ -26,6 +26,7 @@ import java.io.File;
 import java.time.Instant;
 import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.ZoneId;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -88,8 +89,7 @@ public class ParsingFjInfoServiceImpl extends ServiceImpl<ParsingFjInfoMapper, P
                                 windTurbineStatusData.setEquipmentId(filterWindTurbineInfos.get(0).getEquipmentNo());
                                 windTurbineStatusData.setEquipmentId(filterWindTurbineInfos.get(0).getEquipmentNo());
                                 Long time = parsingTime(parsingFjInfo.getTime(), fileContent);
                                 Long time = parsingTime(parsingFjInfo.getTime(), fileContent);
                                 if (time != 0l) {
                                 if (time != 0l) {
-                                    LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault());
-                                    windTurbineStatusData.setTime(localDateTime);
+                                    windTurbineStatusData.setTime(new Date(time));
 
 
                                     windTurbineStatusData.setActivePower(parsingValue(parsingFjInfo.getActivePower(), fileContent));
                                     windTurbineStatusData.setActivePower(parsingValue(parsingFjInfo.getActivePower(), fileContent));
                                     windTurbineStatusData.setCumulativeGeneratedEnergy(parsingValue(parsingFjInfo.getCumulativeGeneratedEnergy(), fileContent));
                                     windTurbineStatusData.setCumulativeGeneratedEnergy(parsingValue(parsingFjInfo.getCumulativeGeneratedEnergy(), fileContent));