98 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			98 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using IceCoffee.Common.Templates;
							 | 
						|||
| 
								 | 
							
								using langguanApi.Common.Proxy;
							 | 
						|||
| 
								 | 
							
								using langguanApi.Extensions.AutoDI;
							 | 
						|||
| 
								 | 
							
								using langguanApi.Model;
							 | 
						|||
| 
								 | 
							
								using langguanApi.Model.Dto;
							 | 
						|||
| 
								 | 
							
								using Microsoft.AspNetCore.Mvc.ApiExplorer;
							 | 
						|||
| 
								 | 
							
								using Microsoft.OpenApi.Writers;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace langguanApi.Service
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 环境治理页面Service
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    [ServiceInjection(InjectionType.Transient)]
							 | 
						|||
| 
								 | 
							
								    public class EnvGovService
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        private HttpProxy _httpProxy;
							 | 
						|||
| 
								 | 
							
								        private readonly IConfiguration _configuration;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public EnvGovService(HttpProxy httpProxy, IConfiguration configuration)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            _httpProxy = httpProxy;
							 | 
						|||
| 
								 | 
							
								            _configuration = configuration;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 首页数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public async Task<ApiResult> IndexView()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var url = _configuration.GetValue<string>("Apis:DeviceList");
							 | 
						|||
| 
								 | 
							
								            var deviceResp = await _httpProxy.Get<RespModel<devceList>>(null, url);
							 | 
						|||
| 
								 | 
							
								            var deviceList = deviceResp.data.List.GroupBy(g => g.GroupID)
							 | 
						|||
| 
								 | 
							
								                .Select(s => new
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    group = s.Key,
							 | 
						|||
| 
								 | 
							
								                    items = new
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        devices = s.ToList().GroupBy(m => m.DeviceType)
							 | 
						|||
| 
								 | 
							
								                        .Select(o => new
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            devicetype = ConvertDeviceType(o.Key),
							 | 
						|||
| 
								 | 
							
								                            items = o.ToList()
							 | 
						|||
| 
								 | 
							
								                             .Select(d => new
							 | 
						|||
| 
								 | 
							
								                             {
							 | 
						|||
| 
								 | 
							
								                                 d.DeviceID,
							 | 
						|||
| 
								 | 
							
								                                 d.DeviceName,
							 | 
						|||
| 
								 | 
							
								                                 d.Lon,
							 | 
						|||
| 
								 | 
							
								                                 d.Lat,
							 | 
						|||
| 
								 | 
							
								                                 d.CurrentAngel,
							 | 
						|||
| 
								 | 
							
								                                 d.RunLog
							 | 
						|||
| 
								 | 
							
								                             })
							 | 
						|||
| 
								 | 
							
								                        })
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                });
							 | 
						|||
| 
								 | 
							
								            return new ApiResult
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                code = deviceResp.code,
							 | 
						|||
| 
								 | 
							
								                msg = deviceResp.msg,
							 | 
						|||
| 
								 | 
							
								                data = deviceList
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private string ConvertDeviceType(int deviceType)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            switch (deviceType)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                case 1:
							 | 
						|||
| 
								 | 
							
								                    return "雾炮";
							 | 
						|||
| 
								 | 
							
								                case 2:
							 | 
						|||
| 
								 | 
							
								                    return "雾桩";
							 | 
						|||
| 
								 | 
							
								                case 3:
							 | 
						|||
| 
								 | 
							
								                    return "干雾";
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return null;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取设备状态
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="deviceId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public async Task<ApiResult> DeviceStatu(string deviceId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var url = _configuration.GetValue<string>("Apis:DeviceStatu");
							 | 
						|||
| 
								 | 
							
								            var deviceStatuResp = await _httpProxy.Get<RespModel<List<DeviceStatu>>>(null, url);
							 | 
						|||
| 
								 | 
							
								            var result = deviceStatuResp.data.Where(s => s.DeviceID == deviceId).FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								            return new ApiResult
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //接口返回错误,暂时注释
							 | 
						|||
| 
								 | 
							
								                //  code = deviceStatuResp.code,
							 | 
						|||
| 
								 | 
							
								                code = 0,
							 | 
						|||
| 
								 | 
							
								                msg = deviceStatuResp.msg,
							 | 
						|||
| 
								 | 
							
								                data = result
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |