import { Injectable } from '@nestjs/common'; import { ClickhouseService } from 'src/database/clickhouse/clickhouse.service'; import { MetricK2 } from 'src/zvksmetrics/zvksmetrics.service'; import { classToPlain } from 'class-transformer'; @Injectable() export class EventsService { async CompareStatus(parameter: MetricK2) : Promise { let diff = Math.floor(Math.random() * (2)) + 1; // let testStr: string = '2685 ч 44 мин 30 сек'; // let tstspl: string[] = testStr.split(' '); // let uptime: number = (+tstspl[0])*3600+(+tstspl[2])*60+(+tstspl[4]); // console.log(tstspl[0],tstspl[2],tstspl[4],uptime); if(parameter.status != (parameter.status + diff) ){ await this.RecordChangedMetricToClicHouse(parameter.id, parameter.name, parameter.value, parameter, parameter.status, parameter.status + diff); } return 1; } async RecordChangedMetricToClicHouse(parameterID: string, parameterName: string, parameterValue: number, parameterBody: MetricK2, previousStatus: number, currentStatus: number) : Promise { let rec = new ClickhouseService(); await rec.ClickHouseAddEvents(parameterID, parameterName, parameterValue.toString(), JSON.stringify(classToPlain(parameterBody)), previousStatus.toString(), currentStatus.toString()); return 1; } }