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);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|