|
- using HealthMonitor.Model.Config;
- using HealthMonitor.Model.Service.Mapper;
- using HealthMonitor.Service.Biz.db;
- using HealthMonitor.WebApi.Configs;
- using HealthMonitor.WebApi.Controllers.Api;
- using HealthMonitor.WebApi.Model.Request;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.Extensions.Options;
- using TelpoDataService.Util.Entities.GpsCard;
- using TelpoDataService.Util.Entities.GpsLocationHistory;
-
- namespace HealthMonitor.WebApi.Controllers.HealthMonitor
- {
- [ApiExplorerSettings(GroupName = AppConsts.SWAGGER_DOC_HealthMonitor)]
- [Produces("application/json")]
- [Route("api/HealthMonitor/[controller]/[action]")]
- [ApiController]
- public class HmBloodPressController : ControllerBase
- {
- private readonly ILogger<HmBloodPressController> _logger;
- private readonly TDengineService _serviceTDengine;
- private readonly TDengineServiceConfig _configTDengineService;
-
- public HmBloodPressController(TDengineService serviceDengine, IOptions<TDengineServiceConfig> configTDengineService, ILogger<HmBloodPressController> logger)
- {
- _serviceTDengine = serviceDengine;
- _logger = logger;
- _configTDengineService = configTDengineService.Value;
- }
- [HttpPost]
- public async Task<ApiResponse<object>> Add([FromBody] HmBloodPress reqModel, [FromHeader] string requestId)
- {
- try
- {
- HisGpsBloodPress model = new HisGpsBloodPress()
- {
- BloodPressId = reqModel.BloodPressId,
- DiastolicValue = reqModel.DiastolicValue,
- IsDisplay = reqModel.IsDisplay,
- MessageId = reqModel.MessageId,
- Method = reqModel.Method,
- Serialno = reqModel.Serialno,
- SystolicValue = reqModel.SystolicValue,
- CreateTime = DateTime.Parse(reqModel.CreateTime.ToString()),
- LastUpdate = DateTime.Parse(reqModel.LastUpdate.ToString()),
-
- };
- var serial_tail_no = model.Serialno.Substring(model.Serialno.Length - 2);
- var sql = $"INSERT INTO {_configTDengineService.DB}.hm_bp_{serial_tail_no} USING {_configTDengineService.DB}.stb_hm_bloodpress TAGS ('{serial_tail_no}') VALUES(" +
- $"'{model.LastUpdate:yyyy-MM-dd HH:mm:ss.fff}'," +
- $"'{model.BloodPressId}'," +
- $"'{model.MessageId}'," +
- $"'{model.Serialno}'," +
- $"{model.SystolicValue}," +
- $"{model.DiastolicValue}," +
- $"'{model.CreateTime:yyyy-MM-dd HH:mm:ss.fff}'," +
- $"'{model.LastUpdate:yyyy-MM-dd HH:mm:ss.fff}'," +
- $"{model.Method}," +
- $"{model.IsDisplay == 1})";
- var flag= await _serviceTDengine.GernalRestSql(sql);
-
- if (flag) return ApiResponse<object>.Success(model);
-
-
-
- }
- catch (Exception ex)
- {
- _logger.LogInformation($"{reqModel.Serialno} -- {reqModel.MessageId} -- 血压数据插入失败; {ex.Message}\n {ex.InnerException} \n{ex.StackTrace}");
-
- }
-
- return ApiResponse<object>.Fail(500, $"{reqModel.Serialno} -- {reqModel.MessageId} -- 血压数据插入失败");
- }
- [HttpGet]
- public async Task<IActionResult> Test()
- {
- // _serviceTDengine.InsertFetalHeartRate2();
- //await _serviceTDengine.InsertFetalHeartRateAsync();
-
- //var test = new FetalHeartRateModel()
- //{
- // Timestamp = DateTime.Now,
- // CreateTime = DateTime.Now,
- // FetalHeartRate = 122,
- // FetalHeartRateId = Guid.NewGuid().ToString("D"),
- // IsDisplay = false,
- // Method = 1,
- // PersonId = Guid.NewGuid().ToString("D"),
- // MessageId = Guid.NewGuid().ToString("D"),
- // SerialNumber = "864144050568123",
- // DeviceKey = Guid.NewGuid().ToString("D"),
- // SerialTailNumber = "23",
- // LastUpdate = DateTime.Now,
- //};
- //await _serviceTDengine.InsertAsync<FetalHeartRateModel>("hm_fhr", test);
- //var first = _serviceTDengine.GetFirst();
-
- var first = await _serviceTDengine.GetBySerialNoAsync<FetalHeartRateModel>("864144050568123");
- return Ok(first);
- }
- }
- }
|