mppr/src/events/events.service.ts

25 lines
1.3 KiB
TypeScript

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 <any>{
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 <any>{
let rec = new ClickhouseService();
await rec.ClickHouseAddEvents(parameterID, parameterName, parameterValue.toString(), JSON.stringify(classToPlain(parameterBody)), previousStatus.toString(), currentStatus.toString());
return 1;
}
}