//package com.usky.transfer.service.rocketmq;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.alibaba.nacos.shaded.com.google.gson.JsonArray;
//import com.usky.common.core.util.JsonUtils;
//import com.usky.transfer.domain.DeviceDataInfoVO;
//import com.usky.transfer.domain.DeviceDataWriteVO;
//import com.usky.transfer.service.QueryInfluxdbDataService;
//import com.usky.transfer.service.utils.TsdbUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Repository;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.time.LocalDateTime;
//import java.time.ZoneOffset;
//import java.util.*;
//
///**
// * 中间处理消息转发
// */
//@Service
//@Repository
//public class RocketMQSimpleContext {
//    @Resource
//    private MyProducer myProducer;
//    @Autowired
//    private QueryInfluxdbDataService queryInfluxdbDataService;
//
//    /**
//     * 设备数据推送到MQ队列
//     * @param
//     */
//    public void disposeMessageToDB(String message){
//        Map<String, String> tags = new HashMap<>();
//        Map<String, Object> fields = new HashMap<>();
//        Map map_data = JsonUtils.fromJson(message,Map.class);
//        String deviceId = map_data.get("deviceUUId").toString();
//        String productCode = map_data.get("productCode").toString().toLowerCase();
//        Long timestamp = Long.valueOf(map_data.get("timestamp").toString());
//
//        String tableName = deviceId;
//
//        Object tg = JSONObject.toJSONString(map_data.get("tags"));
//        JSONObject tag = JSON.parseObject(tg.toString());
//        for (String entry : tag.keySet()){
//            tags.put(entry.toLowerCase(),tag.get(entry).toString());
//        }
//
//        Object met = JSONObject.toJSONString(map_data.get("metrics"));
//        JSONObject metrics = JSON.parseObject(met.toString());
//        for(String entry : metrics.keySet()){
//            fields.put(entry.toLowerCase(),metrics.get(entry));
//        }
//
//        DeviceDataWriteVO deviceDataWriteVO = new DeviceDataWriteVO();
//        deviceDataWriteVO.setDeviceUUId(deviceId);
//        deviceDataWriteVO.setProductCode(productCode);
//        deviceDataWriteVO.setTimestamp(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
//        deviceDataWriteVO.setTags(tags);
//        deviceDataWriteVO.setMetrics(metrics);
//
//        queryInfluxdbDataService.sendDeviceDataToMQ(deviceDataWriteVO);
//    }
//}
//
//
//
//
//
//
//
//
//
//
//
//
//
//
