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 = {"信义污水厂实际碳源加药量"};
    public static final String[] queryTags = {"信义污水厂升级出水TN"};

    /**
     * 定时从工业库获取数据
     *
     * 2024年4月17日17:44:15 调整逻辑:考虑到因断电等情况导致服务断电,所以不再同步最近一小时,而是同步从上次成功的最后一条数据开始。
     */
    public static void main(String[] args) {
        log.info("进入了定时同步工业库数据的任务");

        //耗时工具
//        watch.start("parseJob");


        // 给定时间段的起始时间和结束时间

        LocalDateTime startTime = LocalDateTime.parse("2024-08-20T11:00:00");
        LocalDateTime endTime = LocalDateTime.parse("2024-08-20T14:20: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<String, Object> 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);
    }
}