From 0a6fba29cd5473f0fe7de5f65702896f3d661c0a Mon Sep 17 00:00:00 2001 From: pofi Date: Thu, 30 Mar 2023 11:39:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BF=83=E8=B7=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.API.Entry/Configurations/Swagger.json | 4 +-- common.props | 4 +-- .../Repositories/SqlSugarRepository.cs | 2 +- system/Tnb.Systems/Common/HeartbeatService.cs | 35 +++++++++++++++++++ system/Tnb.Systems/Common/TestService.cs | 17 ++++++--- visualdev/Tnb.VisualDev/RunService.cs | 2 +- .../Model/FlowTemplateModel.cs | 29 +++++++++++++++ .../Service/FlowTemplateService.cs | 10 +++--- 8 files changed, 88 insertions(+), 15 deletions(-) create mode 100644 system/Tnb.Systems/Common/HeartbeatService.cs create mode 100644 workflow/Tnb.WorkFlow.Entitys/Model/FlowTemplateModel.cs diff --git a/apihost/Tnb.API.Entry/Configurations/Swagger.json b/apihost/Tnb.API.Entry/Configurations/Swagger.json index 66d6cf45..e6a1899c 100644 --- a/apihost/Tnb.API.Entry/Configurations/Swagger.json +++ b/apihost/Tnb.API.Entry/Configurations/Swagger.json @@ -1,12 +1,12 @@ { "SpecificationDocumentSettings": { - "DocumentTitle": "JNPF.NET", + "DocumentTitle": "ToTong Next Builder", "DocExpansionState": "None", "RoutePrefix": "swagger", "GroupOpenApiInfos": [ { "Group": "Default", - "Title": "JNPF快捷开发平台", + "Title": "ToTong Next Builder", "Description": "", "Version": "3.4.5" } diff --git a/common.props b/common.props index eb6672a5..17c7a75a 100644 --- a/common.props +++ b/common.props @@ -4,9 +4,9 @@ $(NoWarn);CS1591;CA1307;CS8625;CS8600;CS8601;CS8604;CS8618; - + \ No newline at end of file diff --git a/common/Tnb.SqlSugar/Repositories/SqlSugarRepository.cs b/common/Tnb.SqlSugar/Repositories/SqlSugarRepository.cs index aebedc0a..41df7e6e 100644 --- a/common/Tnb.SqlSugar/Repositories/SqlSugarRepository.cs +++ b/common/Tnb.SqlSugar/Repositories/SqlSugarRepository.cs @@ -87,7 +87,7 @@ where TEntity : class, new() }; 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}"); }; diff --git a/system/Tnb.Systems/Common/HeartbeatService.cs b/system/Tnb.Systems/Common/HeartbeatService.cs new file mode 100644 index 00000000..43b96649 --- /dev/null +++ b/system/Tnb.Systems/Common/HeartbeatService.cs @@ -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; + +/// +/// 测试接口. +/// +[ApiDescriptionSettings(Name = "Test", Order = 900)] +[Route("api")] +public class HeartbeatService : IDynamicApiController, ITransient +{ + [HttpGet("heartbeat")] + [AllowAnonymous] + [IgnoreLog] + public string Heartbeat() + { + return DateTime.Now.ToString(); + } + +} diff --git a/system/Tnb.Systems/Common/TestService.cs b/system/Tnb.Systems/Common/TestService.cs index 232b886e..6ec5b2ca 100644 --- a/system/Tnb.Systems/Common/TestService.cs +++ b/system/Tnb.Systems/Common/TestService.cs @@ -8,6 +8,7 @@ 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; @@ -24,14 +25,14 @@ namespace JNPF.Systems.Common; public class TestService : IDynamicApiController, ITransient { private readonly ISqlSugarRepository _repository; - private readonly SqlSugarScope _sugar; - private readonly IDataBaseManager _databaseService; + private readonly IDataBaseManager _dbService; + private SqlSugarScope _sugar; public TestService(ISqlSugarRepository repository, IDataBaseManager databaseService) { _repository = repository; _sugar = (SqlSugarScope)repository.AsSugarClient(); - _databaseService = databaseService; + _dbService = databaseService; } [HttpGet("test")] @@ -56,10 +57,16 @@ public class TestService : IDynamicApiController, ITransient } } - public void xx(UserEntity user) + [HttpGet] + [AllowAnonymous] + public async Task TestSql() { - user.Account = "2312321"; + var dbLinks = await _repository.AsSugarClient().Queryable().OrderBy(a=>a.SortCode).ToListAsync(); + _sugar = _dbService.ChangeDataBase(dbLinks[0]); + var prd = await _sugar.Ado.SqlQueryAsync("select * from bas_item"); + var userName = await _repository.AsSugarClient().Queryable().Where(x => x.Id == "24755317657621").Select(x => SqlFunc.MergeString(x.RealName, " / ", x.Account)).FirstAsync(); + return prd; } public void xx1(UserEntity user) diff --git a/visualdev/Tnb.VisualDev/RunService.cs b/visualdev/Tnb.VisualDev/RunService.cs index 6f991a9d..fbb7dbf7 100644 --- a/visualdev/Tnb.VisualDev/RunService.cs +++ b/visualdev/Tnb.VisualDev/RunService.cs @@ -147,7 +147,7 @@ public class RunService : IRunService, ITransient LogicalDelete(templateInfo); // 处理软删除 primaryKey = GetPrimary(link, templateInfo.MainTableName); bool udp = _userManager.UserOrigin == "pc" ? templateInfo.ColumnData.useDataPermission : templateInfo.AppColumnData.useDataPermission; - var pvalue = _userManager.GetCondition>(primaryKey, input.menuId, udp).Result; + var pvalue = await _userManager.GetCondition>(primaryKey, input.menuId, udp); var pvalueJson = pvalue.ToJsonString(); foreach (var item in templateInfo.AllTableFields) { diff --git a/workflow/Tnb.WorkFlow.Entitys/Model/FlowTemplateModel.cs b/workflow/Tnb.WorkFlow.Entitys/Model/FlowTemplateModel.cs new file mode 100644 index 00000000..3089c480 --- /dev/null +++ b/workflow/Tnb.WorkFlow.Entitys/Model/FlowTemplateModel.cs @@ -0,0 +1,29 @@ +using JNPF.DependencyInjection; +using Newtonsoft.Json.Linq; + +namespace JNPF.WorkFlow.Entitys.Model; + +[SuppressSniffer] +public class FlowTemplateModel +{ + /// + /// id. + /// + public string id { get; set; } = ""; + + /// + /// 流程id. + /// + public string flowId { get; set; } = ""; + + /// + /// 流程名称. + /// + public string fullName { get; set; } = ""; + + /// + /// 子节点. + /// + public FlowTemplateJsonModel? flowTemplateJson { get; set; } + +} diff --git a/workflow/Tnb.WorkFlow/Service/FlowTemplateService.cs b/workflow/Tnb.WorkFlow/Service/FlowTemplateService.cs index 3bd2f5db..4fcabe8b 100644 --- a/workflow/Tnb.WorkFlow/Service/FlowTemplateService.cs +++ b/workflow/Tnb.WorkFlow/Service/FlowTemplateService.cs @@ -617,7 +617,7 @@ public class FlowTemplateService : IFlowTemplateService, IDynamicApiController, await _repository.AsSugarClient().Insertable(visibleList).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync(); #region 功能流程则要回写到对应的表单表中 - GetFormIdList(flowTemplateJson.ToObject(), formIdList); + GetFormIdList(flowTemplateJson.ToObject>().First().flowTemplateJson, formIdList); foreach (var item in formIdList) { var formRelationEntity = new FlowFormRelationEntity @@ -700,7 +700,7 @@ public class FlowTemplateService : IFlowTemplateService, IDynamicApiController, } if (visibleList.Count > 0) await _repository.AsSugarClient().Insertable(visibleList).CallEntityMethod(m => m.Creator()).ExecuteCommandAsync(); - GetFormIdList(flowTemplateJson.ToObject(), formIdList); + GetFormIdList(flowTemplateJson.ToObject>().First().flowTemplateJson, formIdList); foreach (var item in formIdList) { var formRelationEntity = new FlowFormRelationEntity @@ -739,8 +739,10 @@ public class FlowTemplateService : IFlowTemplateService, IDynamicApiController, var output = new List(); if (josnStr.IsNotEmptyOrNull()) { - // 发起节点属性. - var pro = josnStr.ToObject().properties.ToObject(); + // 发起节点属性. + var flow = josnStr.ToObject>(); + var pro = flow.First().flowTemplateJson.properties.ToObject(); + //var pro = josnStr.ToObject().properties.ToObject(); if (pro.initiator.Any()) { var list = pro.initiator.Select(x => new FlowEngineVisibleEntity() { OperatorId = x, OperatorType = "user" }).ToList();