package com.slibra.quartz.task; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.slibra.business.domain.TXinyiIndustry; import com.slibra.common.utils.DateUtils; import lombok.extern.slf4j.Slf4j; import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @Slf4j public class GetRealTimeData { public static final String[] queryTags = {"信义污水厂GFJ5_R_Value"}; // public static final String[] queryTags = {"信义污水厂升级生化池回流泵1运行"}; /** * 定时从工业库获取数据sasphosi * * 2024年4月17日17:44:15 调整逻辑:考虑到因断电等情况导致服务断电,所以不再同步最近一小时,而是同步从上次成功的最后一条数据开始。 */ public static void main(String[] args) { log.info("进入了定时同步工业库数据的任务"); //耗时工具 // watch.start("parseJob"); // 给定时间段的起始时间和结束时间 LocalDateTime startTime = LocalDateTime.parse("2024-12-02T09:00:00"); LocalDateTime endTime = LocalDateTime.parse("2024-12-02T09:10:00"); // 每个小时的时间格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String begin = startTime.format(formatter); String end = endTime.format(formatter); // 输出当前小时的起始时间和结束时间 System.out.println("起始时间:" + begin); System.out.println("结束时间:" + end); //每个小时查询一次数据 String url = "http://10.0.0.27:4568/api/v1/khquerydata"; HashMap req = new HashMap<>(); req.put("tagNames", queryTags); req.put("startTime", begin); req.put("endTime", end); req.put("recordNumbers", 100000); String body = HttpRequest.post(url).header("Authorization", "c2E6c2E=").header("clientName", "hongshan").body(JSON.toJSONString(req)).execute().body(); System.out.println("body = " + body); } }