增加心跳接口

This commit is contained in:
2023-03-30 11:39:17 +08:00
parent 401b717fc2
commit 0a6fba29cd
8 changed files with 88 additions and 15 deletions

View File

@@ -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"
} }

View File

@@ -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>

View File

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

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

View File

@@ -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)

View File

@@ -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)
{ {

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

View File

@@ -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();