diff --git a/langguanApi.xml b/langguanApi.xml index ae06537..c3ea93b 100644 --- a/langguanApi.xml +++ b/langguanApi.xml @@ -108,6 +108,24 @@ + + + 清洁运输 + + + + + 获取清洁运输列表 + + + + + + + 获取清洁运输数量 + + + 注入生命周期 @@ -627,6 +645,26 @@ + + + Organized 有组织 + + + + + 名称 + + + + + 1,有组织;2,无组织 + + + + + 排序 大在前,小在后 + + 拆分包及应答标志 @@ -811,6 +849,41 @@ 心跳包 + + + 车牌号 + + + + + 1进,2出 + + + + + 位置 + + + + + 排放标准 + + + + + 图片地址 + + + + + + + + + + 注册日期 + + 新加 @@ -818,6 +891,12 @@ + + + 首页数据,最近7天的 + + + 分页取数据 @@ -920,6 +999,13 @@ + + + 表达式计数 + + + + filter查找 @@ -1103,7 +1189,7 @@ HomeService - + HomeService @@ -1145,6 +1231,31 @@ + + + TransportService 运输服务 + + + + + 新增运输 + + + + + + + 分页取数据 + + + + + + + 获取清洁运输统计数字 + + + 爬气象局的天气数据% diff --git a/langguanApi/Controllers/TransportController.cs b/langguanApi/Controllers/TransportController.cs new file mode 100644 index 0000000..250c553 --- /dev/null +++ b/langguanApi/Controllers/TransportController.cs @@ -0,0 +1,42 @@ +using langguanApi.Model; +using langguanApi.Service; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace langguanApi.Controllers +{ + /// + /// 清洁运输 + /// + [Route("api/[controller]")] + [ApiController] + public class TransportController : ControllerBase + { + private TransportService _transportService; + public TransportController(TransportService transportService) + { + _transportService = transportService; + } + /// + /// 获取清洁运输列表 + /// + /// + /// + [HttpGet("list")] + public async Task list([FromQuery] reqpage input) + { + var result = await _transportService.GetPage(input); + return Ok(result); + } + /// + /// 获取清洁运输数量 + /// + /// + [HttpGet("count")] + public async Task Count() + { + var result = await _transportService.GetCount(); + return Ok(result); + } + } +} diff --git a/langguanApi/Model/Alert.cs b/langguanApi/Model/Alert.cs index d6ee4e5..35fa78c 100644 --- a/langguanApi/Model/Alert.cs +++ b/langguanApi/Model/Alert.cs @@ -2,6 +2,12 @@ { public class Alert : BaseModel { + public string DeviceId { get; set; } public string DeviceMn { get; set; } + public string deviceName { get; set; } + public string DeviceType { get; set; } + public string DeviceStatus { get; set; } + public string AlertType { get; set; } + public string AlertContent { get; set; } } } diff --git a/langguanApi/Model/Device.cs b/langguanApi/Model/Device.cs index 9c51adb..7081959 100644 --- a/langguanApi/Model/Device.cs +++ b/langguanApi/Model/Device.cs @@ -12,5 +12,6 @@ public double lat { get; set; } public string desricption { get; set; } public int state { get; set; } + public string NickName { get; set; } } } diff --git a/langguanApi/Model/Organized.cs b/langguanApi/Model/Organized.cs new file mode 100644 index 0000000..5119b06 --- /dev/null +++ b/langguanApi/Model/Organized.cs @@ -0,0 +1,21 @@ +namespace langguanApi.Model +{ + /// + /// Organized 有组织 + /// + public class Organized : BaseModel + { + /// + /// 名称 + /// + public string Name { get; set; } + /// + /// 1,有组织;2,无组织 + /// + public int OrganizedType { get; set; } + /// + /// 排序 大在前,小在后 + /// + public int Order { get; set; } + } +} diff --git a/langguanApi/Model/Transport.cs b/langguanApi/Model/Transport.cs new file mode 100644 index 0000000..16ca16c --- /dev/null +++ b/langguanApi/Model/Transport.cs @@ -0,0 +1,34 @@ +namespace langguanApi.Model +{ + public class Transport : BaseModel + { + /// + /// 车牌号 + /// + public string CarNumber { get; set; } + /// + /// 1进,2出 + /// + public int TransportType { get; set; } + /// + /// 位置 + /// + public string Address { get; set; } + /// + /// 排放标准 + /// + public string effluent { get; set; } + /// + /// 图片地址 + /// + public string imgUrl { get; set; } + /// + /// + /// + public string VIN { get; set; } + /// + /// 注册日期 + /// + public DateTime Registered { get; set; } + } +} diff --git a/langguanApi/Service/AlertService.cs b/langguanApi/Service/AlertService.cs index b7e598f..d6af8ea 100644 --- a/langguanApi/Service/AlertService.cs +++ b/langguanApi/Service/AlertService.cs @@ -8,7 +8,7 @@ namespace langguanApi.Service [ServiceInjection(InjectionType.Transient)] public class AlertService : BaseService { - public AlertService(IConfiguration config) : base(config, nameof(Device)) + public AlertService(IConfiguration config) : base(config, nameof(Alert)) { } /// @@ -26,6 +26,15 @@ namespace langguanApi.Service return new ApiResult { code = -1, msg = "" }; ; } /// + /// 首页数据,最近7天的 + /// + /// + public async Task IndexData() + { + Expression> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false; + return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime); + } + /// /// 分页取数据 /// /// diff --git a/langguanApi/Service/BaseService.cs b/langguanApi/Service/BaseService.cs index e9480f9..4e5f677 100644 --- a/langguanApi/Service/BaseService.cs +++ b/langguanApi/Service/BaseService.cs @@ -149,6 +149,15 @@ namespace langguanApi.Service return Task.FromResult(_collection.AsQueryable().Where(expression)); } /// + /// 表达式计数 + /// + /// + /// + public Task Count(Expression> expression) + { + return Task.FromResult(_collection.AsQueryable().Where(expression).LongCount()); + } + /// /// filter查找 /// /// diff --git a/langguanApi/Service/HomeService.cs b/langguanApi/Service/HomeService.cs index 3ab0ce4..521410a 100644 --- a/langguanApi/Service/HomeService.cs +++ b/langguanApi/Service/HomeService.cs @@ -17,19 +17,22 @@ namespace langguanApi.Service private readonly IConfiguration _configuration; private CacheManager _cacheManager; private readonly WeatherService _weatherService; + private readonly AlertService _alertService; /// /// HomeService /// /// /// public HomeService(DeviceService device, Hj212Service hj212Service, - IConfiguration configuration, CacheManager cacheManager, WeatherService weatherService) + IConfiguration configuration, CacheManager cacheManager, + WeatherService weatherService, AlertService alertService) { _deviceService = device; _hj212Service = hj212Service; _configuration = configuration; _cacheManager = cacheManager; _weatherService = weatherService; + _alertService = alertService; } /// /// view @@ -41,7 +44,8 @@ namespace langguanApi.Service var ariQuality = ""; Expression> filter = exp => true; var Realtime = await _hj212Service.Realtime(); - var GetViewTop = await _hj212Service.GetViewTop(); + var getViewTop = await _hj212Service.GetViewTop(); + var alerts = await _alertService.IndexData(); // 获取天气信息,缓存1小时,如果不存在,则调用WeatherService获取 Func> getWeatherFunc = async () => await _weatherService.GetWeather(); var weather = await _cacheManager.GetConvertVale(RedisKeylist.Weather, getWeatherFunc, 60 * 60); @@ -62,8 +66,9 @@ namespace langguanApi.Service devices, ariQuality, Realtime, - GetViewTop, - weather + getViewTop, + weather, + alerts } }; } diff --git a/langguanApi/Service/TransportService.cs b/langguanApi/Service/TransportService.cs new file mode 100644 index 0000000..beb7b26 --- /dev/null +++ b/langguanApi/Service/TransportService.cs @@ -0,0 +1,62 @@ +using langguanApi.Extensions.AutoDI; +using langguanApi.Model; +using System.Linq.Expressions; + +namespace langguanApi.Service +{ + /// + /// TransportService 运输服务 + /// + [ServiceInjection(InjectionType.Transient)] + public class TransportService : BaseService + { + public TransportService(IConfiguration config) : base(config, nameof(Transport)) + { + } + /// + /// 新增运输 + /// + /// + /// + public async Task addTransport(Transport transport) + { + return await base.CreateAsync(transport); + } + /// + /// 分页取数据 + /// + /// + /// + public async Task GetPage(reqpage input) + { + Expression> exp = filter => filter.CarNumber.Contains(input.key) && filter.IsDelete == false; + return await base.GetPager(new ReqPaing() + { + pageSize = input.pageSize, + current = input.current + }, exp); + } + /// + /// 获取清洁运输统计数字 + /// + /// + public async Task GetCount() + { + Expression> exp = filter => filter.TransportType == 1; + var comeCount = await base.Count(exp); + exp = filter => filter.TransportType == 2; + var outCount = await base.Count(exp); + return new ApiResult() + { + code = 0, + data = new + { + comeCount, + outCount, + inCount = comeCount - outCount, + AddCount = 0 + } + }; + } + } +}