25 lines
1.3 KiB
TypeScript
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;
|
|
}
|
|
}
|