namespace Yw.Application
|
{
|
/// <summary>
|
/// DmaSiteBinding
|
/// </summary>
|
[Route("DMA/Site/Binding")]
|
[ApiDescriptionSettings("DMA", Name = "Dma点位绑定", Order = 8000)]
|
public class DmaSiteBinding_Controller : IDynamicApiController
|
{
|
private readonly Service.DmaSiteBinding _service = new Service.DmaSiteBinding();
|
|
#region Query
|
|
/// <summary>
|
/// 通过 SiteID 获取有效绑定
|
/// </summary>
|
[Route("GetValidBySiteID@V1.0")]
|
[HttpGet]
|
public DmaSiteBindingDto GetValidBySiteID([FromQuery][Required] SiteIDInput input)
|
{
|
var model = _service.GetValidBySiteID(input.SiteID);
|
return model == null ? null : new DmaSiteBindingDto(model);
|
}
|
|
/// <summary>
|
/// 通过 SiteIds 获取有效绑定
|
/// </summary>
|
[Route("GetValidBySiteIds@V1.0")]
|
[HttpGet]
|
public List<DmaSiteBindingDto> GetValidBySiteIds([FromQuery][Required] SiteIdsInput input)
|
{
|
var ids = LongListHelper.ToList(input.SiteIds);
|
var list = _service.GetValidBySiteIds(ids);
|
var vmList = list?.Select(x => new DmaSiteBindingDto(x)).ToList();
|
return vmList;
|
}
|
|
|
|
#endregion
|
|
#region Exist
|
|
/// <summary>
|
/// 通过 SiteID 判断是否存在有效绑定
|
/// </summary>
|
[Route("IsExistValidBySiteID@V1.0")]
|
[HttpGet]
|
public bool IsExistValidBySiteID([FromQuery][Required] SiteIDInput input)
|
{
|
var bol = _service.IsExistValidBySiteID(input.SiteID);
|
return bol;
|
}
|
|
#endregion
|
|
#region Binding
|
|
/// <summary>
|
/// 绑定
|
/// </summary>
|
[Route("Binding@V1.0")]
|
[HttpPost]
|
public bool Binding([Required] BindingDmaSiteInput input)
|
{
|
var model = new Service.DmaSite().GetByID(input.SiteID);
|
if (model == null)
|
{
|
throw YOops.Oh(eResultCode.Alert, ErrorCodes.D001, $"SiteID:{input.SiteID} 数据不存在");
|
}
|
if (_service.IsExistValidBySiteID(input.SiteID))
|
{
|
throw YOops.Oh(eResultCode.Alert, ErrorCodes.V001, $"SiteID:{input.SiteID} 已绑定,请解除绑定后重试!");
|
}
|
var binding = new Model.DmaSiteBinding()
|
{
|
SiteID = input.SiteID,
|
MeterID = input.MeterID,
|
BindingTime = DateTime.Now
|
};
|
return _service.Insert(binding) > 0;
|
}
|
|
/// <summary>
|
/// 解绑
|
/// </summary>
|
[Route("UnBinding@V1.0")]
|
[HttpPost]
|
public bool UnBinding([Required] UnBindingDmaSiteInput input)
|
{
|
var binding = _service.GetValidBySiteID(input.SiteID);
|
if (binding == null)
|
{
|
throw YOops.Oh(eResultCode.Alert, ErrorCodes.V001, $"SiteID:{input.SiteID} 未绑定,无法解绑!");
|
}
|
var rhs = new Model.DmaSiteBinding(binding)
|
{
|
UnBindingTime = DateTime.Now
|
};
|
return _service.Update(rhs);
|
}
|
|
#endregion
|
|
#region Delete
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
[Route("DeleteByID@V1.0")]
|
[HttpDelete]
|
public bool DeleteByID([FromQuery][Required] IDInput input)
|
{
|
var bol = _service.DeleteByID(input.ID, out string Msg);
|
if (!bol)
|
{
|
throw YOops.Oh(eResultCode.Alert, ErrorCodes.D001, Msg);
|
}
|
return bol;
|
}
|
|
#endregion
|
|
}
|
}
|