transport 新加

This commit is contained in:
yanghongwei 2024-05-21 23:53:40 +08:00
parent 8809e5ccfe
commit cdca84e42a
10 changed files with 306 additions and 6 deletions

View File

@ -108,6 +108,24 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:langguanApi.Controllers.TransportController">
<summary>
清洁运输
</summary>
</member>
<member name="M:langguanApi.Controllers.TransportController.list(langguanApi.Model.reqpage)">
<summary>
获取清洁运输列表
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:langguanApi.Controllers.TransportController.Count">
<summary>
获取清洁运输数量
</summary>
<returns></returns>
</member>
<member name="T:langguanApi.Extensions.AutoDI.InjectionType"> <member name="T:langguanApi.Extensions.AutoDI.InjectionType">
<summary> <summary>
注入生命周期 注入生命周期
@ -627,6 +645,26 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:langguanApi.Model.Organized">
<summary>
Organized 有组织
</summary>
</member>
<member name="P:langguanApi.Model.Organized.Name">
<summary>
名称
</summary>
</member>
<member name="P:langguanApi.Model.Organized.OrganizedType">
<summary>
1,有组织2无组织
</summary>
</member>
<member name="P:langguanApi.Model.Organized.Order">
<summary>
排序 大在前,小在后
</summary>
</member>
<member name="T:langguanApi.Model.PackageFlag"> <member name="T:langguanApi.Model.PackageFlag">
<summary> <summary>
拆分包及应答标志 拆分包及应答标志
@ -811,6 +849,41 @@
心跳包 心跳包
</summary> </summary>
</member> </member>
<member name="P:langguanApi.Model.Transport.CarNumber">
<summary>
车牌号
</summary>
</member>
<member name="P:langguanApi.Model.Transport.TransportType">
<summary>
1进2出
</summary>
</member>
<member name="P:langguanApi.Model.Transport.Address">
<summary>
位置
</summary>
</member>
<member name="P:langguanApi.Model.Transport.effluent">
<summary>
排放标准
</summary>
</member>
<member name="P:langguanApi.Model.Transport.imgUrl">
<summary>
图片地址
</summary>
</member>
<member name="P:langguanApi.Model.Transport.VIN">
<summary>
</summary>
</member>
<member name="P:langguanApi.Model.Transport.Registered">
<summary>
注册日期
</summary>
</member>
<member name="M:langguanApi.Service.AlertService.Add(langguanApi.Model.Alert)"> <member name="M:langguanApi.Service.AlertService.Add(langguanApi.Model.Alert)">
<summary> <summary>
新加 新加
@ -818,6 +891,12 @@
<param name="input"></param> <param name="input"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:langguanApi.Service.AlertService.IndexData">
<summary>
首页数据,最近7天的
</summary>
<returns></returns>
</member>
<member name="M:langguanApi.Service.AlertService.GetPage(langguanApi.Model.reqpage)"> <member name="M:langguanApi.Service.AlertService.GetPage(langguanApi.Model.reqpage)">
<summary> <summary>
分页取数据 分页取数据
@ -920,6 +999,13 @@
<param name="expression"></param> <param name="expression"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:langguanApi.Service.BaseService`1.Count(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
<summary>
表达式计数
</summary>
<param name="expression"></param>
<returns></returns>
</member>
<member name="M:langguanApi.Service.BaseService`1.FindListByFilter(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})"> <member name="M:langguanApi.Service.BaseService`1.FindListByFilter(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
<summary> <summary>
filter查找 filter查找
@ -1103,7 +1189,7 @@
HomeService HomeService
</summary> </summary>
</member> </member>
<member name="M:langguanApi.Service.HomeService.#ctor(langguanApi.Service.DeviceService,langguanApi.Service.Hj212Service,Microsoft.Extensions.Configuration.IConfiguration,langguanApi.Common.CacheManager,langguanApi.Service.WeatherService)"> <member name="M:langguanApi.Service.HomeService.#ctor(langguanApi.Service.DeviceService,langguanApi.Service.Hj212Service,Microsoft.Extensions.Configuration.IConfiguration,langguanApi.Common.CacheManager,langguanApi.Service.WeatherService,langguanApi.Service.AlertService)">
<summary> <summary>
HomeService HomeService
</summary> </summary>
@ -1145,6 +1231,31 @@
<param name="ip"></param> <param name="ip"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:langguanApi.Service.TransportService">
<summary>
TransportService 运输服务
</summary>
</member>
<member name="M:langguanApi.Service.TransportService.addTransport(langguanApi.Model.Transport)">
<summary>
新增运输
</summary>
<param name="transport"></param>
<returns></returns>
</member>
<member name="M:langguanApi.Service.TransportService.GetPage(langguanApi.Model.reqpage)">
<summary>
分页取数据
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:langguanApi.Service.TransportService.GetCount">
<summary>
获取清洁运输统计数字
</summary>
<returns></returns>
</member>
<member name="M:langguanApi.Service.WeatherService.GetWeather"> <member name="M:langguanApi.Service.WeatherService.GetWeather">
<summary> <summary>
爬气象局的天气数据% 爬气象局的天气数据%

View File

@ -0,0 +1,42 @@
using langguanApi.Model;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace langguanApi.Controllers
{
/// <summary>
/// 清洁运输
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class TransportController : ControllerBase
{
private TransportService _transportService;
public TransportController(TransportService transportService)
{
_transportService = transportService;
}
/// <summary>
/// 获取清洁运输列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("list")]
public async Task<IActionResult> list([FromQuery] reqpage input)
{
var result = await _transportService.GetPage(input);
return Ok(result);
}
/// <summary>
/// 获取清洁运输数量
/// </summary>
/// <returns></returns>
[HttpGet("count")]
public async Task<IActionResult> Count()
{
var result = await _transportService.GetCount();
return Ok(result);
}
}
}

View File

@ -2,6 +2,12 @@
{ {
public class Alert : BaseModel public class Alert : BaseModel
{ {
public string DeviceId { get; set; }
public string DeviceMn { 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; }
} }
} }

View File

@ -12,5 +12,6 @@
public double lat { get; set; } public double lat { get; set; }
public string desricption { get; set; } public string desricption { get; set; }
public int state { get; set; } public int state { get; set; }
public string NickName { get; set; }
} }
} }

View File

@ -0,0 +1,21 @@
namespace langguanApi.Model
{
/// <summary>
/// Organized 有组织
/// </summary>
public class Organized : BaseModel
{
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 1,有组织2无组织
/// </summary>
public int OrganizedType { get; set; }
/// <summary>
/// 排序 大在前,小在后
/// </summary>
public int Order { get; set; }
}
}

View File

@ -0,0 +1,34 @@
namespace langguanApi.Model
{
public class Transport : BaseModel
{
/// <summary>
/// 车牌号
/// </summary>
public string CarNumber { get; set; }
/// <summary>
/// 1进2出
/// </summary>
public int TransportType { get; set; }
/// <summary>
/// 位置
/// </summary>
public string Address { get; set; }
/// <summary>
/// 排放标准
/// </summary>
public string effluent { get; set; }
/// <summary>
/// 图片地址
/// </summary>
public string imgUrl { get; set; }
/// <summary>
///
/// </summary>
public string VIN { get; set; }
/// <summary>
/// 注册日期
/// </summary>
public DateTime Registered { get; set; }
}
}

View File

@ -8,7 +8,7 @@ namespace langguanApi.Service
[ServiceInjection(InjectionType.Transient)] [ServiceInjection(InjectionType.Transient)]
public class AlertService : BaseService<Alert> public class AlertService : BaseService<Alert>
{ {
public AlertService(IConfiguration config) : base(config, nameof(Device)) public AlertService(IConfiguration config) : base(config, nameof(Alert))
{ {
} }
/// <summary> /// <summary>
@ -26,6 +26,15 @@ namespace langguanApi.Service
return new ApiResult { code = -1, msg = "" }; ; return new ApiResult { code = -1, msg = "" }; ;
} }
/// <summary> /// <summary>
/// 首页数据,最近7天的
/// </summary>
/// <returns></returns>
public async Task<object> IndexData()
{
Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false;
return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime);
}
/// <summary>
/// 分页取数据 /// 分页取数据
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>

View File

@ -149,6 +149,15 @@ namespace langguanApi.Service
return Task.FromResult(_collection.AsQueryable<T>().Where(expression)); return Task.FromResult(_collection.AsQueryable<T>().Where(expression));
} }
/// <summary> /// <summary>
/// 表达式计数
/// </summary>
/// <param name="expression"></param>
/// <returns></returns>
public Task<long> Count(Expression<Func<T, bool>> expression)
{
return Task.FromResult(_collection.AsQueryable<T>().Where(expression).LongCount());
}
/// <summary>
/// filter查找 /// filter查找
/// </summary> /// </summary>
/// <param name="filter"></param> /// <param name="filter"></param>

View File

@ -17,19 +17,22 @@ namespace langguanApi.Service
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private CacheManager _cacheManager; private CacheManager _cacheManager;
private readonly WeatherService _weatherService; private readonly WeatherService _weatherService;
private readonly AlertService _alertService;
/// <summary> /// <summary>
/// HomeService /// HomeService
/// </summary> /// </summary>
/// <param name="device"></param> /// <param name="device"></param>
/// <param name="hj212Service"></param> /// <param name="hj212Service"></param>
public HomeService(DeviceService device, Hj212Service hj212Service, public HomeService(DeviceService device, Hj212Service hj212Service,
IConfiguration configuration, CacheManager cacheManager, WeatherService weatherService) IConfiguration configuration, CacheManager cacheManager,
WeatherService weatherService, AlertService alertService)
{ {
_deviceService = device; _deviceService = device;
_hj212Service = hj212Service; _hj212Service = hj212Service;
_configuration = configuration; _configuration = configuration;
_cacheManager = cacheManager; _cacheManager = cacheManager;
_weatherService = weatherService; _weatherService = weatherService;
_alertService = alertService;
} }
/// <summary> /// <summary>
/// view /// view
@ -41,7 +44,8 @@ namespace langguanApi.Service
var ariQuality = ""; var ariQuality = "";
Expression<Func<Model.HJ212, bool>> filter = exp => true; Expression<Func<Model.HJ212, bool>> filter = exp => true;
var Realtime = await _hj212Service.Realtime(); var Realtime = await _hj212Service.Realtime();
var GetViewTop = await _hj212Service.GetViewTop(); var getViewTop = await _hj212Service.GetViewTop();
var alerts = await _alertService.IndexData();
// 获取天气信息缓存1小时如果不存在则调用WeatherService获取 // 获取天气信息缓存1小时如果不存在则调用WeatherService获取
Func<Task<object>> getWeatherFunc = async () => await _weatherService.GetWeather(); Func<Task<object>> getWeatherFunc = async () => await _weatherService.GetWeather();
var weather = await _cacheManager.GetConvertVale(RedisKeylist.Weather, getWeatherFunc, 60 * 60); var weather = await _cacheManager.GetConvertVale(RedisKeylist.Weather, getWeatherFunc, 60 * 60);
@ -62,8 +66,9 @@ namespace langguanApi.Service
devices, devices,
ariQuality, ariQuality,
Realtime, Realtime,
GetViewTop, getViewTop,
weather weather,
alerts
} }
}; };
} }

View File

@ -0,0 +1,62 @@
using langguanApi.Extensions.AutoDI;
using langguanApi.Model;
using System.Linq.Expressions;
namespace langguanApi.Service
{
/// <summary>
/// TransportService 运输服务
/// </summary>
[ServiceInjection(InjectionType.Transient)]
public class TransportService : BaseService<Transport>
{
public TransportService(IConfiguration config) : base(config, nameof(Transport))
{
}
/// <summary>
/// 新增运输
/// </summary>
/// <param name="transport"></param>
/// <returns></returns>
public async Task<Transport> addTransport(Transport transport)
{
return await base.CreateAsync(transport);
}
/// <summary>
/// 分页取数据
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<object> GetPage(reqpage input)
{
Expression<Func<Transport, bool>> exp = filter => filter.CarNumber.Contains(input.key) && filter.IsDelete == false;
return await base.GetPager(new ReqPaing()
{
pageSize = input.pageSize,
current = input.current
}, exp);
}
/// <summary>
/// 获取清洁运输统计数字
/// </summary>
/// <returns></returns>
public async Task<ApiResult> GetCount()
{
Expression<Func<Transport, bool>> 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
}
};
}
}
}