using Rhea.Common;
using Microsoft.AspNetCore.Mvc;
using System;
using Tiger.IBusiness;
using System.Linq;
using System.Threading.Tasks;
namespace Tiger.Api.Controllers.Base
{
public partial class CacheController : ControllerBase
{
///
/// GetSysParam(ApiAction(Data:PARAM_CODE))
/// 根据系统参数代码返回系统参数对象
///
///
///
[HttpPost]
public async Task GetSysParam([FromBody] ApiAction action)
{
ApiAction response;
try
{
response = action.GetResponse(DI.Resolve().GetSysParamCache()[action.Data?.ToString() ?? ""]);
}
catch (System.Exception ex)
{
response = action.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// GetSysParamGroup(ApiAction(Data:PRMG_CODE))
/// 根据系统参数组代码返回系统参数组对象
///
///
///
[HttpPost]
public async Task GetSysParamGroup([FromBody] ApiAction action)
{
ApiAction response;
try
{
response = action.GetResponse(DI.Resolve().GetSysParamCache().Groups.FirstOrDefault(q => q.PRMG_CODE == (action.Data?.ToString() ?? "")));
}
catch (Exception ex)
{
response = action.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// GetSysParamType(ApiAction(Data:PRMG_TYPE))
/// 根据系统参数组类型返回系统参数组列表
///
///
///
[HttpPost]
public async Task GetSysParamType([FromBody] ApiAction action)
{
ApiAction response;
try
{
response = action.GetResponse(DI.Resolve().GetSysParamCache().Groups.Where(q => q.PRMG_TYPE == (action.Data?.ToString() ?? "")).ToList());
}
catch (Exception ex)
{
response = action.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
}
}