@ -67,32 +67,31 @@ namespace UserCenter.Controllers
var datasets = new List < object > ( ) ;
var labels = new List < string > ( ) ;
var hours = Convert . ToInt32 ( DateTime . Now . ToString ( "%z" ) ) ;
using ( var client = new InfluxClient ( new Uri ( url ) , usr , pwd ) )
using var client = new InfluxClient ( new Uri ( url ) , usr , pwd ) ;
var days = Convert . ToInt32 ( model . Time . TrimEnd ( 'd' ) ) ;
var group = days = = 1 ? "1m" : ( days = = 7 ? "10m" : "1h" ) ;
var query = $"select last({model.Key}) from {measurementName} where time>now() - {days}d and DeviceNumber = '{model.Number}' group by time({group}) fill(none)" ;
var result = client . ReadAsync < DynamicInfluxRow > ( dbName , query ) . Result ;
var rows = result . Results . FirstOrDefault ( ) ?
. Series . FirstOrDefault ( ) ?
. Rows ;
datasets . Add ( new
{
var query = $"select { model.Key} from {measurementName} where time>now() - {model.Time} and DeviceNumber = '{model.Number}' limit 10000" ;
var result = client . ReadAsync < DynamicInfluxRow > ( dbName , query ) . Result ;
var rows = result . Results . FirstOrDefault ( ) ?
. Series . FirstOrDefault ( ) ?
. Rows ;
datasets . Add ( new
{
label = data . Name ,
data = rows ! = null ? rows . Select ( o = > o . GetField ( data . Key ) ) . ToList ( ) : new List < object > ( ) ,
backgroundColor = this . GetColor ( data . Key ) ,
fill = false
} ) ;
if ( rows ! = null )
{
var format = model . Time . StartsWith ( "1" ) ? "H:mm" : ( model . Time . StartsWith ( "7" ) ? "ddd" : "MMM-d" ) ;
labels = rows . Select ( o = > o . Timestamp . Value ) . Select ( o = > o . AddHours ( hours ) . ToString ( format , new CultureInfo ( "zh-CN" ) ) ) . ToList ( ) ;
}
var response = new
{
datasets ,
labels
} ;
return Ok ( response ) ;
label = data . Name ,
data = rows ! = null ? rows . Select ( o = > o . GetField ( "last" ) ) . ToList ( ) : new List < object > ( ) ,
backgroundColor = this . GetColor ( data . Key ) ,
fill = false
} ) ;
if ( rows ! = null )
{
labels = rows . Select ( o = > o . Timestamp . Value ) . Select ( o = > o . AddHours ( hours ) . ToString ( "MMM-d H:mm" , new CultureInfo ( "zh-CN" ) ) ) . ToList ( ) ;
}
var response = new
{
datasets ,
labels
} ;
return Ok ( response ) ;
}
catch ( Exception ex )
{