123
tangxu
2024-08-02 97270e48e35dbce006263f6dc5fa6b6d8f81d0f5
WebApi/Controllers/ReservoirWaterLevelController.cs
@@ -10,7 +10,7 @@
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Web.Http;
namespace IStation.WebApi.Controllers
{
@@ -20,23 +20,97 @@
    [RoutePrefix("ReservoirWaterLevel")]
    public class ReservoirWaterLevelController : ApiController
    {
        /// <summary>
        /// 获取实时值
        /// </summary>
        /// 获取实时值
        /// </summary>
        /// <returns></returns>
        [Route("GetRealValue")]
        [HttpGet]
        public async Task<IStation.Dto.ApiResult> GetRealValue()
        public   IStation.Dto.ApiResult  GetRealValue()
        {
            var d = await  ZyConnectHelper.GetRealReservoirWaterLevel();
            var d = ZyConnectHelper.GetRealReservoirWaterLevel();
            return new IStation.Dto.ApiResult<double>(d);
        }
        /// <summary>
        /// 获取最后一条
        /// </summary>
        /// <returns></returns>
        [Route("GetLastPredictValue")]
        [HttpGet]
        public IStation.Dto.ApiResult GetLastPredictValue()
        {
            try
            {
                IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord();
                var records = dal.GetLast(1);
                if (records == null || records.Count == 0)
                {
                    return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "数据为空" };
                }
                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = records.Last().PredictValueList };
            }
            catch (Exception ex)
            {
                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = ex.Message };
            }
        }
        /// <summary>
        /// 获取最后一条
        /// </summary>
        /// <returns></returns>
        [Route("GetPredictRecordBySingleHour")]
        [HttpGet]
        public IStation.Dto.ApiResult GetPredictRecordBySingleHour(DateTime time)
        {
            try
            {
                IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord();
                var records = dal.GetBySingleHour(time);
                if (records == null  )
                {
                    return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "数据为空" };
                }
                return new IStation.Dto.ApiResult<IStation.Model.WaterPredictRecord>() { Code = ApiResultCode.Error, Data = records  };
            }
            catch (Exception ex)
            {
                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = ex.Message };
            }
        }
        /// <summary>
        /// 获取最后一条
        /// </summary>
        /// <returns></returns>
        [Route("GetPredictRecordByHourRange")]
        [HttpGet]
        public IStation.Dto.ApiResult GetPredictRecordByHourRange(string  start_time, string  end_time)
        {
            if (string .IsNullOrEmpty(start_time) || string .IsNullOrEmpty(end_time))
            {
                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "start_time 或者 end_time 数据为空" };
            }
            try
            {
                IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord();
                var records = dal.GetByHourRangle(DateTime.Parse( start_time), DateTime.Parse(end_time));
                if (records == null)
                {
                    return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "数据为空" };
                }
                return new IStation.Dto.ApiResult<List<IStation.Model.WaterPredictRecord>>() { Code = ApiResultCode.Error, Data = records };
            }
            catch (Exception ex)
            {
                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = ex.Message };
            }
        }
        ///// <summary>
        ///// 获取今日预测值(24点时)
        ///// </summary>
        ///// 获取今日预测值(24点时)
        ///// </summary>
        ///// <returns></returns>
        //[Route("GetTodayEndPredictiveValue")]
        //[HttpGet]
@@ -62,7 +136,6 @@
        //            return new IStation.Dto.ApiResult<double>(predictiveValue);
        //        }
        //    }
        //    return new IStation.Dto.ApiResult<double>(now_value);
        //}