调整案例!修复PasteValuetype的范围问题,是字段不是Class
example/ExampleApeart.Application.Contracts/ExampleApeart.Application.Contracts.csproj
diff --git a/example/ExampleApeart.Application.Contracts/ExampleApeart.Application.Contracts.csproj b/example/ExampleApeart.Application.Contracts/ExampleApeart.Application.Contracts.csproj
index e49d34d..e866f62 100644
--- a/example/ExampleApeart.Application.Contracts/ExampleApeart.Application.Contracts.csproj
+++ b/example/ExampleApeart.Application.Contracts/ExampleApeart.Application.Contracts.csproj
@@ -17,7 +17,7 @@
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Release'">
- <PackageReference Include="PasteApeart.Application.Contracts" Version="26.9.9" />
+ <PackageReference Include="PasteApeart.Application.Contracts" Version="26.9.16" />
</ItemGroup>
<ItemGroup>
example/ExampleApeart.Application.Contracts/usermodels/RoleInfoDto.cs
diff --git a/example/ExampleApeart.Application.Contracts/usermodels/RoleInfoDto.cs b/example/ExampleApeart.Application.Contracts/usermodels/RoleInfoDto.cs
index a38ea81..6ca814b 100644
--- a/example/ExampleApeart.Application.Contracts/usermodels/RoleInfoDto.cs
+++ b/example/ExampleApeart.Application.Contracts/usermodels/RoleInfoDto.cs
@@ -1,4 +1,3 @@
-using PasteApeart;
using PasteApeart.Applciation.Contracts.EntityDto;
using PasteApeart.Application.Contracts;
using PasteApeart.Helper;
@@ -580,6 +579,16 @@ namespace ExampleApeart.usermodels
public EnumRoleType role_type { get; set; } = EnumRoleType.All;
/// <summary>
+ /// 多类型查询
+ /// </summary>
+ [PasteField("RoleTye")]
+ [PasteValuetype]
+ [PasteQuery("type", false)]
+ [PasteSelects("", "", "0", 5)]
+ [Description("多类型查询 支持参数type导入")]
+ public EnumRoleType[] role_type_array { get; set; }
+
+ /// <summary>
/// 多选一
/// </summary>
[Description("多选一 使用数组模式提交")]
example/ExampleApeart.Application/ExampleApeart.Application.csproj
diff --git a/example/ExampleApeart.Application/ExampleApeart.Application.csproj b/example/ExampleApeart.Application/ExampleApeart.Application.csproj
index f76107f..9fe8676 100644
--- a/example/ExampleApeart.Application/ExampleApeart.Application.csproj
+++ b/example/ExampleApeart.Application/ExampleApeart.Application.csproj
@@ -23,7 +23,7 @@
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Release'">
- <PackageReference Include="PasteApeart.Application" Version="26.9.6" />
+ <PackageReference Include="PasteApeart.Application" Version="26.9.16" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ExampleApeart.Handler\ExampleApeart.Handler.csproj" />
example/ExampleApeart.Domain/ExampleApeart.Domain.csproj
diff --git a/example/ExampleApeart.Domain/ExampleApeart.Domain.csproj b/example/ExampleApeart.Domain/ExampleApeart.Domain.csproj
index bd0e2e2..129c681 100644
--- a/example/ExampleApeart.Domain/ExampleApeart.Domain.csproj
+++ b/example/ExampleApeart.Domain/ExampleApeart.Domain.csproj
@@ -20,10 +20,12 @@
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
<ProjectReference Include="..\..\framework\PasteApeart.Domain\PasteApeart.Domain.csproj" />
+ <ProjectReference Include="..\..\framework\PasteApeart.Helper\PasteApeart.Helper.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Release'">
- <PackageReference Include="PasteApeart.Domain" Version="26.9.11" />
+ <PackageReference Include="PasteApeart.Domain" Version="26.9.16" />
+ <PackageReference Include="PasteApeart.Helper" Version="26.9.16" />
</ItemGroup>
</Project>
example/ExampleApeart.EntityFrameworkCore/ExampleApeart.EntityFrameworkCore.csproj
diff --git a/example/ExampleApeart.EntityFrameworkCore/ExampleApeart.EntityFrameworkCore.csproj b/example/ExampleApeart.EntityFrameworkCore/ExampleApeart.EntityFrameworkCore.csproj
index 33d9bd1..8676ffb 100644
--- a/example/ExampleApeart.EntityFrameworkCore/ExampleApeart.EntityFrameworkCore.csproj
+++ b/example/ExampleApeart.EntityFrameworkCore/ExampleApeart.EntityFrameworkCore.csproj
@@ -17,7 +17,7 @@
<!-- <PackageReference Include="Volo.Abp.EntityFrameworkCore.PostgreSql" Version="8.3.4" />-->
<!--<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="8.3.4" />-->
<FrameworkReference Include="Microsoft.AspNetCore.App" />
- <PackageReference Include="PasteApeart.EntityFrameworkCore" Version="26.8.1" />
+ <PackageReference Include="PasteApeart.EntityFrameworkCore" Version="26.9.16" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.3.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.4" />
example/ExampleApeart.Handler/ExampleApeart.Handler.csproj
diff --git a/example/ExampleApeart.Handler/ExampleApeart.Handler.csproj b/example/ExampleApeart.Handler/ExampleApeart.Handler.csproj
index e70118d..b367d58 100644
--- a/example/ExampleApeart.Handler/ExampleApeart.Handler.csproj
+++ b/example/ExampleApeart.Handler/ExampleApeart.Handler.csproj
@@ -10,7 +10,7 @@
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="PasteApeart.Dependency" Version="26.9.2" />
+ <PackageReference Include="PasteApeart.Dependency" Version="26.9.16" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.3.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" />
@@ -36,7 +36,7 @@
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Release'">
- <PackageReference Include="PasteApeart.Handler" Version="26.9.9" />
+ <PackageReference Include="PasteApeart.Handler" Version="26.9.16" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ExampleApeart.Application.Contracts\ExampleApeart.Application.Contracts.csproj" />
example/ExampleApeart.Handler/ExampleApeartHandlerModule.cs
diff --git a/example/ExampleApeart.Handler/ExampleApeartHandlerModule.cs b/example/ExampleApeart.Handler/ExampleApeartHandlerModule.cs
index 02bf73b..73b27f9 100644
--- a/example/ExampleApeart.Handler/ExampleApeartHandlerModule.cs
+++ b/example/ExampleApeart.Handler/ExampleApeartHandlerModule.cs
@@ -31,6 +31,8 @@ namespace ExampleApeart
services.AddSingleton<IChannelHelper, ChannelHelper>();
services.AddSingleton<IRabbitMQProducer, RabbitMQProducer>();
services.AddSingleton<IEventActionHandler, EventActionHandler>();
+ services.AddSingleton<IRabbitMultiConsumerHandler, RabbitMultiConsumerHandler>();
+
//services.AddSingleton<RabbitMultiConsumerHandler>();
//services.AddSingleton<RabbitMQProducer>();
example/ExampleApeart.Handler/SerilogCustomHandler.cs
diff --git a/example/ExampleApeart.Handler/SerilogCustomHandler.cs b/example/ExampleApeart.Handler/SerilogCustomHandler.cs
index 773dcd0..eee13dd 100644
--- a/example/ExampleApeart.Handler/SerilogCustomHandler.cs
+++ b/example/ExampleApeart.Handler/SerilogCustomHandler.cs
@@ -1,11 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using PasteApeart;
-using PasteApeart.Handler;
using Serilog.Core;
using Serilog.Events;
@@ -37,7 +31,7 @@ namespace ExampleApeart.Handler
{
if (ServiceProvider != null)
{
- var _channel = ServiceProvider.GetRequiredService<ChannelHelper>();
+ var _channel = ServiceProvider.GetRequiredService<IChannelHelper>();
//Console.WriteLine($"channel is null:{(_channel == null)}!");
//这里进行比如异常推送等
}
example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
diff --git a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
index b8c150d..e1ffac7 100644
--- a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
+++ b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
@@ -599,6 +599,11 @@
权限类型 基于权限类型查询
</summary>
</member>
+ <member name="P:ExampleApeart.usermodels.InputQueryRoleInfo.role_type_array">
+ <summary>
+ 多类型查询
+ </summary>
+ </member>
<member name="P:ExampleApeart.usermodels.InputQueryRoleInfo.vals1">
<summary>
多选一
example/ExampleApeart.HttpApi.Host/ExampleApeart.HttpApi.Host.xml
diff --git a/example/ExampleApeart.HttpApi.Host/ExampleApeart.HttpApi.Host.xml b/example/ExampleApeart.HttpApi.Host/ExampleApeart.HttpApi.Host.xml
index c263db1..5198316 100644
--- a/example/ExampleApeart.HttpApi.Host/ExampleApeart.HttpApi.Host.xml
+++ b/example/ExampleApeart.HttpApi.Host/ExampleApeart.HttpApi.Host.xml
@@ -438,7 +438,7 @@
系统初始化
</summary>
</member>
- <member name="M:ExampleApeart.StartHostedService.#ctor(System.IServiceProvider,Microsoft.Extensions.Options.IOptions{PasteApeart.Application.Contracts.RabbitConfig},PasteApeart.Handler.rabbit.RabbitMultiConsumerHandler,Microsoft.Extensions.Logging.ILogger{ExampleApeart.StartHostedService},PasteApeart.IChannelHelper,PasteApeart.Handler.IEventActionHandler,Microsoft.Extensions.Options.IOptions{ExampleApeart.AppConfig})">
+ <member name="M:ExampleApeart.StartHostedService.#ctor(System.IServiceProvider,Microsoft.Extensions.Options.IOptions{PasteApeart.Application.Contracts.RabbitConfig},PasteApeart.Handler.rabbit.IRabbitMultiConsumerHandler,Microsoft.Extensions.Logging.ILogger{ExampleApeart.StartHostedService},PasteApeart.IChannelHelper,PasteApeart.Handler.IEventActionHandler,Microsoft.Extensions.Options.IOptions{ExampleApeart.AppConfig})">
<summary>
</summary>
example/ExampleApeart.HttpApi.Host/Services/StartHostedService.cs
diff --git a/example/ExampleApeart.HttpApi.Host/Services/StartHostedService.cs b/example/ExampleApeart.HttpApi.Host/Services/StartHostedService.cs
index 430aa96..e59efb1 100644
--- a/example/ExampleApeart.HttpApi.Host/Services/StartHostedService.cs
+++ b/example/ExampleApeart.HttpApi.Host/Services/StartHostedService.cs
@@ -22,7 +22,7 @@ namespace ExampleApeart
private readonly IChannelHelper _channelHelper;
private readonly IEventActionHandler _eventHandler;
private readonly AppConfig _config;
- private readonly RabbitMultiConsumerHandler _rabbitReviceHandler;
+ private readonly IRabbitMultiConsumerHandler _rabbitReviceHandler;
private readonly RabbitConfig _rabbitConfig;
/// <summary>
@@ -35,7 +35,14 @@ namespace ExampleApeart
/// <param name="channelHelper"></param>
/// <param name="eventHandler"></param>
/// <param name="config"></param>
- public StartHostedService(IServiceProvider serviceProvider, IOptions<RabbitConfig> rabbitConfig, RabbitMultiConsumerHandler rabbitMultiConsumerHandler, ILogger<StartHostedService> logger, IChannelHelper channelHelper, IEventActionHandler eventHandler, IOptions<AppConfig> config)
+ public StartHostedService(
+ IServiceProvider serviceProvider,
+ IOptions<RabbitConfig> rabbitConfig,
+ IRabbitMultiConsumerHandler rabbitMultiConsumerHandler,
+ ILogger<StartHostedService> logger,
+ IChannelHelper channelHelper,
+ IEventActionHandler eventHandler,
+ IOptions<AppConfig> config)
{
_serviceProvider = serviceProvider;
_logger = logger;
example/ExampleApeart.sln
diff --git a/example/ExampleApeart.sln b/example/ExampleApeart.sln
index 3b1e34c..a44bb56 100644
--- a/example/ExampleApeart.sln
+++ b/example/ExampleApeart.sln
@@ -31,6 +31,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PasteApeart.Handler", "..\f
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PasteApeart.Application", "..\framework\PasteApeart.Application\PasteApeart.Application.csproj", "{FCEDEE51-A9DC-FC42-61C3-78D85EEB35F9}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PasteApeart.Helper", "..\framework\PasteApeart.Helper\PasteApeart.Helper.csproj", "{93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -235,6 +237,22 @@ Global
{FCEDEE51-A9DC-FC42-61C3-78D85EEB35F9}.Release|x64.Build.0 = Release|Any CPU
{FCEDEE51-A9DC-FC42-61C3-78D85EEB35F9}.Release|x86.ActiveCfg = Release|Any CPU
{FCEDEE51-A9DC-FC42-61C3-78D85EEB35F9}.Release|x86.Build.0 = Release|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|ARM64.Build.0 = Debug|ARM64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|x64.ActiveCfg = Debug|x64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|x64.Build.0 = Debug|x64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Debug|x86.Build.0 = Debug|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|ARM64.ActiveCfg = Release|ARM64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|ARM64.Build.0 = Release|ARM64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|x64.ActiveCfg = Release|x64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|x64.Build.0 = Release|x64
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|x86.ActiveCfg = Release|Any CPU
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -252,6 +270,7 @@ Global
{41424EEF-778D-CC37-FA83-8539BD82577C} = {A674AE5C-C826-48E0-9DA8-8978FAFEE10A}
{B4E0F5D3-E931-B1F3-62C4-B9D33F59191E} = {A674AE5C-C826-48E0-9DA8-8978FAFEE10A}
{FCEDEE51-A9DC-FC42-61C3-78D85EEB35F9} = {A674AE5C-C826-48E0-9DA8-8978FAFEE10A}
+ {93B87C2D-64EF-BBAB-95C4-8C3F5DB477EB} = {A674AE5C-C826-48E0-9DA8-8978FAFEE10A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D5B6327E-927F-4D35-9FFE-1EBDA1F97354}
framework/Directory.Build.props
diff --git a/framework/Directory.Build.props b/framework/Directory.Build.props
index 481a30b..e46a685 100644
--- a/framework/Directory.Build.props
+++ b/framework/Directory.Build.props
@@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
- <Version>26.9.15</Version>
- <FileVersion>26.9.15</FileVersion>
- <AssemblyVersion>26.9.15</AssemblyVersion>
+ <Version>26.9.16</Version>
+ <FileVersion>26.9.16</FileVersion>
+ <AssemblyVersion>26.9.16</AssemblyVersion>
</PropertyGroup>
</Project>
\ No newline at end of file
framework/PasteApeart.Helper/PasteApeartAttribute.cs
diff --git a/framework/PasteApeart.Helper/PasteApeartAttribute.cs b/framework/PasteApeart.Helper/PasteApeartAttribute.cs
index fc2f781..a257709 100644
--- a/framework/PasteApeart.Helper/PasteApeartAttribute.cs
+++ b/framework/PasteApeart.Helper/PasteApeartAttribute.cs
@@ -2584,7 +2584,7 @@ namespace PasteApeart.Helper
/// 值类型,特别用于前端要推测类型的时候,比如EnumRoleType[] 这个时候没办法从value推测,因为可能为null,就需要这个辅助
/// 可选值有 number string
/// </summary>
- [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
+ [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class PasteValuetypeAttribute : ColumnDataTypeAttribute
{
/// <summary>
manage/page/pasteform/form.js
diff --git a/manage/page/pasteform/form.js b/manage/page/pasteform/form.js
index 537b663..ec64c3d 100644
--- a/manage/page/pasteform/form.js
+++ b/manage/page/pasteform/form.js
@@ -3999,21 +3999,21 @@ function handlerExchangeItemToUIData(item) {
item.selects = JSON.parse(_attribute.args1);
if (item.value || item.value == 0) {
var _typeof = "number";
- if (!item.valueType) {
- var valMap = new Map();
- var _value = item.value;
- if (Array.isArray(_value)) {
- for (const _val of _value) {
- _typeof = typeof (_val);
- valMap.set(_val, true);
- }
- } else {
- _typeof = typeof (item.value);
- valMap.set(item.value, true);
+ var valMap = new Map();
+ var _value = item.value;
+ if (Array.isArray(_value)) {
+ for (const _val of _value) {
+ _typeof = typeof (_val);
+ valMap.set(_val, true);
}
- item.valueType = _typeof;
} else {
+ _typeof = typeof (item.value);
+ valMap.set(item.value, true);
+ }
+ if (item.valueType) {
_typeof = item.valueType;
+ } else {
+ item.valueType = _typeof;
}
switch (_typeof) {
case "string":
@@ -4042,12 +4042,6 @@ function handlerExchangeItemToUIData(item) {
case "object":
{
if (Array.isArray(item.value)) {
- // item.selects.forEach(ii => {
- // if (item.value.indexOf(ii.value) >= 0) {
- // ii.selected = true;
- // }
- // // typeof(ii);
- // });
for (const ii of item.selects) {
item.dataFrom = `${typeof (ii.value)}[]`;
if (item.value.indexOf(ii.value) >= 0) {
@@ -4057,11 +4051,6 @@ function handlerExchangeItemToUIData(item) {
}
} else {
var _vals = item.value.toString();
- // item.selects.forEach(ii => {
- // if (_vals.indexOf(ii.value.toString()) >= 0) {
- // ii.selected = true;
- // }
- // });
for (const ii of item.selects) {
item.dataFrom = `${typeof (ii.value)}[]`;
if (_vals.indexOf(ii.value.toString()) >= 0) {
@@ -4081,9 +4070,9 @@ function handlerExchangeItemToUIData(item) {
var selectedItems = item.selects.filter(function (o) {
return o.selected;
});
- if (selectedItems.length > 0) {
- item.__selected_values = '(' + selectedItems.length + ')'
- + selectedItems.map(function (o) { return o.name; }).join(' ');
+ var selNum = selectedItems.length;
+ if (selNum > 0) {
+ item.__selected_values = (selNum > 1 ? '(' + selNum + ')' : '') + selectedItems.map(function (o) { return o.name; }).join(' ');
}
}
}
@@ -4321,6 +4310,9 @@ function handlerExchangeItemToUIData(item) {
break;
case "datetime":
{
+ if (item.dataType && item.dataType == "daterange") {
+ return;
+ }
item.dataType = "datetime";
var _format = "yyyy-MM-dd HH:mm:ss";
if (_attribute.args1) {
manage/page/pasteform/readme.md
diff --git a/manage/page/pasteform/readme.md b/manage/page/pasteform/readme.md
index 4e0a9f9..fde0e33 100644
--- a/manage/page/pasteform/readme.md
+++ b/manage/page/pasteform/readme.md
@@ -1565,4 +1565,8 @@ public class UserInfoListDto{
1.约定Enum开头的枚举,是number类型,这个放生在比如EnumRoleType[] types 默认值为Null 这个时候没办法推测是啥类型,估计后续要引入一个特性
2.比如你传参role_type=5,如果不按照1来,可以能会推测出这个是字符串!,我们知道Enum一般是int类型,所以做一个约定!
3.引入特性[PasteValuetype],最好是使用这个,如果你得枚举命名不合规的话
+
+## 26.09.08
+ 1.修复之前的[]的selects的query问题,单个的时候直接显示,不显示数量(1) 多个的时候才显示!
+ 2.datetime,如果已经有daterange的时候,则不进行datetime的处理,其实PasteDaterange和PasteDate是互斥的!
\ No newline at end of file