1
This commit is contained in:
105
IDIS_Server-SIM/Controllers/IDIS_QueryController.cs
Normal file
105
IDIS_Server-SIM/Controllers/IDIS_QueryController.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using System.Data.Entity;
|
||||
using BITKit;
|
||||
using IDIS;
|
||||
using IDIS_Server_SIM.Data;
|
||||
using IDIS_Server_SIM.Extensions;
|
||||
using IDIS.Models;
|
||||
using IDIS.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace IDIS_Server_SIM.Controllers;
|
||||
|
||||
[ApiController]
|
||||
public class IDIS_QueryController:Controller
|
||||
{
|
||||
private readonly IDIS_Statistics_MySQLBased _statisticsService;
|
||||
private readonly IDIS_Service_MySQLBased _service;
|
||||
private readonly QueryService _queryService;
|
||||
private readonly ILogger<IDIS_QueryController> _logger;
|
||||
public IDIS_QueryController(IDIS_Statistics_MySQLBased statisticsService, ILogger<IDIS_QueryController> logger, QueryService queryService, IDIS_Service_MySQLBased service)
|
||||
{
|
||||
_statisticsService = statisticsService;
|
||||
_logger = logger;
|
||||
_queryService = queryService;
|
||||
_service = service;
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询当日的解析的标识
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("/api/query/today")]
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> GetTodayQuery()
|
||||
{
|
||||
var result = await _statisticsService.GetTodayQuery();
|
||||
|
||||
return new IDIS_Response(result).ToActionResult();
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询该标识的解析次数
|
||||
/// </summary>
|
||||
/// <param name="handle">标识码,标识码为null则是查询所有表示的解析次数</param>
|
||||
/// <returns></returns>
|
||||
[Route("/api/query/count")]
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> GetQueryCount(string handle=null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(handle))
|
||||
{
|
||||
var result =await EntityFrameworkQueryableExtensions.ToArrayAsync(_statisticsService.queryCounter);
|
||||
return new IDIS_Response(result).ToActionResult();
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = await _statisticsService.GetQueryCount(handle);
|
||||
return new IDIS_Response(result).ToActionResult();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询所有标识的解析次数综合
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route(("/api/query/all_count"))]
|
||||
public async Task<IActionResult> GetQueryAllCount()
|
||||
{
|
||||
return new IDIS_Response(await _statisticsService.GetAllQueryCount()).ToActionResult();
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取所有标识的数量
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route(("/api/all_count"))]
|
||||
public IActionResult GetAllCount()
|
||||
{
|
||||
var count = _service.handles.Count();
|
||||
return new IDIS_Response(count).ToActionResult();
|
||||
}
|
||||
/// <summary>
|
||||
/// 通过标签查询标识
|
||||
/// </summary>
|
||||
/// <param name="tags">标签,多个标签使用;分隔</param>
|
||||
/// <param name="today">是否仅查询今日的标识</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route(("/api/query/by"))]
|
||||
public async Task<IActionResult> GetQueryByTag(string tags,bool today=false)
|
||||
{
|
||||
return new IDIS_Response(await _queryService.QueryByTag(today,tags.Split(";"))).ToActionResult();
|
||||
}
|
||||
/// <summary>
|
||||
/// 通过Tag获取解析记录
|
||||
/// </summary>
|
||||
/// <param name="tags">标签,多个标签使用;分隔</param>
|
||||
/// <param name="today">是否仅查询今日的标识</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route(("/api/queryRecords/by"))]
|
||||
public async Task<IActionResult> GetQueryRecordsByTag(string tags, bool today = false)
|
||||
{
|
||||
return new IDIS_Response(await _queryService.QueryRecordsByTag(today,tags.Split(";"))).ToActionResult();
|
||||
}
|
||||
}
|
@@ -15,15 +15,51 @@ public class IDIS_ServiceController:Controller
|
||||
{
|
||||
_service = service;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取服务器信息
|
||||
/// </summary>
|
||||
/// <returns>主机名称</returns>
|
||||
[HttpGet]
|
||||
[Route("info")]
|
||||
public IActionResult Info()
|
||||
{
|
||||
return new ContentResult
|
||||
{
|
||||
Content = Environment.MachineName
|
||||
};
|
||||
return Ok(new IDIS_Response(Environment.MachineName));
|
||||
}
|
||||
/// <summary>
|
||||
/// 一次解析所有标识
|
||||
/// </summary>
|
||||
/// <returns>所有标识的数组</returns>
|
||||
[HttpGet]
|
||||
[Route("/identityv2/data/detail/all")]
|
||||
public async Task<IActionResult> QueryAll()
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _service.ToArrayAsync();
|
||||
var response = new IDIS_Response(result);
|
||||
var json = JsonConvert.SerializeObject(response);
|
||||
//return Ok(JsonConvert.SerializeObject(response));
|
||||
return new ContentResult()
|
||||
{
|
||||
Content = json,
|
||||
ContentType = "application/json",
|
||||
StatusCode = 200
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return BadRequest(new IDIS_Response(e.Message,false)
|
||||
{
|
||||
Status = 2
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析表示
|
||||
/// </summary>
|
||||
/// <param name="handle">标识码</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("/identityv2/data/detail")]
|
||||
public async Task<IActionResult> Query(string handle)
|
||||
@@ -49,14 +85,21 @@ public class IDIS_ServiceController:Controller
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询标识是否存在
|
||||
/// </summary>
|
||||
/// <param name="code">标识码</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("isExist")]
|
||||
public async Task<IActionResult> IsExist(string code)
|
||||
{
|
||||
return Ok(new IDIS_Response(await _service.IsExistAsync(code)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 注册标识
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("/identityv2/data")]
|
||||
public async Task<IActionResult> Register()
|
||||
@@ -78,12 +121,21 @@ public class IDIS_ServiceController:Controller
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新标识(目前不可用)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("update")]
|
||||
public string Update()
|
||||
{
|
||||
return "err:0";
|
||||
}
|
||||
/// <summary>
|
||||
/// 删除标识
|
||||
/// </summary>
|
||||
/// <param name="code">标识码</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("delete")]
|
||||
public async Task<bool> Delete (string code)
|
||||
|
@@ -1,36 +0,0 @@
|
||||
using BITKit;
|
||||
using IDIS;
|
||||
using IDIS_Server_SIM.Extensions;
|
||||
using IDIS.Models;
|
||||
using IDIS.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace IDIS_Server_SIM.Controllers;
|
||||
|
||||
[ApiController]
|
||||
public class IDIS_StatisticsController:Controller
|
||||
{
|
||||
private readonly IDIS_Statistics_MySQLBased _service;
|
||||
private readonly ILogger<IDIS_StatisticsController> _logger;
|
||||
public IDIS_StatisticsController(IDIS_Statistics_MySQLBased service, ILogger<IDIS_StatisticsController> logger)
|
||||
{
|
||||
_service = service;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[Route("/api/query/today")]
|
||||
public async Task<IActionResult> GetTodayQuery()
|
||||
{
|
||||
var result = await _service.GetTodayQuery();
|
||||
|
||||
return new IDIS_Response(result).ToActionResult();
|
||||
}
|
||||
[Route("/api/query/count")]
|
||||
public async Task<IActionResult> GetQueryCount(string handle)
|
||||
{
|
||||
var result = await _service.GetQueryCount(handle);
|
||||
|
||||
return new IDIS_Response(result).ToActionResult();
|
||||
}
|
||||
}
|
@@ -19,7 +19,12 @@ public class IDIS_TemplateController:Controller
|
||||
_service = service;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询标识模板
|
||||
/// </summary>
|
||||
/// <param name="prefix">前缀,例如88.123.99</param>
|
||||
/// <param name="version">版本,例如v0.0.1</param>
|
||||
/// <returns></returns>
|
||||
[Route("/snms/api/template/v1")]
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> Query(string prefix, string version)
|
||||
@@ -36,7 +41,10 @@ public class IDIS_TemplateController:Controller
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存标识模板
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("/snms/api/template/v1")]
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Save()
|
||||
|
Reference in New Issue
Block a user