From 5e67c5cac614907b32c059c1c059007ac1062ff1 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期日, 12 十一月 2023 23:27:33 +0800
Subject: [PATCH] 实时数据

---
 ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsLocaleDocumentServiceImpl.java    |   35 +++
 ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsLocaleDocumentMapper.java               |   17 +
 ycl-platform/src/main/java/com/ycl/controller/smoke/OdsStatisticsController.java        |   45 ++++
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleDocument.java                  |   91 +++++++++
 ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java                               |    3 
 ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsLocaleDocument.java                     |   92 +++++++++
 ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java                           |  128 ++++++++----
 ycl-smoke/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml                   |   27 ++
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleDocumentServiceImpl.java |   39 +++
 ycl-platform/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml                |   27 ++
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleDocumentMapper.java            |   16 +
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleDocumentService.java         |   19 +
 ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsLocaleDocumentService.java            |   18 +
 13 files changed, 512 insertions(+), 45 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/smoke/OdsStatisticsController.java b/ycl-platform/src/main/java/com/ycl/controller/smoke/OdsStatisticsController.java
index d7b0966..c4cb210 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/smoke/OdsStatisticsController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/smoke/OdsStatisticsController.java
@@ -1,6 +1,8 @@
 package com.ycl.controller.smoke;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ycl.annotation.LogSave;
 import com.ycl.api.CommonPage;
@@ -8,14 +10,17 @@
 import com.ycl.controller.BaseController;
 import com.ycl.entity.smoke.OdsCurAlarm;
 import com.ycl.entity.smoke.OdsCustomer;
+import com.ycl.entity.smoke.OdsLocaleDocument;
 import com.ycl.entity.smoke.OdsStatistics;
 import com.ycl.service.smoke.IOdsCurAlarmService;
+import com.ycl.service.smoke.IOdsLocaleDocumentService;
 import com.ycl.service.smoke.IOdsStatisticsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.lang.reflect.Field;
 import java.util.List;
 
 @RestController
@@ -26,6 +31,8 @@
     IOdsStatisticsService odsStatisticsService;
     IOdsCurAlarmService curAlarmService;
 
+    IOdsLocaleDocumentService documentService;
+
     @Autowired
     public void setOdsStatisticsService(IOdsStatisticsService odsStatisticsService) {
         this.odsStatisticsService = odsStatisticsService;
@@ -34,6 +41,11 @@
     @Autowired
     public void setCurAlarmService(IOdsCurAlarmService curAlarmService) {
         this.curAlarmService = curAlarmService;
+    }
+
+    @Autowired
+    public void setDocumentService(IOdsLocaleDocumentService documentService) {
+        this.documentService = documentService;
     }
 
     @ApiOperation("妫�娴嬩华鎬讳綋鎯呭喌鎶ヨ〃")
@@ -60,7 +72,38 @@
     @ResponseBody
     @LogSave(operationType = "娌圭儫妯″潡", contain = "鐩戞祴鎶ヨ缁熻&杩愮淮鎯呭喌鎶ヨ〃")
     public CommonResult<List<OdsCurAlarm>> findCurAlarm() {
-        List<OdsCurAlarm> list = curAlarmService.list();
+        LambdaQueryWrapper<OdsCurAlarm> queryWrapper = new LambdaQueryWrapper<OdsCurAlarm>().orderByDesc(OdsCurAlarm::getId);
+        List<OdsCurAlarm> list = curAlarmService.list(queryWrapper);
         return CommonResult.success(list);
     }
+
+    @ApiOperation("妫�娴嬩华鎬讳綋鎯呭喌鎶ヨ〃---妗f")
+    @RequestMapping(value = "/statistics/detectorDailyStats/document", method = RequestMethod.GET)
+    @ResponseBody
+    @LogSave(operationType = "娌圭儫妯″潡", contain = "鐩戞祴鎶ヨ缁熻&杩愮淮鎯呭喌鎶ヨ〃")
+    public CommonResult<String> getDetectorDailyStatsDocument(@RequestParam(value = "field", required = false) String field,
+                                                              @RequestParam(value = "mn", required = false) String mn) {
+        OdsLocaleDocument odsLocaleDocument = documentService.getByLocaleId(mn);
+        String value = getFieldValueByFieldName(field, odsLocaleDocument);
+        return CommonResult.success(value);
+    }
+
+    /**
+     * 鏍规嵁灞炴�у悕鑾峰彇灞炴�у��
+     *
+     * @param fieldName
+     * @param object
+     * @return
+     */
+    private String getFieldValueByFieldName(String fieldName, Object object) {
+        try {
+            Field field = object.getClass().getDeclaredField(fieldName);
+            //璁剧疆瀵硅薄鐨勮闂潈闄愶紝淇濊瘉瀵筽rivate鐨勫睘鎬х殑璁块棶
+            field.setAccessible(true);
+            return  (String)field.get(object);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
 }
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleDocument.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleDocument.java
new file mode 100644
index 0000000..a942cd2
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleDocument.java
@@ -0,0 +1,91 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_locale_document")
+@Builder
+public class OdsLocaleDocument implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Id
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private Integer id;
+
+
+    @TableField("mn")
+    private String mn;
+
+    @TableField("localeId")
+    private String localeId;
+
+    /**
+     * 鏁版嵁妫�娴嬪櫒姣忔棩鎬诲拰澶╂暟
+     */
+    @TableField("detector_daily_sum_days")
+    private String detectorDailySumDays;
+
+    /**
+     * '椁愰ギ浼佷笟鍋ュ悍鎯呭喌灞曠ず'
+     */
+    @TableField("list_locale")
+    private String listLocale;
+
+    /**
+     * '姣忔棩鏌ヨ鏁版嵁妫�娴嬪櫒'
+     */
+    @TableField("detector_daily")
+    private String detectorDaily;
+
+    /**
+     * '鍒嗛挓閲囬泦鏁版嵁'
+     */
+    @TableField("intime_data")
+    private String intimeData;
+
+
+    /**
+     * '10min娴撳害鏇茬嚎'
+     */
+    @TableField("ten_min_data")
+    private String tenMinData;
+
+    /**
+     * '灏忔椂鎶樼畻娴撳害
+     */
+    @TableField("ten_hour_data")
+    private String tenHourData;
+
+    /**
+     * '璁惧淇℃伅'
+     */
+    @TableField("devices")
+    private String devices;
+
+    /**
+     * 鐩戞祴鐐硅繍缁存儏鍐�
+     */
+    @TableField("maintenance")
+    private String maintenance;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleDocumentMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleDocumentMapper.java
new file mode 100644
index 0000000..99b4d06
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleDocumentMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsLocaleDocument;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsLocaleDocumentMapper extends BaseMapper<OdsLocaleDocument> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleDocumentService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleDocumentService.java
new file mode 100644
index 0000000..763d281
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleDocumentService.java
@@ -0,0 +1,19 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsLocaleDocument;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsLocaleDocumentService extends IService<OdsLocaleDocument> {
+
+    void saveByLocaleId(OdsLocaleDocument document);
+
+    OdsLocaleDocument getByLocaleId(String mn);
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleDocumentServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleDocumentServiceImpl.java
new file mode 100644
index 0000000..5fb9127
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleDocumentServiceImpl.java
@@ -0,0 +1,39 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsLocaleDocument;
+import com.ycl.mapper.smoke.OdsLocaleDocumentMapper;
+import com.ycl.service.smoke.IOdsLocaleDocumentService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsLocaleDocumentServiceImpl extends ServiceImpl<OdsLocaleDocumentMapper, OdsLocaleDocument> implements IOdsLocaleDocumentService {
+
+    @Override
+    public void saveByLocaleId(OdsLocaleDocument document) {
+        LambdaQueryWrapper<OdsLocaleDocument> queryWrapper = new LambdaQueryWrapper<OdsLocaleDocument>().eq(OdsLocaleDocument::getLocaleId, document.getLocaleId());
+        OdsLocaleDocument localeDocument = this.getOne(queryWrapper);
+        if (localeDocument == null) {
+            this.save(document);
+        } else {
+            document.setId(localeDocument.getId());
+            this.updateById(document);
+        }
+    }
+
+    @Override
+    public OdsLocaleDocument getByLocaleId(String mn) {
+        LambdaQueryWrapper<OdsLocaleDocument> queryWrapper = new LambdaQueryWrapper<OdsLocaleDocument>()
+                .eq(OdsLocaleDocument::getMn, mn);
+        return this.getOne(queryWrapper);
+    }
+}
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml
new file mode 100644
index 0000000..7d6f779
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml
@@ -0,0 +1,27 @@
+<?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.ycl.mapper.smoke.OdsLocaleDocumentMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsLocaleDocument">
+        <id column="id" property="id"/>
+        <result column="mn" property="mn"/>
+        <result column="localeId" property="localeId"/>
+        <result column="detector_daily_sum_days" property="detectorDailySumDays"/>
+        <result column="list_locale" property="listLocale"/>
+        <result column="detector_daily" property="detectorDaily"/>
+        <result column="intime_data" property="intimeData"/>
+        <result column="ten_min_data" property="tenMinData"/>
+        <result column="ten_hour_data" property="tenHourData"/>
+        <result column="devices" property="devices"/>
+        <result column="maintenance" property="maintenance"/>
+
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id
+        ,mn,localeId,detector_daily_sum_days,list_locale,detector_daily,intime_data,ten_min_data,ten_hour_data,devices,maintenance
+    </sql>
+
+</mapper>
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsLocaleDocument.java b/ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsLocaleDocument.java
new file mode 100644
index 0000000..4da7bb6
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsLocaleDocument.java
@@ -0,0 +1,92 @@
+package com.ycl.smoke.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_locale_document")
+@Builder
+public class OdsLocaleDocument implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Id
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private Integer id;
+
+
+    @TableField("mn")
+    private String mn;
+
+    @TableField("localeId")
+    private String localeId;
+
+    /**
+     * 鏁版嵁妫�娴嬪櫒姣忔棩鎬诲拰澶╂暟
+     */
+    @TableField("detector_daily_sum_days")
+    private String detectorDailySumDays;
+
+    /**
+     * '椁愰ギ浼佷笟鍋ュ悍鎯呭喌灞曠ず'
+     */
+    @TableField("list_locale")
+    private String listLocale;
+
+    /**
+     * '姣忔棩鏌ヨ鏁版嵁妫�娴嬪櫒'
+     */
+    @TableField("detector_daily")
+    private String detectorDaily;
+
+    /**
+     * '鍒嗛挓閲囬泦鏁版嵁'
+     */
+    @TableField("intime_data")
+    private String intimeData;
+
+
+    /**
+     * '10min娴撳害鏇茬嚎'
+     */
+    @TableField("ten_min_data")
+    private String tenMinData;
+
+    /**
+     * '灏忔椂鎶樼畻娴撳害
+     */
+    @TableField("ten_hour_data")
+    private String tenHourData;
+
+    /**
+     * '璁惧淇℃伅'
+     */
+    @TableField("devices")
+    private String devices;
+
+    /**
+     * 鐩戞祴鐐硅繍缁存儏鍐�
+     */
+    @TableField("maintenance")
+    private String maintenance;
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsLocaleDocumentMapper.java b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsLocaleDocumentMapper.java
new file mode 100644
index 0000000..66fcd6f
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsLocaleDocumentMapper.java
@@ -0,0 +1,17 @@
+package com.ycl.smoke.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.smoke.entity.OdsLocale;
+import com.ycl.smoke.entity.OdsLocaleDocument;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsLocaleDocumentMapper extends BaseMapper<OdsLocaleDocument> {
+
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsLocaleDocumentService.java b/ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsLocaleDocumentService.java
new file mode 100644
index 0000000..50c921f
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsLocaleDocumentService.java
@@ -0,0 +1,18 @@
+package com.ycl.smoke.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.smoke.entity.OdsLocale;
+import com.ycl.smoke.entity.OdsLocaleDocument;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsLocaleDocumentService extends IService<OdsLocaleDocument> {
+
+    void saveByLocaleId(OdsLocaleDocument document);
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsLocaleDocumentServiceImpl.java b/ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsLocaleDocumentServiceImpl.java
new file mode 100644
index 0000000..e8350eb
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsLocaleDocumentServiceImpl.java
@@ -0,0 +1,35 @@
+package com.ycl.smoke.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.smoke.entity.OdsLocale;
+import com.ycl.smoke.entity.OdsLocaleDocument;
+import com.ycl.smoke.mapper.OdsLocaleDocumentMapper;
+import com.ycl.smoke.mapper.OdsLocaleMapper;
+import com.ycl.smoke.service.IOdsLocaleDocumentService;
+import com.ycl.smoke.service.IOdsLocaleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsLocaleDocumentServiceImpl extends ServiceImpl<OdsLocaleDocumentMapper, OdsLocaleDocument> implements IOdsLocaleDocumentService {
+
+    @Override
+    public void saveByLocaleId(OdsLocaleDocument document) {
+        LambdaQueryWrapper<OdsLocaleDocument> queryWrapper = new LambdaQueryWrapper<OdsLocaleDocument>().eq(OdsLocaleDocument::getLocaleId, document.getLocaleId());
+        OdsLocaleDocument localeDocument = this.getOne(queryWrapper);
+        if (localeDocument == null) {
+            this.save(document);
+        } else {
+            document.setId(localeDocument.getId());
+            this.updateById(document);
+        }
+    }
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
index 68846db..0a3bd26 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
@@ -1,6 +1,7 @@
 package com.ycl.smoke.task;
 
 import com.alibaba.fastjson.JSON;
+import com.aliyuncs.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -21,9 +22,7 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Component
 public class ScheduledTask {
@@ -49,6 +48,7 @@
     IOdsCurAlarmService curAlarmService;
 
     IOdsStatisticsService odsStatisticsService;
+    IOdsLocaleDocumentService localeDocumentService;
 
     @Resource
     private RedisService redisService;
@@ -108,6 +108,11 @@
         this.odsStatisticsService = odsStatisticsService;
     }
 
+    @Autowired
+    public void setLocaleDocumentService(IOdsLocaleDocumentService localeDocumentService) {
+        this.localeDocumentService = localeDocumentService;
+    }
+
     @Scheduled(cron = "0 0 1 * * ?")   // 姣忓ぉ闆剁偣鎵ц
     // @Scheduled(cron = "0/1 * * * * ?")   // 姣忕鎵ц
     public void alarmMsgTask() {
@@ -129,7 +134,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 alarmMsgTask();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -164,7 +168,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -195,7 +198,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -205,13 +207,13 @@
         }
     }
 
-    @Scheduled(cron = "0 */30 * * * ?")   // 姣�5鍒嗛挓鎵ц
+    @Scheduled(cron = "0 */30 * * * ?")   // 姣�30鍒嗛挓鎵ц
     public void loginTask() {
         login();
     }
 
     //    @Scheduled(cron = "0 0 1 * * ?")   // 姣忓ぉ闆剁偣鎵ц
-    @Scheduled(cron = "0 */1 * * * ?")   // 姣�5鍒嗛挓鎵ц
+    @Scheduled(cron = "0 */5 * * * ?")   // 姣�5鍒嗛挓鎵ц
     public void listDataInTime() {
         DataIntimeParamDto paramDto = DataIntimeParamDto.builder().build();
         // {"StartAt":0,"Size":20,"Typ":2,"SortBy":"status","SortMode":"asc","Param":{"StatusOfRecord":"NORMAL"}}
@@ -263,7 +265,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -295,7 +296,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -330,7 +330,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -362,7 +361,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -381,21 +379,9 @@
         try {
             CurAlarmParamDto paramDto = CurAlarmParamDto.builder().StartAt(0).Size(20).SortBy("status").SortMode("asc").Typ(2).build();
             CurAlarmParamChildDto childDto = CurAlarmParamChildDto.builder().build();
-
-            Calendar calendar = Calendar.getInstance();
-            calendar.set(Calendar.SECOND, 0);
-            calendar.set(Calendar.MINUTE, 0);
-            calendar.set(Calendar.HOUR_OF_DAY, 0);
-            calendar.set(Calendar.MILLISECOND, 0);
-            calendar.add(Calendar.DAY_OF_MONTH, -1);
-            long todayZero = calendar.getTimeInMillis();
-
-            calendar.add(Calendar.DAY_OF_MONTH, 1);
-            calendar.add(Calendar.MONTH, -1);
-            long lastMonthZero = calendar.getTimeInMillis();
-
-            childDto.setStartAt(lastMonthZero / 1000);
-            childDto.setEndAt(todayZero / 1000);
+            Long[] dates = getTodayAndLastMonth();
+            childDto.setStartAt(dates[0]);
+            childDto.setEndAt(dates[1]);
             childDto.setLocaleWithDevice(true);
             paramDto.setParam(childDto);
 
@@ -414,7 +400,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 listCurAlarm();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -450,7 +435,6 @@
 
                 odsStatisticsService.update(update);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 listDataDetectorDailyStats();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -470,20 +454,9 @@
             CurAlarmParam2Dto paramDto = CurAlarmParam2Dto.builder().StartAt(0).Size(20).build();
             CurAlarmParamChild2Dto childDto = CurAlarmParamChild2Dto.builder().build();
 
-            Calendar calendar = Calendar.getInstance();
-            calendar.set(Calendar.SECOND, 0);
-            calendar.set(Calendar.MINUTE, 0);
-            calendar.set(Calendar.HOUR_OF_DAY, 0);
-            calendar.set(Calendar.MILLISECOND, 0);
-            calendar.add(Calendar.DAY_OF_MONTH, -1);
-            long todayZero = calendar.getTimeInMillis();
-
-            calendar.add(Calendar.DAY_OF_MONTH, 1);
-            calendar.add(Calendar.MONTH, -1);
-            long lastMonthZero = calendar.getTimeInMillis();
-
-            childDto.setStartAt(lastMonthZero / 1000);
-            childDto.setEndAt(todayZero / 1000);
+            Long[] dates = getTodayAndLastMonth();
+            childDto.setStartAt(dates[0]);
+            childDto.setEndAt(dates[1]);
             paramDto.setParam(childDto);
             // {"StartAt":0,"Size":20,"Param":{"startAt":1697040000,"endAt":1699631999}}:
             String json = smokeDetectionService.getListDetectorDaily(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString());
@@ -506,6 +479,75 @@
         }
     }
 
+    /**
+     * 瀹炴椂妗f
+     */
+    @Scheduled(cron = "0 */10 * * * ?")   // 姣�10鍒嗛挓鎵ц
+//    @Scheduled(cron = "0/1 * * * * ?")   // 姣忕鎵ц
+    public void listLocaleDocument() {
+        String auth = redisService.get(RedisKey.SMOKE_TOKEN).toString();
+        String host = "http://116.62.234.187:8120";
+        try {
+            List<OdsLocale> odsLocales = localeService.list();
+            for (OdsLocale locale : odsLocales) {
+                if (!StringUtils.isEmpty(locale.getMnLast())) {
+                    Long[] dates = getTodayAndLastMonth();
+                    String detectorDailySumDayJson = "{\"LocaleId\":\"" + locale.getId() + "\",\"AcquitAtBegin\":" + dates[1] + ",\"AcquitAtEnd\":" + (dates[1] + 86400) + "}";
+                    String detectorDailySumDays = HttpUtil.HttpPostWithJson(host + "/admin/listDataDetectorDailySumDaysByLocaleId", detectorDailySumDayJson, auth);
+
+                    String listLocaleJson = "{\"Param\":{\"id\":\"" + locale.getId() + "\"}}";
+                    String listLocale = HttpUtil.HttpPostWithJson(host + "/admin/listLocale", listLocaleJson, auth);
+
+                    String detectorDailyJson = "{\"LocaleId\":\"" + locale.getId() + "\",\"AcquitAtBegin\":" + dates[1] + ",\"AcquitAtEnd\":" + (dates[1] + 86400) + "}";
+                    String detectorDaily = HttpUtil.HttpPostWithJson(host + "/admin/queryDataDetectorDaily", detectorDailyJson, auth);
+
+                    String listIntimeDataJson = "{\"StartAt\":0,\"Size\":20,\"mn\":\"" + locale.getMnLast() + "\",\"typ\":2,\"at\":0}";
+                    String listIntimeData = HttpUtil.HttpPostWithJson(host + "/admin/listIntimeData", listIntimeDataJson, auth);
+
+                    String listTenMinDataJson = "{\"mn\":\"" + locale.getMnLast() + "\",\"at\":" + dates[1] + "}";
+                    String listTenMinData = HttpUtil.HttpPostWithJson(host + "/admin/listTenMinData", listTenMinDataJson, auth);
+
+                    Map<String, Object> tenHourMap = new HashMap<>();
+                    tenHourMap.put("at", dates[1]);
+                    tenHourMap.put("mn", locale.getMnLast());
+                    String listTenHourData = HttpUtil.doGet(host + "/admin/listTenHourData", tenHourMap, auth);
+
+                    String devicesJson = "{\"LocaleId\":\"" + locale.getId() + "\",\"AcquitAtBegin\":" + dates[1] + ",\"AcquitAtEnd\":" + (dates[1] + 86400) + "}";
+                    String devices = HttpUtil.HttpPostWithJson(host + "/admin/getDevicesOfLocale", devicesJson, auth);
+
+                    String maintenanceJson = "{\"StartAt\":0,\"Size\":20,\"FormType\":1,\"Param\":{\"maintenance.locale_id\":{\"S\":2,\"V\":\"cg1uk9j1lf29c3qf3gvg\"}}}";
+                    String maintenance = HttpUtil.HttpPostWithJson(host + "/admin/listMaintenance", maintenanceJson, auth);
+
+                    OdsLocaleDocument document = OdsLocaleDocument.builder().localeId(locale.getId()).mn(locale.getMnLast())
+                            .detectorDailySumDays(detectorDailySumDays).detectorDaily(detectorDaily).listLocale(listLocale)
+                            .intimeData(listIntimeData).tenMinData(listTenMinData).tenHourData(listTenHourData)
+                            .devices(devices).maintenance(maintenance).build();
+
+                    localeDocumentService.saveByLocaleId(document);
+                }
+            }
+        } catch (Exception ex) {
+            System.out.printf(ex.getMessage());
+        }
+    }
+
+    private Long[] getTodayAndLastMonth() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        calendar.add(Calendar.DAY_OF_MONTH, -1);
+        long todayZero = calendar.getTimeInMillis();
+
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        calendar.add(Calendar.MONTH, -1);
+        long lastMonthZero = calendar.getTimeInMillis();
+        Long[] dates = new Long[2];
+        dates[0] = lastMonthZero / 1000;
+        dates[1] = todayZero / 1000;
+        return dates;
+    }
 
     void login() {
         LoginParamDto loginParamDto = LoginParamDto.builder().username("閬傛槍鍩庣灞�").password("123456").noCode(true).build();
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java b/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java
index 940e13b..13ec1f6 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java
@@ -30,7 +30,7 @@
 
     private static final CloseableHttpClient httpclient = HttpClients.createDefault();
 
-    public static String doGet(String urlPath, Map<String, Object> params)
+    public static String doGet(String urlPath, Map<String, Object> params,String token)
             throws Exception {
         StringBuilder sb = new StringBuilder(urlPath);
         if (params != null && !params.isEmpty()) { // 璇存槑鏈夊弬鏁�
@@ -54,6 +54,7 @@
 
         URL url = new URL(sb.toString());
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        conn.setRequestProperty("auth", token);
         conn.setConnectTimeout(5000); // 5s瓒呮椂
         conn.setRequestMethod("GET");
 
diff --git a/ycl-smoke/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml b/ycl-smoke/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml
new file mode 100644
index 0000000..9930b08
--- /dev/null
+++ b/ycl-smoke/src/main/resources/mapper/smoke/OdsLocaleDocumentMapper.xml
@@ -0,0 +1,27 @@
+<?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.ycl.smoke.mapper.OdsLocaleDocumentMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.smoke.entity.OdsLocaleDocument">
+        <id column="id" property="id"/>
+        <result column="mn" property="mn"/>
+        <result column="localeId" property="localeId"/>
+        <result column="detector_daily_sum_days" property="detectorDailySumDays"/>
+        <result column="list_locale" property="listLocale"/>
+        <result column="detector_daily" property="detectorDaily"/>
+        <result column="intime_data" property="intimeData"/>
+        <result column="ten_min_data" property="tenMinData"/>
+        <result column="ten_hour_data" property="tenHourData"/>
+        <result column="devices" property="devices"/>
+        <result column="maintenance" property="maintenance"/>
+
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id
+        ,mn,localeId,detector_daily_sum_days,list_locale,detector_daily,intime_data,ten_min_data,ten_hour_data,devices,maintenance
+    </sql>
+
+</mapper>

--
Gitblit v1.8.0