diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Domain/TemplateManager.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Domain/TemplateManager.cs new file mode 100644 index 00000000..55e9908a --- /dev/null +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Domain/TemplateManager.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Furion.DependencyInjection; +using Yi.Framework.Module.WebFirstManager.Handler; + +namespace Yi.Framework.Module.WebFirstManager.Domain +{ + /// + /// 模板领域服务 + /// + public class TemplateManager : ITransient + { + public ITemplateHandler TemplateVar { get; set; } + + + public string Replate(string templateStr, string templateVar, string tableName) + { + return templateStr.Replace(templateVar, tableName); + } + } + +} diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/FieldTemplateHandler.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/FieldTemplateHandler.cs new file mode 100644 index 00000000..a84c2ee8 --- /dev/null +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/FieldTemplateHandler.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Module.WebFirstManager.Handler +{ + internal class FieldTemplateHandler : TemplateHandlerBase, ITemplateHandler + { + public string Invoker(string str) + { + //从数据库中获取到全部字段,然后根据字段生成字符串,进行替换 + return str.Replace("@field", ""); + } + + + } +} diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ITemplateHandler.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ITemplateHandler.cs new file mode 100644 index 00000000..9d3128ca --- /dev/null +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ITemplateHandler.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Module.WebFirstManager.Handler +{ + public interface ITemplateHandler + { + string Invoker(string str); + } +} diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ModelTemplateHandler.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ModelTemplateHandler.cs new file mode 100644 index 00000000..3aac1cc1 --- /dev/null +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ModelTemplateHandler.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using EasyTool; + +namespace Yi.Framework.Module.WebFirstManager.Handler +{ + internal class ModelTemplateHandler : TemplateHandlerBase, ITemplateHandler + { + public string Invoker(string str) + { + return str.Replace("@model", StrUtil.ToFirstLetterLowerCase(Table.Name)).Replace("@Model", StrUtil.ToFirstLetterUpperCase(Table.Name)); + } + } +} diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/NameSpaceTemplateHandler.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/NameSpaceTemplateHandler.cs new file mode 100644 index 00000000..5f257c8c --- /dev/null +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/NameSpaceTemplateHandler.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Module.WebFirstManager.Handler +{ + internal class NameSpaceTemplateHandler : TemplateHandlerBase, ITemplateHandler + { + public string Invoker(string str) + { + return str.Replace("@Namespace", ""); + } + } +} diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/TemplateHandlerBase.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/TemplateHandlerBase.cs new file mode 100644 index 00000000..08ce8c5c --- /dev/null +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/TemplateHandlerBase.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Module.WebFirstManager.Entities; + +namespace Yi.Framework.Module.WebFirstManager.Handler +{ + public class TemplateHandlerBase + { + protected TableEntity Table { get; set; } + + protected List Fields { get; set; } + } +} diff --git a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/WebFirstService.cs b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/WebFirstService.cs index df40ef88..a22003a1 100644 --- a/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/WebFirstService.cs +++ b/Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/WebFirstService.cs @@ -16,22 +16,36 @@ using Yi.Framework.Module.WebFirstManager.Entities; namespace Yi.Framework.Module.WebFirstManager.Impl { [ApiDescriptionSettings("WebFirstManager")] - public class WebFirstService : ApplicationService, IWebFirstService,IDynamicApiController,ITransient + public class WebFirstService : ApplicationService, IWebFirstService, IDynamicApiController, ITransient { private IRepository _repository; - public WebFirstService(IRepository repository) { _repository = repository; } - - /// - /// 根据模板id生成对应的结果 - /// - /// - /// - public async Task GetAsync(Guid id) + private IRepository _varRepository; + public WebFirstService(IRepository repository, IRepository varRepository) { - var entity = await _repository.GetByIdAsync(id); - - return entity.Adapt(); + _repository = repository; + _varRepository = varRepository; } + /// + /// 一键构建 + /// + /// + public async Task PostBuildAsync() + { + //获取全部模板 + var templates = await _repository.GetListAsync(); + var varTemps = await _varRepository.GetListAsync(); + + } + + private async Task BuildSingleAsync(TemplateEntity template, List templateVars) + { + foreach (var tempVar in templateVars) + template.TemplateStr.Replace(tempVar.Value, "model"); + + + + + } } } diff --git a/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml b/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml index b3733fd2..ff34609e 100644 --- a/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml +++ b/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml @@ -386,6 +386,11 @@ + + + 模板领域服务 + + 字段名称 @@ -556,11 +561,10 @@ 字段管理 - + - 根据模板id生成对应的结果 + 一键构建 -