增加心跳接口
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"SpecificationDocumentSettings": {
|
"SpecificationDocumentSettings": {
|
||||||
"DocumentTitle": "JNPF.NET",
|
"DocumentTitle": "ToTong Next Builder",
|
||||||
"DocExpansionState": "None",
|
"DocExpansionState": "None",
|
||||||
"RoutePrefix": "swagger",
|
"RoutePrefix": "swagger",
|
||||||
"GroupOpenApiInfos": [
|
"GroupOpenApiInfos": [
|
||||||
{
|
{
|
||||||
"Group": "Default",
|
"Group": "Default",
|
||||||
"Title": "JNPF快捷开发平台",
|
"Title": "ToTong Next Builder",
|
||||||
"Description": "",
|
"Description": "",
|
||||||
"Version": "3.4.5"
|
"Version": "3.4.5"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<NoWarn>$(NoWarn);CS1591;CA1307;CS8625;CS8600;CS8601;CS8604;CS8618;</NoWarn>
|
<NoWarn>$(NoWarn);CS1591;CA1307;CS8625;CS8600;CS8601;CS8604;CS8618;</NoWarn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<!--<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
<DebugType>none</DebugType>
|
<DebugType>none</DebugType>
|
||||||
<DebugSymbols>false</DebugSymbols>
|
<DebugSymbols>false</DebugSymbols>
|
||||||
</PropertyGroup>
|
</PropertyGroup>-->
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -87,7 +87,7 @@ where TEntity : class, new()
|
|||||||
};
|
};
|
||||||
base.Context.Aop.OnError = (ex) =>
|
base.Context.Aop.OnError = (ex) =>
|
||||||
{
|
{
|
||||||
Log.Error(UtilMethods.GetSqlString(base.Context.CurrentConnectionConfig.DbType, ex.Sql, (SugarParameter[])ex.Parametres));
|
Log.Error("SQL执行错误: " + UtilMethods.GetSqlString(base.Context.CurrentConnectionConfig.DbType, ex.Sql, (SugarParameter[])ex.Parametres));
|
||||||
//App.PrintToMiniProfiler("SqlSugar", "Error", $"{ex.Message}{Environment.NewLine}{ex.Sql}{pars}{Environment.NewLine}");
|
//App.PrintToMiniProfiler("SqlSugar", "Error", $"{ex.Message}{Environment.NewLine}{ex.Sql}{pars}{Environment.NewLine}");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
35
system/Tnb.Systems/Common/HeartbeatService.cs
Normal file
35
system/Tnb.Systems/Common/HeartbeatService.cs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
using System.Data;
|
||||||
|
using JNPF.Common.Core.Manager;
|
||||||
|
using JNPF.Common.Filter;
|
||||||
|
using JNPF.Common.Security;
|
||||||
|
using JNPF.DependencyInjection;
|
||||||
|
using JNPF.DynamicApiController;
|
||||||
|
using JNPF.Extras.Thirdparty.JSEngine;
|
||||||
|
using JNPF.JsonSerialization;
|
||||||
|
using JNPF.Logging.Attributes;
|
||||||
|
using JNPF.Systems.Entitys.Permission;
|
||||||
|
using JNPF.Systems.Entitys.System;
|
||||||
|
using JNPF.TaskScheduler;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Cors;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace JNPF.Systems.Common;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 测试接口.
|
||||||
|
/// </summary>
|
||||||
|
[ApiDescriptionSettings(Name = "Test", Order = 900)]
|
||||||
|
[Route("api")]
|
||||||
|
public class HeartbeatService : IDynamicApiController, ITransient
|
||||||
|
{
|
||||||
|
[HttpGet("heartbeat")]
|
||||||
|
[AllowAnonymous]
|
||||||
|
[IgnoreLog]
|
||||||
|
public string Heartbeat()
|
||||||
|
{
|
||||||
|
return DateTime.Now.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -8,6 +8,7 @@ using JNPF.Extras.Thirdparty.JSEngine;
|
|||||||
using JNPF.JsonSerialization;
|
using JNPF.JsonSerialization;
|
||||||
using JNPF.Logging.Attributes;
|
using JNPF.Logging.Attributes;
|
||||||
using JNPF.Systems.Entitys.Permission;
|
using JNPF.Systems.Entitys.Permission;
|
||||||
|
using JNPF.Systems.Entitys.System;
|
||||||
using JNPF.TaskScheduler;
|
using JNPF.TaskScheduler;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Cors;
|
using Microsoft.AspNetCore.Cors;
|
||||||
@@ -24,14 +25,14 @@ namespace JNPF.Systems.Common;
|
|||||||
public class TestService : IDynamicApiController, ITransient
|
public class TestService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarRepository<UserEntity> _repository;
|
private readonly ISqlSugarRepository<UserEntity> _repository;
|
||||||
private readonly SqlSugarScope _sugar;
|
private readonly IDataBaseManager _dbService;
|
||||||
private readonly IDataBaseManager _databaseService;
|
private SqlSugarScope _sugar;
|
||||||
|
|
||||||
public TestService(ISqlSugarRepository<UserEntity> repository, IDataBaseManager databaseService)
|
public TestService(ISqlSugarRepository<UserEntity> repository, IDataBaseManager databaseService)
|
||||||
{
|
{
|
||||||
_repository = repository;
|
_repository = repository;
|
||||||
_sugar = (SqlSugarScope)repository.AsSugarClient();
|
_sugar = (SqlSugarScope)repository.AsSugarClient();
|
||||||
_databaseService = databaseService;
|
_dbService = databaseService;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("test")]
|
[HttpGet("test")]
|
||||||
@@ -56,10 +57,16 @@ public class TestService : IDynamicApiController, ITransient
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void xx(UserEntity user)
|
[HttpGet]
|
||||||
|
[AllowAnonymous]
|
||||||
|
public async Task<dynamic> TestSql()
|
||||||
{
|
{
|
||||||
user.Account = "2312321";
|
var dbLinks = await _repository.AsSugarClient().Queryable<DbLinkEntity>().OrderBy(a=>a.SortCode).ToListAsync();
|
||||||
|
_sugar = _dbService.ChangeDataBase(dbLinks[0]);
|
||||||
|
var prd = await _sugar.Ado.SqlQueryAsync<dynamic>("select * from bas_item");
|
||||||
|
var userName = await _repository.AsSugarClient().Queryable<UserEntity>().Where(x => x.Id == "24755317657621").Select(x => SqlFunc.MergeString(x.RealName, " / ", x.Account)).FirstAsync();
|
||||||
|
|
||||||
|
return prd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void xx1(UserEntity user)
|
public void xx1(UserEntity user)
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ public class RunService : IRunService, ITransient
|
|||||||
LogicalDelete(templateInfo); // 处理软删除
|
LogicalDelete(templateInfo); // 处理软删除
|
||||||
primaryKey = GetPrimary(link, templateInfo.MainTableName);
|
primaryKey = GetPrimary(link, templateInfo.MainTableName);
|
||||||
bool udp = _userManager.UserOrigin == "pc" ? templateInfo.ColumnData.useDataPermission : templateInfo.AppColumnData.useDataPermission;
|
bool udp = _userManager.UserOrigin == "pc" ? templateInfo.ColumnData.useDataPermission : templateInfo.AppColumnData.useDataPermission;
|
||||||
var pvalue = _userManager.GetCondition<Dictionary<string, object>>(primaryKey, input.menuId, udp).Result;
|
var pvalue = await _userManager.GetCondition<Dictionary<string, object>>(primaryKey, input.menuId, udp);
|
||||||
var pvalueJson = pvalue.ToJsonString();
|
var pvalueJson = pvalue.ToJsonString();
|
||||||
foreach (var item in templateInfo.AllTableFields)
|
foreach (var item in templateInfo.AllTableFields)
|
||||||
{
|
{
|
||||||
|
|||||||
29
workflow/Tnb.WorkFlow.Entitys/Model/FlowTemplateModel.cs
Normal file
29
workflow/Tnb.WorkFlow.Entitys/Model/FlowTemplateModel.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using JNPF.DependencyInjection;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
namespace JNPF.WorkFlow.Entitys.Model;
|
||||||
|
|
||||||
|
[SuppressSniffer]
|
||||||
|
public class FlowTemplateModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// id.
|
||||||
|
/// </summary>
|
||||||
|
public string id { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程id.
|
||||||
|
/// </summary>
|
||||||
|
public string flowId { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程名称.
|
||||||
|
/// </summary>
|
||||||
|
public string fullName { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子节点.
|
||||||
|
/// </summary>
|
||||||
|
public FlowTemplateJsonModel? flowTemplateJson { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -617,7 +617,7 @@ public class FlowTemplateService : IFlowTemplateService, IDynamicApiController,
|
|||||||
await _repository.AsSugarClient().Insertable(visibleList).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync();
|
await _repository.AsSugarClient().Insertable(visibleList).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync();
|
||||||
|
|
||||||
#region 功能流程则要回写到对应的表单表中
|
#region 功能流程则要回写到对应的表单表中
|
||||||
GetFormIdList(flowTemplateJson.ToObject<FlowTemplateJsonModel>(), formIdList);
|
GetFormIdList(flowTemplateJson.ToObject<List<FlowTemplateModel>>().First().flowTemplateJson, formIdList);
|
||||||
foreach (var item in formIdList)
|
foreach (var item in formIdList)
|
||||||
{
|
{
|
||||||
var formRelationEntity = new FlowFormRelationEntity
|
var formRelationEntity = new FlowFormRelationEntity
|
||||||
@@ -700,7 +700,7 @@ public class FlowTemplateService : IFlowTemplateService, IDynamicApiController,
|
|||||||
}
|
}
|
||||||
if (visibleList.Count > 0)
|
if (visibleList.Count > 0)
|
||||||
await _repository.AsSugarClient().Insertable(visibleList).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync();
|
await _repository.AsSugarClient().Insertable(visibleList).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync();
|
||||||
GetFormIdList(flowTemplateJson.ToObject<FlowTemplateJsonModel>(), formIdList);
|
GetFormIdList(flowTemplateJson.ToObject<List<FlowTemplateModel>>().First().flowTemplateJson, formIdList);
|
||||||
foreach (var item in formIdList)
|
foreach (var item in formIdList)
|
||||||
{
|
{
|
||||||
var formRelationEntity = new FlowFormRelationEntity
|
var formRelationEntity = new FlowFormRelationEntity
|
||||||
@@ -739,8 +739,10 @@ public class FlowTemplateService : IFlowTemplateService, IDynamicApiController,
|
|||||||
var output = new List<FlowEngineVisibleEntity>();
|
var output = new List<FlowEngineVisibleEntity>();
|
||||||
if (josnStr.IsNotEmptyOrNull())
|
if (josnStr.IsNotEmptyOrNull())
|
||||||
{
|
{
|
||||||
// 发起节点属性.
|
// 发起节点属性.
|
||||||
var pro = josnStr.ToObject<FlowTemplateJsonModel>().properties.ToObject<StartProperties>();
|
var flow = josnStr.ToObject<List<FlowTemplateModel>>();
|
||||||
|
var pro = flow.First().flowTemplateJson.properties.ToObject<StartProperties>();
|
||||||
|
//var pro = josnStr.ToObject<FlowTemplateJsonModel>().properties.ToObject<StartProperties>();
|
||||||
if (pro.initiator.Any())
|
if (pro.initiator.Any())
|
||||||
{
|
{
|
||||||
var list = pro.initiator.Select(x => new FlowEngineVisibleEntity() { OperatorId = x, OperatorType = "user" }).ToList();
|
var list = pro.initiator.Select(x => new FlowEngineVisibleEntity() { OperatorId = x, OperatorType = "user" }).ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user