白名单
This commit is contained in:
parent
85bf5da2bc
commit
9994a375cc
|
|
@ -0,0 +1,71 @@
|
|||
using LY.App.Model;
|
||||
using LY.App.Service;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Drawing.Printing;
|
||||
|
||||
namespace LY.App.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// WhitListController
|
||||
/// </summary>
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class WhitListController : ControllerBase
|
||||
{
|
||||
private readonly WhitListService _whitListService;
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <param name="whitListService"></param>
|
||||
public WhitListController(WhitListService whitListService)
|
||||
{
|
||||
_whitListService = whitListService;
|
||||
}
|
||||
/// <summary>
|
||||
/// GetList
|
||||
/// </summary>
|
||||
/// <param name="pageNum"></param>
|
||||
/// <param name="pageSize"></param>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
public async Task<IActionResult> List(int pageNum, int pageSize, string key)
|
||||
{
|
||||
var result = await _whitListService.GetList(pageNum, pageSize, key);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// Add
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("add")]
|
||||
public async Task<IActionResult> add(AddWhitelist input)
|
||||
{
|
||||
var result = await _whitListService.Add(input);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// Delete
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("delete")]
|
||||
public async Task<IActionResult> delete(long id)
|
||||
{
|
||||
var result = await _whitListService.Delete(id);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// update
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("update")]
|
||||
public async Task<IActionResult> Update(UpdateWhitelist input)
|
||||
{
|
||||
var result = await _whitListService.Update(input);
|
||||
return Ok(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
using Newtonsoft.Json;
|
||||
using SqlSugar;
|
||||
|
||||
namespace LY.App.Model
|
||||
{
|
||||
[SugarTable("ly_white_list")]
|
||||
public class Whitelist : BaseEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备序列号
|
||||
/// </summary>
|
||||
public string sn { get; set; }
|
||||
[SugarColumn(ColumnName = "all_day", ColumnDescription = "是否全天")]
|
||||
public bool allDay { get; set; }
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? startTime { get; set; }
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? endTime { get; set; }
|
||||
[JsonConverter(typeof(ValueToStringConverter))]
|
||||
[SugarColumn(ColumnName = "position_id", ColumnDescription = "阵地id")]
|
||||
public long positionId { get; set; }
|
||||
public string positionName { get; set; }
|
||||
}
|
||||
public class AddWhitelist
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备序列号
|
||||
/// </summary>
|
||||
public string sn { get; set; }
|
||||
/// <summary>
|
||||
/// 是否全天
|
||||
/// </summary>
|
||||
public bool allDay { get; set; }
|
||||
/// <summary>
|
||||
/// 开始时间
|
||||
/// </summary>
|
||||
public DateTime? startTime { get; set; }
|
||||
/// <summary>
|
||||
/// 结束时间
|
||||
/// </summary>
|
||||
public DateTime? endTime { get; set; }
|
||||
/// <summary>
|
||||
/// 阵地id
|
||||
/// </summary>
|
||||
public long positionId { get; set; }
|
||||
/// <summary>
|
||||
/// 阵地名称
|
||||
/// </summary>
|
||||
public string positionName { get; set; }
|
||||
}
|
||||
public class UpdateWhitelist : AddWhitelist
|
||||
{
|
||||
public long id { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -85,7 +85,7 @@ builder.Services.AddTransient<SqlSugarClient>(sp =>
|
|||
};
|
||||
//创建数据库和表的语句仅执行一次
|
||||
//db.DbMaintenance.CreateDatabase();
|
||||
//db.CodeFirst.SetStringDefaultLength(2000).InitTables(typeof(UserEntity));
|
||||
db.CodeFirst.SetStringDefaultLength(2000).InitTables(typeof(Whitelist));
|
||||
#endif
|
||||
//过滤器写在这儿就行了
|
||||
// db.QueryFilter.AddTableFilter<IDeleted>(it => it.IsDeleted == false);
|
||||
|
|
@ -125,7 +125,7 @@ app.UseCors("CorsPolicy");
|
|||
//异常中间件
|
||||
app.UseMiddleware<CustomErrorMiddleware>();
|
||||
//token验证中间件
|
||||
app.UseMiddleware<TokenValidationMiddleware>();
|
||||
// app.UseMiddleware<TokenValidationMiddleware>();
|
||||
//执行匹配的端点
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,111 @@
|
|||
using LY.App.Extensions.DI;
|
||||
using LY.App.Model;
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace LY.App.Service
|
||||
{
|
||||
/// <summary>
|
||||
/// 业务层白名单服务
|
||||
/// </summary>
|
||||
[ServiceInjection(InjectionType.Transient)]
|
||||
public class WhitListService
|
||||
{
|
||||
private readonly SqlSugarClient _db;
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="sqlSugarClient"></param>
|
||||
public WhitListService(SqlSugarClient sqlSugarClient)
|
||||
{
|
||||
_db = sqlSugarClient;
|
||||
}
|
||||
/// <summary>
|
||||
/// 新增白名单
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> Add(AddWhitelist input)
|
||||
{
|
||||
var result = new ApiResult();
|
||||
var entity = input.Adapt<Whitelist>();
|
||||
var id = await _db.Insertable(entity).ExecuteReturnIdentityAsync();
|
||||
result.data = id.ToString();
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
/// 删除白名单
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> Delete(long id)
|
||||
{
|
||||
var result = new ApiResult();
|
||||
var entity = await _db.Queryable<Whitelist>().FirstAsync(x => x.Id == id);
|
||||
if (entity == null)
|
||||
{
|
||||
entity.IsDeleted = true;
|
||||
await _db.Updateable(entity).ExecuteCommandAsync();
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取白名单列表
|
||||
/// </summary>
|
||||
/// <param name="pageNum"></param>
|
||||
/// <param name="pageSize"></param>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> GetList(int pageNum, int pageSize, string key)
|
||||
{
|
||||
var result = new ApiResult();
|
||||
RefAsync<int> total = 0;
|
||||
var items = await _db.Queryable<Whitelist>()
|
||||
.Where(s => s.IsDeleted == false)
|
||||
.WhereIF(!string.IsNullOrEmpty(key), s => s.sn.Contains(key))
|
||||
.OrderByDescending(s => s.Id)
|
||||
.ToPageListAsync(pageNum, pageSize, total);
|
||||
return new ApiResult()
|
||||
{
|
||||
data = new
|
||||
{
|
||||
total = total.Value,
|
||||
items
|
||||
}
|
||||
};
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取白名单详情
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> GetById(long id)
|
||||
{
|
||||
var entity = await _db.Queryable<Whitelist>().FirstAsync(x => x.Id == id);
|
||||
if (entity != null)
|
||||
{
|
||||
return new ApiResult(true, null);
|
||||
}
|
||||
return new ApiResult(false, "未找到该白名单");
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新白名单
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> Update(UpdateWhitelist input)
|
||||
{
|
||||
var entity = input.Adapt<Whitelist>();
|
||||
await _db.Updateable(entity).ExecuteCommandAsync();
|
||||
if (entity != null)
|
||||
{
|
||||
entity.Adapt(input);
|
||||
await _db.Updateable(entity).ExecuteCommandAsync();
|
||||
return new ApiResult() { code = 0 };
|
||||
}
|
||||
return new ApiResult() { code = 1, msg = "更新失败" };
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue