从缓存读取数据连接和用户名称
This commit is contained in:
@@ -22,6 +22,7 @@ using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
using JNPF.VisualDev.Interfaces;
|
||||
using JNPF.WorkFlow.Entitys.Entity;
|
||||
using Mapster;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using SqlSugar;
|
||||
|
||||
@@ -54,44 +55,51 @@ public class FormDataParsing : ITransient
|
||||
/// </summary>
|
||||
private readonly ICacheManager _cacheManager;
|
||||
|
||||
/// <summary>
|
||||
/// 服务基础仓储.
|
||||
/// </summary>
|
||||
private readonly ISqlSugarRepository<VisualDevEntity> _db;
|
||||
/// <summary>
|
||||
/// 缓存管理.
|
||||
/// </summary>
|
||||
private readonly IMemoryCache _memCache;
|
||||
|
||||
/// <summary>
|
||||
/// 构造.
|
||||
/// </summary>
|
||||
/// <param name="userManager"></param>
|
||||
/// <param name="cacheManager"></param>
|
||||
/// <param name="databaseService"></param>
|
||||
/// <param name="dataInterfaceService"></param>
|
||||
/// <param name="context"></param>
|
||||
public FormDataParsing(
|
||||
IUserManager userManager,
|
||||
ICacheManager cacheManager,
|
||||
IDataBaseManager databaseService,
|
||||
IDataInterfaceService dataInterfaceService,
|
||||
ISqlSugarRepository<VisualDevEntity> context)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_cacheManager = cacheManager;
|
||||
_databaseService = databaseService;
|
||||
_dataInterfaceService = dataInterfaceService;
|
||||
_db = context;
|
||||
}
|
||||
#endregion
|
||||
/// <summary>
|
||||
/// 服务基础仓储.
|
||||
/// </summary>
|
||||
private readonly ISqlSugarRepository<VisualDevEntity> _db;
|
||||
|
||||
#region 解析模板数据
|
||||
/// <summary>
|
||||
/// 构造.
|
||||
/// </summary>
|
||||
/// <param name="userManager"></param>
|
||||
/// <param name="cacheManager"></param>
|
||||
/// <param name="databaseService"></param>
|
||||
/// <param name="dataInterfaceService"></param>
|
||||
/// <param name="context"></param>
|
||||
public FormDataParsing(
|
||||
IUserManager userManager,
|
||||
ICacheManager cacheManager,
|
||||
IDataBaseManager databaseService,
|
||||
IDataInterfaceService dataInterfaceService,
|
||||
ISqlSugarRepository<VisualDevEntity> context,
|
||||
IMemoryCache memCache)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_cacheManager = cacheManager;
|
||||
_databaseService = databaseService;
|
||||
_dataInterfaceService = dataInterfaceService;
|
||||
_db = context;
|
||||
_memCache = memCache;
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 控制模板数据转换.
|
||||
/// </summary>
|
||||
/// <param name="data">数据.</param>
|
||||
/// <param name="fieldsModel">数据模板.</param>
|
||||
/// <param name="actionType">操作类型(List-列表值,create-创建值,update-更新值,detail-详情值,transition-过渡值,query-查询).</param>
|
||||
/// <returns>object.</returns>
|
||||
public object TemplateControlsDataConversion(object data, FieldsModel fieldsModel, string? actionType = null)
|
||||
#region 解析模板数据
|
||||
|
||||
/// <summary>
|
||||
/// 控制模板数据转换.
|
||||
/// </summary>
|
||||
/// <param name="data">数据.</param>
|
||||
/// <param name="fieldsModel">数据模板.</param>
|
||||
/// <param name="actionType">操作类型(List-列表值,create-创建值,update-更新值,detail-详情值,transition-过渡值,query-查询).</param>
|
||||
/// <returns>object.</returns>
|
||||
public object TemplateControlsDataConversion(object data, FieldsModel fieldsModel, string? actionType = null)
|
||||
{
|
||||
if (fieldsModel == null || data == null || data.Equals("[]") || data.ToString().Equals("[]") || string.IsNullOrEmpty(data.ToString())) return string.Empty;
|
||||
try
|
||||
@@ -1707,18 +1715,30 @@ public class FormDataParsing : ITransient
|
||||
}
|
||||
break;
|
||||
case JnpfKeyConst.CURRDEPT:
|
||||
dataMap[key] = (await _db.AsSugarClient().Queryable<OrganizeEntity>().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
|
||||
dataMap[key] = await _memCache.GetOrCreateAsync($"organizeId_{dataValue}", async entry =>
|
||||
{
|
||||
entry.SlidingExpiration = TimeSpan.FromSeconds(60);
|
||||
return (await _db.AsSugarClient().Queryable<OrganizeEntity>().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
|
||||
});
|
||||
break;
|
||||
case JnpfKeyConst.MODIFYUSER:
|
||||
case JnpfKeyConst.CREATEUSER:
|
||||
dataMap[key] = await _db.AsSugarClient().Queryable<UserEntity>().Where(x => x.Id == dataValue.ToString()).Select(x => SqlFunc.MergeString(x.RealName, "/", x.Account)).FirstAsync();
|
||||
dataMap[key] = await _memCache.GetOrCreateAsync($"userId_{dataValue}", async entry =>
|
||||
{
|
||||
entry.SlidingExpiration = TimeSpan.FromSeconds(60);
|
||||
return await _db.AsSugarClient().Queryable<UserEntity>().Where(x => x.Id == dataValue.ToString()).Select(x => SqlFunc.MergeString(x.RealName, "/", x.Account)).FirstAsync();
|
||||
});
|
||||
break;
|
||||
case JnpfKeyConst.MODIFYTIME:
|
||||
case JnpfKeyConst.CREATETIME:
|
||||
dataMap[key] = string.Format("{0:yyyy-MM-dd HH:mm:ss}", dataMap[key].ToString().ParseToDateTime());
|
||||
break;
|
||||
case JnpfKeyConst.CURRPOSITION:
|
||||
dataMap[key] = (await _db.AsSugarClient().Queryable<PositionEntity>().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
|
||||
dataMap[key] = await _memCache.GetOrCreateAsync($"positionId_{dataValue}", async entry =>
|
||||
{
|
||||
entry.SlidingExpiration = TimeSpan.FromSeconds(60);
|
||||
return (await _db.AsSugarClient().Queryable<PositionEntity>().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
|
||||
});
|
||||
break;
|
||||
case JnpfKeyConst.POPUPTABLESELECT:
|
||||
case JnpfKeyConst.POPUPSELECT:
|
||||
|
||||
@@ -205,7 +205,8 @@ public class RunService : IRunService, ITransient
|
||||
{
|
||||
if (templateInfo.SingleFormData.Any(x => x.__config__.templateJson != null && x.__config__.templateJson.Any()))
|
||||
realList.list = await _formDataParsing.GetKeyData(templateInfo.SingleFormData.Where(x => x.__config__.templateJson != null && x.__config__.templateJson.Any()).ToList(), realList.list, templateInfo.ColumnData, actionType, templateInfo.WebType, primaryKey);
|
||||
realList.list = await _formDataParsing.GetKeyData(templateInfo.SingleFormData.Where(x => x.__config__.templateJson == null).ToList(), realList.list, templateInfo.ColumnData, actionType, templateInfo.WebType, primaryKey);
|
||||
else
|
||||
realList.list = await _formDataParsing.GetKeyData(templateInfo.SingleFormData.Where(x => x.__config__.templateJson == null).ToList(), realList.list, templateInfo.ColumnData, actionType, templateInfo.WebType, primaryKey);
|
||||
|
||||
// 如果是无表数据并且排序字段不为空,再进行数据排序
|
||||
if (!templateInfo.IsHasTable && input.sidx.IsNotEmptyOrNull())
|
||||
|
||||
Reference in New Issue
Block a user