白名单
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.DbMaintenance.CreateDatabase();
|
||||||
//db.CodeFirst.SetStringDefaultLength(2000).InitTables(typeof(UserEntity));
|
db.CodeFirst.SetStringDefaultLength(2000).InitTables(typeof(Whitelist));
|
||||||
#endif
|
#endif
|
||||||
//过滤器写在这儿就行了
|
//过滤器写在这儿就行了
|
||||||
// db.QueryFilter.AddTableFilter<IDeleted>(it => it.IsDeleted == false);
|
// db.QueryFilter.AddTableFilter<IDeleted>(it => it.IsDeleted == false);
|
||||||
|
|
@ -125,7 +125,7 @@ app.UseCors("CorsPolicy");
|
||||||
//异常中间件
|
//异常中间件
|
||||||
app.UseMiddleware<CustomErrorMiddleware>();
|
app.UseMiddleware<CustomErrorMiddleware>();
|
||||||
//token验证中间件
|
//token验证中间件
|
||||||
app.UseMiddleware<TokenValidationMiddleware>();
|
// app.UseMiddleware<TokenValidationMiddleware>();
|
||||||
//执行匹配的端点
|
//执行匹配的端点
|
||||||
app.UseEndpoints(endpoints =>
|
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