瀏覽代碼

调整UpdatePersonRemarksAsync remarks缓存判断

datasub12_previous
H Vs 1 年之前
父節點
當前提交
38f6ad4b67
共有 1 個檔案被更改,包括 133 行新增4 行删除
  1. +133
    -4
      HealthMonitor.Service/Biz/IotWebApiService.cs

+ 133
- 4
HealthMonitor.Service/Biz/IotWebApiService.cs 查看文件

@@ -344,6 +344,86 @@ namespace HealthMonitor.Service.Biz
}
*/
/// <summary>
///// 更新 gps_person remark缓存和数据库
///// </summary>
///// <param name="imei"></param>
///// <param name="systolicRefValue"></param>
///// <param name="diastolicRefValue"></param>
///// <param name="systolicIncValue"></param>
///// <param name="diastolicIncValue"></param>
///// <param name="remarks"></param>
///// <returns></returns>
//public async Task<bool> UpdatePersonRemarksAsync(string imei, int systolicRefValue, int diastolicRefValue, int systolicIncValue, int diastolicIncValue, string remarks= "is_blood_press")
//{
// var flag = false;
// try
// {

// // 保证实时性,先更新缓存,再更新数据库
// var personCache = await _personCacheMgr.GetDeviceGpsPersonCacheObjectBySerialNoAsync(new Guid().ToString(), imei).ConfigureAwait(false);

// if (personCache == null)
// {
// _logger.LogInformation($"{imei} -- Person remarks数据异常,检查缓存和数据库");
// }
// else if (string.IsNullOrWhiteSpace(personCache["person"]!["remarks"]!.ToString()))
// {
// var newRemarkData = new
// {
// imei,
// time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
// commandValue = new
// {
// systolicCalibrationValue = systolicRefValue, //收缩压标定值,值为0 表示不生效
// diastolicCalibrationValue = diastolicRefValue, //舒张压标定值,值为0表示不生效
// systolicIncValue, //收缩压显示增量,值为0 表示不生效
// diastolicIncValue //舒张压显示增量,值为0 表示不生效
// }
// };
// var newRemarkStr = $"{remarks}:{JsonConvert.SerializeObject(newRemarkData)}|";

// personCache["person"]!["remarks"] = newRemarkStr;
// bool cacheFlag = await _personCacheMgr.UpdateDeviceGpsPersonCacheObjectBySerialNoAsync(personCache, imei);
// if (cacheFlag)
// {
// GeneralParam condition = new()
// {
// Filters = new List<QueryFilterCondition> {
// new QueryFilterCondition {
// Key=nameof(GpsDevice.Serialno),
// Value=imei,
// Operator= QueryOperatorEnum.Equal,
// ValueType=QueryValueTypeEnum.String
// }
// },
// OrderBys = new List<OrderByCondition> { new OrderByCondition { Key = "serialno", IsDesc = true } }

// };
// _logger.LogInformation($"{imei} 更新缓存{nameof(UpdatePersonRemarksAsync)}成功,{JsonConvert.SerializeObject(personCache)}");
// // 读取数据库
// var person = await _gpsPersonApiClient.GetFirstAsync(condition, new RequestHeader() { RequestId = $"{imei}" }).ConfigureAwait(false);
// // 更新字段
// person!.Remarks = newRemarkStr;
// await _gpsPersonApiClient.UpdateAsync(person, new RequestHeader() { RequestId = $"{imei}" }).ConfigureAwait(false);
// _logger.LogInformation($"{imei} 更新Person remarks字段|{person.Remarks}");

// }
// else
// {
// _logger.LogInformation($"{imei} 更新缓存和数据库{nameof(UpdatePersonRemarksAsync)}失败,{JsonConvert.SerializeObject(personCache)}");
// }
// flag = cacheFlag;
// }
// }
// catch (Exception ex)
// {
// _logger.LogError($"{nameof(UpdatePersonRemarksAsync)} {imei}--更新个人信息异常:{ex.Message}, {ex.StackTrace}");
// }
// return flag;
//}



/// 更新 gps_person remark缓存和数据库
/// </summary>
/// <param name="imei"></param>
@@ -353,7 +433,7 @@ namespace HealthMonitor.Service.Biz
/// <param name="diastolicIncValue"></param>
/// <param name="remarks"></param>
/// <returns></returns>
public async Task<bool> UpdatePersonRemarksAsync(string imei, int systolicRefValue, int diastolicRefValue, int systolicIncValue, int diastolicIncValue, string remarks= "is_blood_press")
public async Task<bool> UpdatePersonRemarksAsync(string imei, int systolicRefValue, int diastolicRefValue, int systolicIncValue, int diastolicIncValue, string remarks = "is_blood_press")
{
var flag = false;
try
@@ -366,7 +446,7 @@ namespace HealthMonitor.Service.Biz
{
_logger.LogInformation($"{imei} -- Person remarks数据异常,检查缓存和数据库");
}
else if (string.IsNullOrWhiteSpace(personCache["person"]!["remarks"]!.ToString()))
else
{
var newRemarkData = new
{
@@ -380,8 +460,8 @@ namespace HealthMonitor.Service.Biz
diastolicIncValue //舒张压显示增量,值为0 表示不生效
}
};
var newRemarkStr = $"{remarks}:{JsonConvert.SerializeObject(newRemarkData)}|";
var newRemarkStr = $"{remarks}:{JsonConvert.SerializeObject(newRemarkData)}|";
personCache["person"]!["remarks"] = newRemarkStr;
bool cacheFlag = await _personCacheMgr.UpdateDeviceGpsPersonCacheObjectBySerialNoAsync(personCache, imei);
if (cacheFlag)
@@ -414,6 +494,55 @@ namespace HealthMonitor.Service.Biz
}
flag = cacheFlag;
}
// else if (string.IsNullOrWhiteSpace(personCache["person"]!["remarks"]!.ToString()))
//else if (personCache?["person"]!["remarks"]!.ToString()!=null)
//{
// var newRemarkData = new
// {
// imei,
// time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
// commandValue = new
// {
// systolicCalibrationValue = systolicRefValue, //收缩压标定值,值为0 表示不生效
// diastolicCalibrationValue = diastolicRefValue, //舒张压标定值,值为0表示不生效
// systolicIncValue, //收缩压显示增量,值为0 表示不生效
// diastolicIncValue //舒张压显示增量,值为0 表示不生效
// }
// };
// var newRemarkStr = $"{remarks}:{JsonConvert.SerializeObject(newRemarkData)}|";

// personCache["person"]!["remarks"] = newRemarkStr;
// bool cacheFlag = await _personCacheMgr.UpdateDeviceGpsPersonCacheObjectBySerialNoAsync(personCache, imei);
// if (cacheFlag)
// {
// GeneralParam condition = new()
// {
// Filters = new List<QueryFilterCondition> {
// new QueryFilterCondition {
// Key=nameof(GpsDevice.Serialno),
// Value=imei,
// Operator= QueryOperatorEnum.Equal,
// ValueType=QueryValueTypeEnum.String
// }
// },
// OrderBys = new List<OrderByCondition> { new OrderByCondition { Key = "serialno", IsDesc = true } }

// };
// _logger.LogInformation($"{imei} 更新缓存{nameof(UpdatePersonRemarksAsync)}成功,{JsonConvert.SerializeObject(personCache)}");
// // 读取数据库
// var person = await _gpsPersonApiClient.GetFirstAsync(condition, new RequestHeader() { RequestId = $"{imei}" }).ConfigureAwait(false);
// // 更新字段
// person!.Remarks = newRemarkStr;
// await _gpsPersonApiClient.UpdateAsync(person, new RequestHeader() { RequestId = $"{imei}" }).ConfigureAwait(false);
// _logger.LogInformation($"{imei} 更新Person remarks字段|{person.Remarks}");

// }
// else
// {
// _logger.LogInformation($"{imei} 更新缓存和数据库{nameof(UpdatePersonRemarksAsync)}失败,{JsonConvert.SerializeObject(personCache)}");
// }
// flag = cacheFlag;
//}
}
catch (Exception ex)
{


Loading…
取消
儲存