namespace Yw.Application
|
{
|
/// <summary>
|
/// HealthQuotaEvaluationModelBinding
|
/// </summary>
|
[Route("Health/Quota/Evaluation/Model/Binding")]
|
[ApiDescriptionSettings("Health", Name = "指标评价模型绑定", Order = 8900)]
|
public class HealthQuotaEvaluationModelBinding_Controller : IDynamicApiController
|
{
|
private readonly Service.HealthQuotaEvaluationModelBinding _service = new();
|
|
#region Query
|
|
/// <summary>
|
/// 通过 ModelID 获取有效绑定
|
/// </summary>
|
[Route("GetValidByModelID@V1.0")]
|
[HttpGet]
|
public List<HealthQuotaEvaluationModelBindingDto> GetValidByModelID([FromQuery][Required] ModelIDInput input)
|
{
|
var list = _service.GetValidByModelID(input.ModelID);
|
var vm_list = list?.Select(x => new HealthQuotaEvaluationModelBindingDto(x)).ToList();
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 ModelIds 获取有效绑定
|
/// </summary>
|
[Route("GetValidByModelIds@V1.0")]
|
[HttpGet]
|
public List<HealthQuotaEvaluationModelBindingDto> GetValidByModelIds([FromQuery][Required] ModelIdsInput input)
|
{
|
var ids = LongListHelper.ToList(input.ModelIds);
|
var list = _service.GetValidByModelIds(ids);
|
var vm_list = list?.Select(x => new HealthQuotaEvaluationModelBindingDto(x)).ToList();
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 SignalID 获取有效绑定
|
/// </summary>
|
[Route("GetValidBySignalID@V1.0")]
|
[HttpGet]
|
public HealthQuotaEvaluationModelBindingDto GetValidBySignalID([FromQuery][Required] SignalIDInput input)
|
{
|
var model = _service.GetValidBySignalID(input.SignalID);
|
if (model == null)
|
return default;
|
return new HealthQuotaEvaluationModelBindingDto(model);
|
}
|
|
/// <summary>
|
/// 通过 SignalIds 获取有效绑定
|
/// </summary>
|
[Route("GetValidBySignalIds@V1.0")]
|
[HttpGet]
|
public List<HealthQuotaEvaluationModelBindingDto> GetValidBySignalIds([FromQuery][Required] SignalIdsInput input)
|
{
|
var ids = LongListHelper.ToList(input.SignalIds);
|
var list = _service.GetValidBySignalIds(ids);
|
var vm_list = list?.Select(x => new HealthQuotaEvaluationModelBindingDto(x)).ToList();
|
return vm_list;
|
}
|
|
|
#endregion
|
|
|
#region Binding
|
|
/// <summary>
|
/// 绑定
|
/// </summary>
|
[Route("Binding@V1.0")]
|
[HttpPost]
|
public bool Binding([Required] BindingHealthQuotaEvaluationModelInput input)
|
{
|
var model = new Service.HealthQuotaEvaluationModel().GetByID(input.ModelID);
|
if (model == null)
|
{
|
throw Oops.Oh(ErrorCodes.D001, $"ModelID:{input.ModelID}");
|
}
|
if (_service.IsExistValidBindingBySignalID(input.SignalID))
|
{
|
throw Oops.Oh(ErrorCodes.V001, $"信号:{input.SignalID}", "已绑定,请解除绑定后重试!");
|
}
|
var binding = new Model.HealthQuotaEvaluationModelBinding()
|
{
|
ModelID = input.ModelID,
|
SignalID = input.SignalID,
|
BindingTime = DateTime.Now
|
};
|
return _service.Insert(binding) > 0;
|
}
|
|
/// <summary>
|
/// 解绑
|
/// </summary>
|
[Route("UnBinding@V1.0")]
|
[HttpPost]
|
public bool UnBinding([Required] UnBindingHealthQuotaEvaluationModelInput input)
|
{
|
var binding = _service.GetValidBySignalID(input.SignalID);
|
if (binding == null)
|
{
|
throw Oops.Oh(ErrorCodes.V001, $"信号:{input.SignalID}", "未绑定,无法解绑!");
|
}
|
var rhs = new Model.HealthQuotaEvaluationModelBinding(binding)
|
{
|
UnBindingTime = DateTime.Now
|
};
|
return _service.Update(rhs);
|
}
|
|
#endregion
|
|
|
|
|
}
|
}
|