feat: 添加webfirst 字段模块

This commit is contained in:
橙子
2023-09-19 23:48:37 +08:00
parent 36b28d83ed
commit 1d499b7052
23 changed files with 1398 additions and 1037 deletions

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Module.WebFirstManager.Enums;
namespace Yi.Framework.Module.WebFirstManager.Dtos.Field
{
public class FieldCreateInput
{
/// <summary>
/// 字段名称
/// </summary>
public string Name { get; set; }
public string? Description { get; set; }
public int OrderNum { get; set; }
public int Length { get; set; }
public FieldTypeEnum FieldType { get; set; }
public long TableId { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 是否主键
/// </summary>
public bool IsKey { get; set; }
/// <summary>
/// 是否自增
/// </summary>
public bool IsAutoAdd { get; set; }
/// <summary>
/// 是否公共
/// </summary>
public bool IsPublic { get; set; }
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Infrastructure.Ddd.Dtos;
using Yi.Framework.Module.WebFirstManager.Enums;
namespace Yi.Framework.Module.WebFirstManager.Dtos.Field
{
public class FieldGetListInput:PagedAndSortedResultRequestDto
{
/// <summary>
/// 字段名称
/// </summary>
public string? Name { get; set; }
public long? TableId { get; set; }
}
}

View File

@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
using Yi.Framework.Module.WebFirstManager.Enums;
namespace Yi.Framework.Module.WebFirstManager.Dtos.Field
{
public class FieldGetListOutputDto:IEntityDto<long>
{
public long Id { get; set; }
/// <summary>
/// 字段名称
/// </summary>
public string Name { get; set; }
public string? Description { get; set; }
public int OrderNum { get; set; }
public int Length { get; set; }
public FieldTypeEnum FieldType { get; set; }
public long TableId { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 是否主键
/// </summary>
public bool IsKey { get; set; }
/// <summary>
/// 是否自增
/// </summary>
public bool IsAutoAdd { get; set; }
/// <summary>
/// 是否公共
/// </summary>
public bool IsPublic { get; set; }
}
}

View File

@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
using Yi.Framework.Module.WebFirstManager.Enums;
namespace Yi.Framework.Module.WebFirstManager.Dtos.Field
{
public class FieldGetOutDto:IEntityDto<long>
{
public long Id { get; set; }
/// <summary>
/// 字段名称
/// </summary>
public string Name { get; set; }
public string? Description { get; set; }
public int OrderNum { get; set; }
public int Length { get; set; }
public FieldTypeEnum FieldType { get; set; }
public long TableId { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 是否主键
/// </summary>
public bool IsKey { get; set; }
/// <summary>
/// 是否自增
/// </summary>
public bool IsAutoAdd { get; set; }
/// <summary>
/// 是否公共
/// </summary>
public bool IsPublic { get; set; }
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Module.WebFirstManager.Enums;
namespace Yi.Framework.Module.WebFirstManager.Dtos.Field
{
public class FieldUpdateInput
{
/// <summary>
/// 字段名称
/// </summary>
public string? Name { get; set; }
public string? Description { get; set; }
public int? OrderNum { get; set; }
public int? Length { get; set; }
public FieldTypeEnum? FieldType { get; set; }
public long? TableId { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool? IsRequired { get; set; }
/// <summary>
/// 是否主键
/// </summary>
public bool? IsKey { get; set; }
/// <summary>
/// 是否自增
/// </summary>
public bool? IsAutoAdd { get; set; }
/// <summary>
/// 是否公共
/// </summary>
public bool? IsPublic { get; set; }
}
}

View File

@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Module.WebFirstManager.Dtos
namespace Yi.Framework.Module.WebFirstManager.Dtos.WebFirst
{
public class WebFirstGetOutputDto
{

View File

@@ -11,7 +11,7 @@ namespace Yi.Framework.Module.WebFirstManager.Entities
{
public class FieldEntity : IEntity<long>
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// 字段名称
@@ -34,7 +34,7 @@ namespace Yi.Framework.Module.WebFirstManager.Entities
/// <summary>
/// 是否主键
/// </summary>
public bool IsKey{ get; set; }
public bool IsKey { get; set; }
/// <summary>
/// 是否自增

View File

@@ -10,7 +10,7 @@ namespace Yi.Framework.Module.WebFirstManager.Entities
{
public class TableEntity : IEntity<long>
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// 表名
@@ -22,5 +22,10 @@ namespace Yi.Framework.Module.WebFirstManager.Entities
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 一表多字段
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(FieldEntity.TableId))]
public List<FieldEntity> Fields { get; set; }
}
}

View File

@@ -12,7 +12,7 @@ namespace Yi.Framework.Module.WebFirstManager.Entities
public class TemplateEntity : IEntity<long>
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
[SugarColumn( IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>

View File

@@ -10,7 +10,7 @@ namespace Yi.Framework.Module.WebFirstManager.Entities
{
public class TemplateVarEntity : IEntity<long>
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
[SugarColumn( IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
using Yi.Framework.Module.WebFirstManager.Dtos.Field;
namespace Yi.Framework.Module.WebFirstManager
{
public interface IFieldService : ICrudAppService<FieldGetOutDto, FieldGetListOutputDto, long, FieldGetListInput, FieldCreateInput, FieldUpdateInput>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Module.WebFirstManager
{
public interface ITableService
{
}
}

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
using Yi.Framework.Infrastructure.Ddd.Services;
using Yi.Framework.Module.WebFirstManager.Dtos.Field;
using Yi.Framework.Module.WebFirstManager.Entities;
namespace Yi.Framework.Module.WebFirstManager.Impl
{
/// <summary>
/// 字段管理
/// </summary>
[ApiDescriptionSettings("WebFirstManager")]
public class FieldService:CrudAppService<FieldEntity,FieldGetOutDto,FieldGetListOutputDto,long,FieldGetListInput,FieldCreateInput,FieldUpdateInput> ,IFieldService,ITransient,IDynamicApiController
{
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
namespace Yi.Framework.Module.WebFirstManager.Impl
{
[ApiDescriptionSettings("WebFirstManager")]
public class TableService:ITableService, ITransient,IDynamicApiController
{
}
}

View File

@@ -3,10 +3,14 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
namespace Yi.Framework.Module.WebFirstManager.Impl
{
public class TemplateService: ITemplateService
[ApiDescriptionSettings("WebFirstManager")]
public class TemplateService: ITemplateService, IDynamicApiController, ITransient
{
}
}

View File

@@ -3,10 +3,14 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
namespace Yi.Framework.Module.WebFirstManager.Impl
{
public class TemplateVarService: ITemplateVarService
[ApiDescriptionSettings("WebFirstManager")]
public class TemplateVarService: ITemplateVarService, IDynamicApiController, ITransient
{
}
}

View File

@@ -3,16 +3,20 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Mapster;
using Microsoft.AspNetCore.DataProtection.KeyManagement;
using Microsoft.AspNetCore.Mvc;
using Yi.Framework.Infrastructure.Ddd.Repositories;
using Yi.Framework.Infrastructure.Ddd.Services;
using Yi.Framework.Module.WebFirstManager.Dtos;
using Yi.Framework.Module.WebFirstManager.Dtos.WebFirst;
using Yi.Framework.Module.WebFirstManager.Entities;
namespace Yi.Framework.Module.WebFirstManager.Impl
{
public class WebFirstService : ApplicationService, IWebFirstService
[ApiDescriptionSettings("WebFirstManager")]
public class WebFirstService : ApplicationService, IWebFirstService,IDynamicApiController,ITransient
{
private IRepository<TemplateEntity> _repository;
public WebFirstService(IRepository<TemplateEntity> repository) { _repository = repository; }

View File

@@ -1,39 +1,45 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<DocumentationFile>Yi.Framework.Module.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<None Remove="ImageSharp\HeiCaptcha\fonts\Candara.ttf" />
<None Remove="ImageSharp\HeiCaptcha\fonts\impact.ttf" />
<None Remove="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
<None Remove="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="2.0.23" />
<PackageReference Include="CSRedisCore" Version="3.8.670" />
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.0.1" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta15" />
<None Remove="ImageSharp\HeiCaptcha\fonts\Candara.ttf" />
<None Remove="ImageSharp\HeiCaptcha\fonts\impact.ttf" />
<None Remove="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
<None Remove="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Yi.Framework.Infrastructure\Yi.Framework.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\Candara.ttf" />
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\impact.ttf" />
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
</ItemGroup>
<ItemGroup>
<Folder Include="DictionaryManager\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="2.0.23" />
<PackageReference Include="CSRedisCore" Version="3.8.670" />
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.0.1" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta15" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Yi.Framework.Infrastructure\Yi.Framework.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\Candara.ttf" />
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\impact.ttf" />
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
</ItemGroup>
<ItemGroup>
<Folder Include="DictionaryManager\" />
<Folder Include="WebFirstManager\Dtos\Template\" />
<Folder Include="WebFirstManager\Dtos\Table\" />
<Folder Include="WebFirstManager\Dtos\TemplateVar\" />
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff