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