148 lines
5.3 KiB
C#
148 lines
5.3 KiB
C#
using APT.BaseData.Domain.Entities;
|
||
using APT.BaseData.Domain.IServices;
|
||
using APT.Infrastructure.Core;
|
||
using APT.Utility;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using APT.Infrastructure.Api;
|
||
using APT.Infrastructure.Api.Redis;
|
||
using APT.MS.Domain.ApiModel.PF;
|
||
|
||
namespace APT.MS.WebApiControllers.Api.PF
|
||
{
|
||
[Route("api/PF/Redis")]
|
||
public class RedisController : AuthorizeTreeApiController<T_PF_MENU>
|
||
{
|
||
|
||
/// <summary>
|
||
/// 查询
|
||
/// </summary>
|
||
/// <param name="pageFilter"></param>
|
||
/// <returns></returns>
|
||
[HttpPost, Route("Entities")]
|
||
public JsonActionResult<List<RedisModel>> Entities([FromBody] KeywordFilter filter)
|
||
{
|
||
return SafeExecute<List<RedisModel>>(() =>
|
||
{
|
||
RedisManager manager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
||
return manager.GetListKeys(filter.GetOrgId())
|
||
.Select(x => new RedisModel { ID = x.Name, HashEntry = x }).ToList();
|
||
});
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查询
|
||
/// </summary>
|
||
/// <param name="pageFilter"></param>
|
||
/// <returns></returns>
|
||
[HttpPost, Route("Paged")]
|
||
public PagedActionResult<RedisModel> Paged([FromBody] KeywordPageFilter pageFilter)
|
||
{
|
||
return SafeGetPagedData<RedisModel>((result) =>
|
||
{
|
||
RedisManager manager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
||
var list = manager.GetListKeys(pageFilter.GetOrgId());
|
||
if (!string.IsNullOrEmpty(pageFilter.Parameter1))
|
||
{
|
||
string name = pageFilter.Parameter1;
|
||
list = list.Where(i => i.Name.ToString().Contains(name)).ToList();
|
||
}
|
||
result.TotalCount = list.Count;
|
||
result.Data = list.Skip(pageFilter.Start).Take(pageFilter.Limit)
|
||
.Select(x => new RedisModel { ID = x.Name, HashEntry = x }).ToList();
|
||
});
|
||
}
|
||
/// <summary>
|
||
/// 删除
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
[HttpPost, Route("Clear")]
|
||
public JsonActionResult<bool> Clear([FromBody] KeywordFilter filter)
|
||
{
|
||
return SafeExecute<bool>(() =>
|
||
{
|
||
RedisManager manager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
||
if (manager.ExistsListKeys(filter.GetOrgId(), filter.Keyword))
|
||
{
|
||
var redisDataKey = manager.GetListKey(filter.GetOrgId(), filter.Keyword);
|
||
if (CsRedisManager.KeyExists(redisDataKey))
|
||
{
|
||
CsRedisManager.KeyDelete(redisDataKey);
|
||
}
|
||
manager.DeleteListKeys(filter.GetOrgId(), filter.Keyword);
|
||
}
|
||
return true;
|
||
});
|
||
}
|
||
|
||
[HttpPost, Route("SetStyle")]
|
||
public JsonActionResult<bool> SetStyle([FromBody] KeywordFilter filter)
|
||
{
|
||
return SafeExecute<bool>(() =>
|
||
{
|
||
|
||
if (string.IsNullOrEmpty(filter.Keyword))
|
||
this.ThrowError("020023");
|
||
if (string.IsNullOrEmpty(filter.Parameter1))
|
||
this.ThrowError("020024");
|
||
var keyPer = "Style_";
|
||
int styleModel = int.Parse(filter.Parameter1);
|
||
//RedisManager manager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
||
return CsRedisManager.StringSet<int>(keyPer + filter.Keyword, styleModel);
|
||
});
|
||
}
|
||
|
||
[HttpPost, Route("GetStyle")]
|
||
public JsonActionResult<int> GetStyle([FromBody] KeywordFilter filter)
|
||
{
|
||
return SafeExecute<int>(() =>
|
||
{
|
||
var style = 0;
|
||
if (string.IsNullOrEmpty(filter.Keyword))
|
||
this.ThrowError("020023");
|
||
var keyPer = "Style_";
|
||
//RedisManager manager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
||
if (CsRedisManager.KeyExists(keyPer + filter.Keyword))
|
||
{
|
||
style = CsRedisManager.StringGet<int>(keyPer + filter.Keyword);
|
||
}
|
||
return style;
|
||
});
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// Keyword:key
|
||
/// Parameter1:value
|
||
/// </summary>
|
||
/// <param name="filter"></param>
|
||
/// <returns></returns>
|
||
[HttpPost, Route("SetValue")]
|
||
public JsonActionResult<bool> SetValue([FromBody] KeywordFilter filter)
|
||
{
|
||
return SafeExecute<bool>(() =>
|
||
{
|
||
CsRedisManager.StringSet(filter.Keyword + filter.OrgId, filter.Parameter1);
|
||
return true;
|
||
});
|
||
}
|
||
|
||
/// <summary>
|
||
/// 返回value
|
||
/// </summary>
|
||
/// <param name="key"></param>
|
||
/// <returns></returns>
|
||
[HttpPost, Route("GetValue")]
|
||
public JsonActionResult<string> GetValue([FromBody] KeywordFilter filter)
|
||
{
|
||
return SafeExecute<string>(() =>
|
||
{
|
||
return CsRedisManager.StringGet(filter.Keyword + filter.OrgId);
|
||
});
|
||
}
|
||
}
|
||
}
|