diff --git a/Yi.Framework.Net6/Yi.Framework.sln b/Yi.Framework.Net6/Yi.Framework.sln
index 9c4e7bc9..81bda6e3 100644
--- a/Yi.Framework.Net6/Yi.Framework.sln
+++ b/Yi.Framework.Net6/Yi.Framework.sln
@@ -57,6 +57,18 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "template", "template", "{A3
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bbs", "bbs", "{B758A87D-0BFA-44A5-BA33-FBA44151CEB4}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.BBS.Domain.Shared", "src\project\BBS\Yi.BBS.Domain.Shared\Yi.BBS.Domain.Shared.csproj", "{DEA3342F-1954-4EE9-9A59-CAF1D7832F33}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.BBS.Domain", "src\project\BBS\Yi.BBS.Domain\Yi.BBS.Domain.csproj", "{86C82BB6-E333-40E8-8DDE-20C3A538433C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.BBS.Application.Contracts", "src\project\BBS\Yi.BBS.Application.Contracts\Yi.BBS.Application.Contracts.csproj", "{679625DD-4BF6-4CD6-99FD-7A3E6D9B04A1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.BBS.Sqlsugar", "src\project\BBS\Yi.BBS.Sqlsugar\Yi.BBS.Sqlsugar.csproj", "{A8043204-9DAC-4F08-8C73-423CB72927EF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.BBS.Web", "src\project\BBS\Yi.BBS.Web\Yi.BBS.Web.csproj", "{83BE964D-D53C-4D1B-B8C6-5306C393C07F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.BBS.Application", "src\project\BBS\Yi.BBS.Application\Yi.BBS.Application.csproj", "{959A33C5-7826-4AE7-AC51-40BDC2B767B2}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -151,6 +163,30 @@ Global
{134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DEA3342F-1954-4EE9-9A59-CAF1D7832F33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DEA3342F-1954-4EE9-9A59-CAF1D7832F33}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DEA3342F-1954-4EE9-9A59-CAF1D7832F33}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DEA3342F-1954-4EE9-9A59-CAF1D7832F33}.Release|Any CPU.Build.0 = Release|Any CPU
+ {86C82BB6-E333-40E8-8DDE-20C3A538433C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {86C82BB6-E333-40E8-8DDE-20C3A538433C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {86C82BB6-E333-40E8-8DDE-20C3A538433C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {86C82BB6-E333-40E8-8DDE-20C3A538433C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {679625DD-4BF6-4CD6-99FD-7A3E6D9B04A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {679625DD-4BF6-4CD6-99FD-7A3E6D9B04A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {679625DD-4BF6-4CD6-99FD-7A3E6D9B04A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {679625DD-4BF6-4CD6-99FD-7A3E6D9B04A1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A8043204-9DAC-4F08-8C73-423CB72927EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A8043204-9DAC-4F08-8C73-423CB72927EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A8043204-9DAC-4F08-8C73-423CB72927EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A8043204-9DAC-4F08-8C73-423CB72927EF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {83BE964D-D53C-4D1B-B8C6-5306C393C07F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {83BE964D-D53C-4D1B-B8C6-5306C393C07F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {83BE964D-D53C-4D1B-B8C6-5306C393C07F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {83BE964D-D53C-4D1B-B8C6-5306C393C07F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {959A33C5-7826-4AE7-AC51-40BDC2B767B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {959A33C5-7826-4AE7-AC51-40BDC2B767B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {959A33C5-7826-4AE7-AC51-40BDC2B767B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {959A33C5-7826-4AE7-AC51-40BDC2B767B2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -180,6 +216,12 @@ Global
{134C4AB9-2AFE-4383-84DE-825DF9499CB4} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806}
{A3707874-7890-42AF-A686-E3AACD6F108C} = {32A813F5-13B2-4DCA-8B59-F27F1B0D5678}
{B758A87D-0BFA-44A5-BA33-FBA44151CEB4} = {32A813F5-13B2-4DCA-8B59-F27F1B0D5678}
+ {DEA3342F-1954-4EE9-9A59-CAF1D7832F33} = {B758A87D-0BFA-44A5-BA33-FBA44151CEB4}
+ {86C82BB6-E333-40E8-8DDE-20C3A538433C} = {B758A87D-0BFA-44A5-BA33-FBA44151CEB4}
+ {679625DD-4BF6-4CD6-99FD-7A3E6D9B04A1} = {B758A87D-0BFA-44A5-BA33-FBA44151CEB4}
+ {A8043204-9DAC-4F08-8C73-423CB72927EF} = {B758A87D-0BFA-44A5-BA33-FBA44151CEB4}
+ {83BE964D-D53C-4D1B-B8C6-5306C393C07F} = {B758A87D-0BFA-44A5-BA33-FBA44151CEB4}
+ {959A33C5-7826-4AE7-AC51-40BDC2B767B2} = {B758A87D-0BFA-44A5-BA33-FBA44151CEB4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6C1A3808-0F4F-43FB-A9FE-5F27A3BB2ECF}
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs
index ef3d4d45..d07381fc 100644
--- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs
@@ -28,7 +28,7 @@ foreach (var entityName in entityNames)
//option.Add(new ApiTemplateProvider(modelName, entityName));
});
//开始构建模板
- templateFactory.BuildTemplate();
+ //templateFactory.BuildTemplate();
Console.WriteLine($"Yi.Framework.Template:{entityName}构建完成!");
}
@@ -36,5 +36,5 @@ Console.WriteLine("Yi.Framework.Template:模板全部生成完成!");
Console.ReadKey();
//根据模板文件生成项目文件
-//var template = "";
-//FileHelper.AllInfoReplace(template, "Template","BBS");
\ No newline at end of file
+//var template = "D:\\C#\\Yi\\Yi.Framework.Net6\\src\\project\\BBS";
+//FileHelper.AllInfoReplace(template, "Template", "BBS");
\ No newline at end of file
diff --git a/Yi.Framework.Net6/src/project/BBS/GlobalUsings.cs b/Yi.Framework.Net6/src/project/BBS/GlobalUsings.cs
new file mode 100644
index 00000000..71ceb406
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/GlobalUsings.cs
@@ -0,0 +1,3 @@
+global using Yi.Framework.Core.Attributes;
+global using Yi.Framework.Core.Helper;
+global using Yi.Framework.Core.Model;
\ No newline at end of file
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/ApplicationContractsSwaggerDoc.xml b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/ApplicationContractsSwaggerDoc.xml
new file mode 100644
index 00000000..f083287c
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/ApplicationContractsSwaggerDoc.xml
@@ -0,0 +1,18 @@
+
+
+
+ Yi.BBS.Application.Contracts
+
+
+
+
+ Student输入创建对象
+
+
+
+
+ Student
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/Student/StudentGetOutputDto.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/Student/StudentGetOutputDto.cs
new file mode 100644
index 00000000..4fdf3aa2
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/Student/StudentGetOutputDto.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Ddd.Dtos;
+
+namespace Yi.BBS.Application.Contracts.School.Dtos
+{
+ public class StudentGetOutputDto : IEntityDto
+ {
+ public long Id { get; set; }
+ public string Name { get; set; }
+ public int? Height { get; set; }
+ public string? Phone { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentCreateInputVo.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentCreateInputVo.cs
new file mode 100644
index 00000000..017199c1
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentCreateInputVo.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.BBS.Application.Contracts.School.Dtos
+{
+ ///
+ /// Student输入创建对象
+ ///
+ public class StudentCreateInputVo
+ {
+ public long Id { get; set; }
+ public string Name { get; set; }
+ public int? Height { get; set; }
+ public string? Phone { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentGetListInputVo.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentGetListInputVo.cs
new file mode 100644
index 00000000..1e299470
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentGetListInputVo.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Ddd.Dtos;
+
+namespace Yi.BBS.Application.Contracts.School.Dtos
+{
+ public class StudentGetListInputVo : PagedAndSortedResultRequestDto
+ {
+ public long Id { get; set; }
+ public string Name { get; set; }
+ public int? Height { get; set; }
+ public string? Phone { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentGetListOutputDto.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentGetListOutputDto.cs
new file mode 100644
index 00000000..e2f4f430
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentGetListOutputDto.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Ddd.Dtos;
+
+namespace Yi.BBS.Application.Contracts.School.Dtos
+{
+ public class StudentGetListOutputDto : IEntityDto
+ {
+ public long Id { get; set; }
+ public string Name { get; set; }
+ public int? Height { get; set; }
+ public string? Phone { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentUpdateInputVo.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentUpdateInputVo.cs
new file mode 100644
index 00000000..228df0ee
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/Dtos/StudentUpdateInputVo.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.BBS.Application.Contracts.School.Dtos
+{
+ public class StudentUpdateInputVo
+ {
+ public long Id { get; set; }
+ public string Name { get; set; }
+ public int? Height { get; set; }
+ public string? Phone { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/IStudentService.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/IStudentService.cs
new file mode 100644
index 00000000..1f66eb21
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/School/IStudentService.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.BBS.Application.Contracts.School.Dtos;
+using Yi.Framework.Ddd.Services.Abstract;
+
+namespace Yi.BBS.Application.Contracts.School
+{
+ ///
+ /// Student
+ ///
+ public interface IStudentService : ICrudAppService
+ {
+
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/Yi.BBS.Application.Contracts.csproj b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/Yi.BBS.Application.Contracts.csproj
new file mode 100644
index 00000000..346b1043
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/Yi.BBS.Application.Contracts.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net6.0
+ enable
+ enable
+ True
+ ./ApplicationContractsSwaggerDoc.xml
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/YiBBSApplicationContractsModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/YiBBSApplicationContractsModule.cs
new file mode 100644
index 00000000..d968104f
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application.Contracts/YiBBSApplicationContractsModule.cs
@@ -0,0 +1,27 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Core.Attributes;
+using Yi.BBS.Domain.Shared;
+
+namespace Yi.BBS.Application.Contracts
+{
+ [DependsOn(
+ typeof(YiBBSDomainSharedModule)
+ )]
+ public class YiBBSApplicationContractsModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml
new file mode 100644
index 00000000..41e91c0e
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml
@@ -0,0 +1,13 @@
+
+
+
+ Yi.BBS.Application
+
+
+
+
+ Student服务实现
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/School/MapperConfig/StudentProfile.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/School/MapperConfig/StudentProfile.cs
new file mode 100644
index 00000000..ab5e27f5
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/School/MapperConfig/StudentProfile.cs
@@ -0,0 +1,23 @@
+using AutoMapper;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.BBS.Application.Contracts.School.Dtos;
+using Yi.BBS.Domain.School.Entities;
+
+namespace Yi.BBS.Application.School.MapperConfig
+{
+ public class StudentProfile: Profile
+ {
+ public StudentProfile()
+ {
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/School/StudentService.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/School/StudentService.cs
new file mode 100644
index 00000000..15e40a07
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/School/StudentService.cs
@@ -0,0 +1,17 @@
+using Yi.BBS.Application.Contracts.School;
+using NET.AutoWebApi.Setting;
+using Yi.BBS.Application.Contracts.School.Dtos;
+using Yi.BBS.Domain.School.Entities;
+using Yi.Framework.Ddd.Services;
+
+namespace Yi.BBS.Application.School
+{
+ ///
+ /// Student服务实现
+ ///
+ [AppService]
+ public class StudentService : CrudAppService,
+ IStudentService, IAutoApiService
+ {
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/Yi.BBS.Application.csproj b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/Yi.BBS.Application.csproj
new file mode 100644
index 00000000..fadd9221
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/Yi.BBS.Application.csproj
@@ -0,0 +1,25 @@
+
+
+
+ net6.0
+ enable
+ enable
+ True
+ ./ApplicationSwaggerDoc.xml
+
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/YiBBSApplicationModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/YiBBSApplicationModule.cs
new file mode 100644
index 00000000..f22faaea
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/YiBBSApplicationModule.cs
@@ -0,0 +1,33 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.BBS.Application.Contracts;
+using Yi.Framework.Auth.JwtBearer;
+using Yi.Framework.Core.Attributes;
+using Yi.Framework.Data;
+using Yi.Framework.Ddd;
+using Yi.BBS.Domain;
+
+namespace Yi.BBS.Application
+{
+ [DependsOn(
+ typeof(YiBBSApplicationContractsModule),
+ typeof(YiBBSDomainModule),
+ typeof(YiFrameworkAuthJwtBearerModule)
+ )]
+ public class YiBBSApplicationModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/School/ConstClasses/StudentConst.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/School/ConstClasses/StudentConst.cs
new file mode 100644
index 00000000..eab15830
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/School/ConstClasses/StudentConst.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.BBS.Domain.Shared.School.ConstClasses
+{
+ ///
+ /// 常量定义
+ ///
+
+ public class StudentConst
+ {
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/Yi.BBS.Domain.Shared.csproj b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/Yi.BBS.Domain.Shared.csproj
new file mode 100644
index 00000000..692994fe
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/Yi.BBS.Domain.Shared.csproj
@@ -0,0 +1,15 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/YiBBSDomainSharedModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/YiBBSDomainSharedModule.cs
new file mode 100644
index 00000000..5f37e09e
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain.Shared/YiBBSDomainSharedModule.cs
@@ -0,0 +1,27 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Core.Attributes;
+using Yi.Framework.Ddd;
+
+namespace Yi.BBS.Domain.Shared
+{
+ [DependsOn(
+ typeof(YiFrameworkDddModule)
+ )]
+ public class YiBBSDomainSharedModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/DomainSwaggerDoc.xml b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/DomainSwaggerDoc.xml
new file mode 100644
index 00000000..2bb88ab8
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/DomainSwaggerDoc.xml
@@ -0,0 +1,8 @@
+
+
+
+ Yi.BBS.Domain
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/School/DataSeeds/StudentDataSeed.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/School/DataSeeds/StudentDataSeed.cs
new file mode 100644
index 00000000..7cec847b
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/School/DataSeeds/StudentDataSeed.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Data.DataSeeds;
+using Yi.Framework.Ddd.Repositories;
+using Yi.BBS.Domain.School.Entities;
+
+namespace Yi.BBS.Domain.School.DataSeeds
+{
+ [AppService(typeof(IDataSeed))]
+ public class StudentDataSeed : AbstractDataSeed
+ {
+ public StudentDataSeed(IRepository repository) : base(repository)
+ {
+ }
+
+ public override List GetSeedData()
+ {
+ return new List() { new StudentEntity { Id = SnowflakeHelper.NextId, Name = "你好", Phone = "123", Height = 188, IsDeleted = false } ,
+ new StudentEntity { Id = SnowflakeHelper.NextId, Name = "你好1", Phone = "123", Height = 188, IsDeleted = false },
+ new StudentEntity { Id = SnowflakeHelper.NextId, Name = "你好2", Phone = "123", Height = 188, IsDeleted = false }
+ };
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/School/Entities/StudentEntity.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/School/Entities/StudentEntity.cs
new file mode 100644
index 00000000..141c9c5a
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/School/Entities/StudentEntity.cs
@@ -0,0 +1,25 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Data.Entities;
+using Yi.Framework.Ddd.Entities;
+
+namespace Yi.BBS.Domain.School.Entities
+{
+ [SugarTable("Student")]
+ public class StudentEntity : IEntity,ISoftDelete
+ {
+ [SugarColumn(IsPrimaryKey = true)]
+ public long Id { get; set; }
+
+ public string Name { get; set; }
+
+ public int? Height { get; set; }
+
+ public string? Phone { get; set; }
+ public bool IsDeleted { get; set; } = false;
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/Yi.BBS.Domain.csproj b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/Yi.BBS.Domain.csproj
new file mode 100644
index 00000000..77162d6c
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/Yi.BBS.Domain.csproj
@@ -0,0 +1,24 @@
+
+
+
+ net6.0
+ enable
+ enable
+ True
+ ./DomainSwaggerDoc.xml
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/YiBBSDomainModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/YiBBSDomainModule.cs
new file mode 100644
index 00000000..0ba04585
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Domain/YiBBSDomainModule.cs
@@ -0,0 +1,30 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Core.Attributes;
+using Yi.Framework.Data;
+using Yi.BBS.Domain.Shared;
+
+namespace Yi.BBS.Domain
+{
+ [DependsOn(
+ typeof(YiBBSDomainSharedModule),
+ typeof(YiFrameworkDataModule)
+ )]
+ public class YiBBSDomainModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ //services.AddTransient();
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Sqlsugar/Yi.BBS.Sqlsugar.csproj b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Sqlsugar/Yi.BBS.Sqlsugar.csproj
new file mode 100644
index 00000000..e5308a54
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Sqlsugar/Yi.BBS.Sqlsugar.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Sqlsugar/YiBBSSqlsugarModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Sqlsugar/YiBBSSqlsugarModule.cs
new file mode 100644
index 00000000..39bc5efa
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Sqlsugar/YiBBSSqlsugarModule.cs
@@ -0,0 +1,28 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Core.Attributes;
+using Yi.Framework.Core.Sqlsugar;
+using Yi.BBS.Domain;
+
+namespace Yi.BBS.Sqlsugar
+{
+ [DependsOn(typeof(YiFrameworkCoreSqlsugarModule),
+ typeof(YiBBSDomainModule))]
+ public class YiBBSSqlsugarModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ //services.AddTransient();
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Program.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Program.cs
new file mode 100644
index 00000000..1cbc57f6
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Program.cs
@@ -0,0 +1,29 @@
+using AspNetCore.Microsoft.AspNetCore.Hosting;
+using Yi.Framework.Core.Autofac.Extensions;
+using Yi.Framework.Core.Autofac.Modules;
+using Yi.Framework.Core.Extensions;
+using Yi.BBS.Web;
+
+var builder = WebApplication.CreateBuilder(args);
+//��������url
+builder.WebHost.UseStartUrlsServer(builder.Configuration);
+
+//�����
+builder.UseYiModules(typeof(YiBBSWebModule));
+
+//����autofacģ��,��Ҫ����ģ��
+builder.Host.ConfigureAutoFacContainer(container =>
+{
+ container.RegisterYiModule(AutoFacModuleEnum.PropertiesAutowiredModule, typeof(YiBBSWebModule).Assembly);
+});
+
+var app = builder.Build();
+
+//ȫ�ִ����м������Ҫ��������
+app.UseErrorHandlingServer();
+
+app.UseAuthentication();
+app.UseAuthorization();
+app.MapControllers();
+
+app.Run();
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Properties/launchSettings.json b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Properties/launchSettings.json
new file mode 100644
index 00000000..c20b77c7
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Properties/launchSettings.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "Yi.BBS.Web": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "applicationUrl": "http://localhost:19002",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Yi.BBS.Web.csproj b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Yi.BBS.Web.csproj
new file mode 100644
index 00000000..19d412ee
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/Yi.BBS.Web.csproj
@@ -0,0 +1,27 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs
new file mode 100644
index 00000000..2ec52465
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs
@@ -0,0 +1,44 @@
+using AspNetCore.Microsoft.AspNetCore.Builder;
+using StartupModules;
+using Yi.Framework.Auth.JwtBearer;
+using Yi.Framework.Core;
+using Yi.Framework.Core.Attributes;
+using Yi.BBS.Application;
+using Yi.BBS.Sqlsugar;
+
+namespace Yi.BBS.Web
+{
+ [DependsOn(
+ typeof(YiBBSSqlsugarModule),
+ typeof(YiBBSApplicationModule)
+ )]
+ public class YiBBSWebModule : IStartupModule
+ {
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ //添加控制器与动态api
+ services.AddControllers();
+ services.AddAutoApiService(opt =>
+ {
+ //NETServiceTest所在程序集添加进动态api配置
+ opt.CreateConventional(typeof(YiBBSApplicationModule).Assembly, option => option.RootPath = string.Empty);
+ });
+
+ //添加swagger
+ services.AddSwaggerServer();
+ }
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ //if (app.Environment.IsDevelopment())
+ {
+ app.UseSwaggerServer();
+ }
+
+ app.UseHttpsRedirection();
+
+ app.UseAuthorization();
+
+ app.UseRouting();
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json
new file mode 100644
index 00000000..35a27b42
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json
@@ -0,0 +1,40 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+
+ //程序启动地址,*代表全部网口
+ "StartUrl": "http://*:19002",
+
+ //数据库类型列表
+ "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ],
+
+ "DbConnOptions": {
+ "Url": "DataSource=yi-sqlsugar-dev.db",
+ "DbType": "Sqlite",
+ "EnabledDbSeed": false,
+ "EnabledReadWrite": false,
+ "EnabledCodeFirst": true,
+ "EntityAssembly": null,
+ "ReadUrl": [
+ "DataSource=[xxxx]", //sqlite
+ "server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //mysql
+ "Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //sqlserver
+ ]
+ },
+
+ //授权
+ "JwtTokenOptions": {
+ "Audience": "yi",
+ "Issuer": "localhost:19002",
+ "Subject": "yiframwork",
+ "ExpSecond": 3600
+ },
+
+ //开启种子数据
+ "EnabledDataSeed": true
+}
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/key.pem b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/key.pem
new file mode 100644
index 00000000..3314ab6e
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7VJTUt9Us8cKj
+MzEfYyjiWA4R4/M2bS1GB4t7NXp98C3SC6dVMvDuictGeurT8jNbvJZHtCSuYEvu
+NMoSfm76oqFvAp8Gy0iz5sxjZmSnXyCdPEovGhLa0VzMaQ8s+CLOyS56YyCFGeJZ
+qgtzJ6GR3eqoYSW9b9UMvkBpZODSctWSNGj3P7jRFDO5VoTwCQAWbFnOjDfH5Ulg
+p2PKSQnSJP3AJLQNFNe7br1XbrhV//eO+t51mIpGSDCUv3E0DDFcWDTH9cXDTTlR
+ZVEiR2BwpZOOkE/Z0/BVnhZYL71oZV34bKfWjQIt6V/isSMahdsAASACp4ZTGtwi
+VuNd9tybAgMBAAECggEBAKTmjaS6tkK8BlPXClTQ2vpz/N6uxDeS35mXpqasqskV
+laAidgg/sWqpjXDbXr93otIMLlWsM+X0CqMDgSXKejLS2jx4GDjI1ZTXg++0AMJ8
+sJ74pWzVDOfmCEQ/7wXs3+cbnXhKriO8Z036q92Qc1+N87SI38nkGa0ABH9CN83H
+mQqt4fB7UdHzuIRe/me2PGhIq5ZBzj6h3BpoPGzEP+x3l9YmK8t/1cN0pqI+dQwY
+dgfGjackLu/2qH80MCF7IyQaseZUOJyKrCLtSD/Iixv/hzDEUPfOCjFDgTpzf3cw
+ta8+oE4wHCo1iI1/4TlPkwmXx4qSXtmw4aQPz7IDQvECgYEA8KNThCO2gsC2I9PQ
+DM/8Cw0O983WCDY+oi+7JPiNAJwv5DYBqEZB1QYdj06YD16XlC/HAZMsMku1na2T
+N0driwenQQWzoev3g2S7gRDoS/FCJSI3jJ+kjgtaA7Qmzlgk1TxODN+G1H91HW7t
+0l7VnL27IWyYo2qRRK3jzxqUiPUCgYEAx0oQs2reBQGMVZnApD1jeq7n4MvNLcPv
+t8b/eU9iUv6Y4Mj0Suo/AU8lYZXm8ubbqAlwz2VSVunD2tOplHyMUrtCtObAfVDU
+AhCndKaA9gApgfb3xw1IKbuQ1u4IF1FJl3VtumfQn//LiH1B3rXhcdyo3/vIttEk
+48RakUKClU8CgYEAzV7W3COOlDDcQd935DdtKBFRAPRPAlspQUnzMi5eSHMD/ISL
+DY5IiQHbIH83D4bvXq0X7qQoSBSNP7Dvv3HYuqMhf0DaegrlBuJllFVVq9qPVRnK
+xt1Il2HgxOBvbhOT+9in1BzA+YJ99UzC85O0Qz06A+CmtHEy4aZ2kj5hHjECgYEA
+mNS4+A8Fkss8Js1RieK2LniBxMgmYml3pfVLKGnzmng7H2+cwPLhPIzIuwytXywh
+2bzbsYEfYx3EoEVgMEpPhoarQnYPukrJO4gwE2o5Te6T5mJSZGlQJQj9q4ZB2Dfz
+et6INsK0oG8XVGXSpQvQh3RUYekCZQkBBFcpqWpbIEsCgYAnM3DQf3FJoSnXaMhr
+VBIovic5l0xFkEHskAjFTevO86Fsz1C2aSeRKSqGFoOQ0tmJzBEs1R6KqnHInicD
+TQrKhArgLXX4v3CddjfTRJkFWDbE/CkvKZNOrcf1nhaGCPspRJj2KUkj1Fhl9Cnc
+dn/RsYEONbwQSjIfMPkvxF+8HQ==
+-----END PRIVATE KEY-----
\ No newline at end of file
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/public.pem b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/public.pem
new file mode 100644
index 00000000..1c9b622d
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/public.pem
@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1SU1LfVLPHCozMxH2Mo
+4lgOEePzNm0tRgeLezV6ffAt0gunVTLw7onLRnrq0/IzW7yWR7QkrmBL7jTKEn5u
++qKhbwKfBstIs+bMY2Zkp18gnTxKLxoS2tFczGkPLPgizskuemMghRniWaoLcyeh
+kd3qqGElvW/VDL5AaWTg0nLVkjRo9z+40RQzuVaE8AkAFmxZzow3x+VJYKdjykkJ
+0iT9wCS0DRTXu269V264Vf/3jvredZiKRkgwlL9xNAwxXFg0x/XFw005UWVRIkdg
+cKWTjpBP2dPwVZ4WWC+9aGVd+Gyn1o0CLelf4rEjGoXbAAEgAqeGUxrcIlbjXfbc
+mwIDAQAB
+-----END PUBLIC KEY-----
\ No newline at end of file
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db
new file mode 100644
index 00000000..a53c9587
Binary files /dev/null and b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db differ