Jay
2025-06-12 73b24c8664c66857412c0065d4ee6ee487c61fd8
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java
@@ -12,8 +12,12 @@
import com.iailab.module.data.point.dto.DaMathPointDTO;
import com.iailab.module.data.point.dto.DaPointDTO;
import com.iailab.module.data.point.dto.DaPointWriteValueDTO;
import com.iailab.module.data.point.entity.DaPointBadHistoryEntity;
import com.iailab.module.data.point.service.DaMathPointService;
import com.iailab.module.data.point.service.DaPointBadHistoryService;
import com.iailab.module.data.point.service.DaPointService;
import com.iailab.module.data.point.vo.DaPointBadHistoryPageReqVO;
import com.iailab.module.data.point.vo.DaPointCountReqVO;
import com.iailab.module.data.point.vo.DaPointPageReqVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
@@ -23,7 +27,6 @@
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
 * @author PanZhibao
@@ -45,6 +48,9 @@
    @Autowired
    private DaMathPointService daMathPointService;
    @Autowired
    private DaPointBadHistoryService daPointBadHistoryService;
    @Override
    public ApiPointDTO getInfoById(String pointId) {
@@ -71,7 +77,8 @@
    }
    @Override
    public Object queryPointMaxValue(ApiPointValueQueryDTO queryDto) {
    public Map<String, Object> queryPointMaxValue(ApiPointValueQueryDTO queryDto) {
        Map<String, Object> result = new HashMap<>();
        if (StringUtils.isEmpty(queryDto.getPointNo())) {
            return null;
        }
@@ -82,7 +89,71 @@
        InfluxPointValuePOJO pojo = new InfluxPointValuePOJO();
        pojo.setPoint(queryDto.getPointNo());
        pojo.setType(daPointDTO.getDataType());
        return influxDBService.queryPointMaxValue(pojo, queryDto.getStart());
        Object val = influxDBService.queryPointMaxValue(pojo, queryDto.getStart());
        result.put(queryDto.getPointNo(), val);
        return result;
    }
    @Override
    public Map<String, Object> queryPointMaxTimeValue(ApiPointValueQueryDTO queryDto) {
        Map<String, Object> result = new HashMap<>();
        if (StringUtils.isEmpty(queryDto.getPointNo())) {
            return null;
        }
        if (queryDto.getStart() == null) {
            return null;
        }
        if (queryDto.getEnd() == null) {
            queryDto.setEnd(new Date());
        }
        DaPointDTO daPointDTO = daPointService.getByNo(queryDto.getPointNo());
        InfluxPointValuePOJO pojo = new InfluxPointValuePOJO();
        pojo.setPoint(queryDto.getPointNo());
        pojo.setType(daPointDTO.getDataType());
        result = influxDBService.queryPointMaxTimeValue(pojo, queryDto.getStart(), queryDto.getEnd());
        return result;
    }
    @Override
    public Map<String, Object> queryPointMaxValueRange(ApiPointValueQueryDTO queryDto) {
        Map<String, Object> result = new HashMap<>();
        if (StringUtils.isEmpty(queryDto.getPointNo())) {
            return null;
        }
        if (queryDto.getStart() == null) {
            return null;
        }
        if (queryDto.getEnd() == null) {
            queryDto.setEnd(new Date());
        }
        DaPointDTO daPointDTO = daPointService.getByNo(queryDto.getPointNo());
        InfluxPointValuePOJO pojo = new InfluxPointValuePOJO();
        pojo.setPoint(queryDto.getPointNo());
        pojo.setType(daPointDTO.getDataType());
        Object val = influxDBService.queryPointMaxValueRange(pojo, queryDto.getStart(), queryDto.getEnd());
        result.put(queryDto.getPointNo(), val);
        return result;
    }
    @Override
    public Map<String, Object> queryPointMinValueRange(ApiPointValueQueryDTO queryDto) {
        Map<String, Object> result = new HashMap<>();
        if (StringUtils.isEmpty(queryDto.getPointNo())) {
            return null;
        }
        if (queryDto.getStart() == null) {
            return null;
        }
        if (queryDto.getEnd() == null) {
            queryDto.setEnd(new Date());
        }
        DaPointDTO daPointDTO = daPointService.getByNo(queryDto.getPointNo());
        InfluxPointValuePOJO pojo = new InfluxPointValuePOJO();
        pojo.setPoint(queryDto.getPointNo());
        pojo.setType(daPointDTO.getDataType());
        Object val = influxDBService.queryPointMinValueRange(pojo, queryDto.getStart(), queryDto.getEnd());
        result.put(queryDto.getPointNo(), val);
        return result;
    }
    @Override
@@ -182,4 +253,18 @@
        });
        return new PageResult<>(dataList, pageResult.getTotal());
    }
    @Override
    public PageResult<ApiPointBadHistoryDTO> queryPointBadHistoryPage(ApiPointBadHistoryPageReqVO reqVO) {
        DaPointBadHistoryPageReqVO req = ConvertUtils.sourceToTarget(reqVO, DaPointBadHistoryPageReqVO.class);
        PageResult<DaPointBadHistoryEntity> page = daPointBadHistoryService.queryPage(req);
        List<ApiPointBadHistoryDTO> dataList = ConvertUtils.sourceToTarget(page.getList(), ApiPointBadHistoryDTO.class);
        return new PageResult<>(dataList, page.getTotal());
    }
    @Override
    public String getPointTotalCount(ApiPointCountReqVO reqVO) {
        DaPointCountReqVO req = ConvertUtils.sourceToTarget(reqVO, DaPointCountReqVO.class);
        return daPointService.getPointCount(req).toString();
    }
}