cjl
2023-10-16 0eaefd62a7caa039a4f16e27be279eac5e84da5c
screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
@@ -1,29 +1,30 @@
/*
package com.moral.api.kafka.consumer;
import com.alibaba.fastjson.JSON;
import com.moral.api.service.*;
import com.moral.constant.KafkaConstants;
import com.moral.constant.RedisConstants;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.CommitFailedException;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.support.Acknowledgment;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.moral.constant.KafkaConstants;
import com.moral.constant.RedisConstants;
import java.util.*;
@Component
@Slf4j
public class DeviceConsumer {
    @Value("${result.device.list}")
    private String deviceList;
    @Autowired
    private HistoryMinutelyService historyMinutelyService;
@@ -98,6 +99,25 @@
            //数据过滤
//            data.remove("time");
            data.remove("entryTime");
            Map<String, Object> deviceByMac = deviceService.getDeviceByMac(mac.toString());
            HashMap<String, Object> map = (HashMap<String, Object>) deviceByMac.get("organization");
            String id = map.get("id").toString();
            if (id.equals("71")){
                log.warn(id, msg);
                ack.acknowledge();
                return;
            }
//            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            String format = dateFormat.format(new Date().getTime());
//            //获取年份
//            String substring = format.substring(0, 4);
//
//            String substring1 = time.toString().substring(0, 4);
//
//            String replace = time.toString().replace(substring1, substring);
//
//            data.put("DataTime",replace);
            Iterator<Map.Entry<String, Object>> iterator = data.entrySet().iterator();
            Map<String, Object> newMap = new HashMap<>();
            Map.Entry<String, Object> next;
@@ -125,6 +145,7 @@
    public void listenSecond(ConsumerRecord<String, String> record, Acknowledgment ack) {
        String msg = record.value();
        try {
            ack.acknowledge();
            Map<String, Object> data = JSON.parseObject(msg, Map.class);
            Object mac = data.get("mac");
            Object time = data.get("DataTime");
@@ -135,18 +156,22 @@
            //数据过滤
            data.remove("time");
            data.remove("entryTime");
            //数据校准
            data = deviceService.adjustDeviceData(data,"0");
            //存入redis
            data.put("DataTime", time);
            redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data);
            //判断并修改设备状态
            data.put("mac", mac);
            deviceService.judgeDeviceState(data);
            ack.acknowledge();
            List<String> listDictDevice = Arrays.asList(deviceList.split(","));
            if(listDictDevice.contains(mac.toString())){
                //判断并修改设备状态
                data.put("mac", mac);
                deviceService.judgeDeviceState(data);
            }
            //数据校准
            //data = deviceService.adjustDeviceData(data,"0");
            //存入redis
            //redisTemplate.opsForHash().put(RedisConstants.DATA_SECOND, mac, data);
        }catch (CommitFailedException e){
            log.error("param{}" + msg);
        } catch (Exception e) {
            log.error("param{}" + msg);
            ack.acknowledge();
        }
    }
@@ -200,3 +225,4 @@
        }
    }
}
*/