|
|
@@ -162,7 +162,7 @@ namespace HealthMonitor.WebApi |
|
|
|
if (newTs.AddDays(7) > DateTime.Now) |
|
|
|
{ |
|
|
|
Console.WriteLine(ts); |
|
|
|
var data = new |
|
|
|
var bpData = new |
|
|
|
{ |
|
|
|
imei = imeiDel, |
|
|
|
systolicCalibrationValue = last?[5], //收缩压标定值,值为0 表示不生效 |
|
|
@@ -170,24 +170,54 @@ namespace HealthMonitor.WebApi |
|
|
|
systolicIncValue = last?[10], //收缩压显示增量,值为0 表示不生效 |
|
|
|
diastolicIncValue = last?[17] //舒张压显示增量,值为0 表示不生效 |
|
|
|
}; |
|
|
|
var str = JsonConvert.SerializeObject(data); |
|
|
|
var str = JsonConvert.SerializeObject(bpData); |
|
|
|
var url = $"http://id.ssjlai.com/webapi/api/Command/SetBloodPressCalibrationConfig"; |
|
|
|
List<KeyValuePair<string, string>> headers = new() |
|
|
|
{ |
|
|
|
new KeyValuePair<string, string>("AuthKey", "key1") |
|
|
|
}; |
|
|
|
var result = await _httpHelper.HttpToPostAsync(url, data, headers).ConfigureAwait(false); |
|
|
|
_logger.LogInformation($"向{imeiDel}下发增量值数据:{str},响应:{result}"); |
|
|
|
var res=JsonConvert.DeserializeObject(result!) as JToken; |
|
|
|
if (res!["message"]!.ToString().Equals("ok")) |
|
|
|
var res = await _httpHelper.HttpToPostAsync(url, bpData, headers).ConfigureAwait(false); |
|
|
|
_logger.LogInformation($"向{imeiDel}下发增量值数据:{str},响应:{res}"); |
|
|
|
var resJToken = JsonConvert.DeserializeObject(res!) as JToken; |
|
|
|
if (resJToken!["message"]!.ToString().Equals("ok")) |
|
|
|
{ |
|
|
|
// 注册下次下推 |
|
|
|
var endTime = DateTime.Now; |
|
|
|
#if DEBUG |
|
|
|
|
|
|
|
|
|
|
|
long ttl = (long)((60 * 1000-(endTime-startTime).TotalMilliseconds)/1000); |
|
|
|
await _serviceEtcd.PutValAsync(key, imeiDel,ttl, false).ConfigureAwait(false); |
|
|
|
//long ttl = (long)((60 * 1000-(endTime-startTime).TotalMilliseconds)/1000); |
|
|
|
//await _serviceEtcd.PutValAsync(key, imeiDel,ttl, false).ConfigureAwait(false); |
|
|
|
|
|
|
|
var interval = 0; |
|
|
|
// 获取当前时间 |
|
|
|
DateTime now = DateTime.Now; |
|
|
|
|
|
|
|
// 计算距离下一个$interval天后的8点的时间间隔 |
|
|
|
DateTime nextRunTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute + 2, 0).AddDays(interval); |
|
|
|
TimeSpan timeUntilNextRun = nextRunTime - now; |
|
|
|
|
|
|
|
// 如果当前时间已经超过了8点,将等待到明天后的8点 |
|
|
|
if (timeUntilNextRun < TimeSpan.Zero) |
|
|
|
{ |
|
|
|
timeUntilNextRun = timeUntilNextRun.Add(TimeSpan.FromMinutes(1)); |
|
|
|
nextRunTime += timeUntilNextRun; |
|
|
|
} |
|
|
|
|
|
|
|
// var ttl = timeUntilNextRun.TotalMilliseconds; |
|
|
|
long ttl = (long)((timeUntilNextRun.TotalMilliseconds - (endTime - startTime).TotalMilliseconds) / 1000); |
|
|
|
var data = new |
|
|
|
{ |
|
|
|
imei = imeiDel, |
|
|
|
create_time = now.ToString("yyyy-MM-dd HH:mm:ss"), |
|
|
|
ttl, |
|
|
|
next_run_time = nextRunTime.ToString("yyyy-MM-dd HH:mm:ss") |
|
|
|
}; |
|
|
|
var result = JsonConvert.SerializeObject(data); |
|
|
|
|
|
|
|
await _serviceEtcd.PutValAsync(key, result, ttl, false).ConfigureAwait(false); |
|
|
|
|
|
|
|
|
|
|
|
#else |
|
|
|
// 每$interval天,晚上8点 |
|
|
|
var interval = 1; |
|
|
@@ -202,11 +232,20 @@ namespace HealthMonitor.WebApi |
|
|
|
if (timeUntilNextRun < TimeSpan.Zero) |
|
|
|
{ |
|
|
|
timeUntilNextRun = timeUntilNextRun.Add(TimeSpan.FromDays(1)); |
|
|
|
nextRunTime += timeUntilNextRun; |
|
|
|
} |
|
|
|
|
|
|
|
// var ttl = timeUntilNextRun.TotalMilliseconds; |
|
|
|
long ttl = (long)((timeUntilNextRun.TotalMilliseconds-(endTime-startTime).TotalMilliseconds)/1000); |
|
|
|
await _serviceEtcd.PutValAsync(key, imeiDel, ttl, false).ConfigureAwait(false); |
|
|
|
long ttl = (long)((timeUntilNextRun.TotalMilliseconds-(endTime-startTime).TotalMilliseconds)/1000); |
|
|
|
var data = new |
|
|
|
{ |
|
|
|
imei = imeiDel, |
|
|
|
create_time = now.ToString("yyyy-MM-dd HH:mm:ss"), |
|
|
|
ttl, |
|
|
|
next_run_time = nextRunTime.ToString("yyyy-MM-dd HH:mm:ss") |
|
|
|
}; |
|
|
|
var result = JsonConvert.SerializeObject(data); |
|
|
|
await _serviceEtcd.PutValAsync(key, result, ttl, false).ConfigureAwait(false); |
|
|
|
#endif |
|
|
|
} |
|
|
|
else |
|
|
|