潘志宝
2025-01-14 cb5066ddca3d7c8d0959b20715f0f46948e6753e
提交 | 用户 | 时间
a6de49 1 package com.iailab.module.data.point.collection.handler;
H 2
3 import com.iailab.module.data.point.collection.utils.GenInfluxPointValueUtils;
4 import com.iailab.module.data.point.dto.DaPointDTO;
5 import com.iailab.module.data.point.service.DaPointService;
6 import com.iailab.module.data.influxdb.pojo.InfluxPointValuePOJO;
7 import lombok.extern.slf4j.Slf4j;
8 import javax.annotation.Resource;
9 import org.springframework.stereotype.Component;
10 import org.springframework.util.CollectionUtils;
11
12 import java.util.*;
13
14 /**
15  * 常量点处理
16  *
17  * @author PanZhibao
18  * @Description
19  * @createTime 2023年05月03日 22:28:00
20  */
21 @Slf4j
22 @Component
23 public class ConstantHandle {
24
25     @Resource
26     private DaPointService daPointService;
27
2fcc1a 28     public List<InfluxPointValuePOJO> handle(Date collectTime, List<DaPointDTO> dtos, Map<String, Object> dataMap,List<String> listGood,List<String> listBad) {
a6de49 29         log.info("常量点处理开始");
H 30         List<InfluxPointValuePOJO> result = new ArrayList<>();
31         if (CollectionUtils.isEmpty(dtos)) {
32             return result;
33         }
34         dtos.forEach(dto -> {
35             InfluxPointValuePOJO pojo = GenInfluxPointValueUtils.getByPoint(dto);
36             pojo.setTimestamp(collectTime.toInstant());
37             dataMap.put(dto.getPointNo(), dto.getDefaultValue());
38             result.add(pojo);
2fcc1a 39             listGood.add(dto.getPointNo());
a6de49 40         });
H 41         log.info("常量点处理结束");
42         return result;
43     }
44
45     public Map<String, Object> getCurrent(List<String> pointNos) {
46         Map<String, Object> data = new HashMap<>();
47
48         List<DaPointDTO> pointConstantList = daPointService.getConstantPoint(pointNos);
49         if (!CollectionUtils.isEmpty(pointConstantList)) {
50             pointConstantList.forEach(item -> {
51                 data.put(item.getPointNo(), item.getDefaultValue());
52             });
53         }
54         return data;
55     }
56
57 }