From 6f2d70725fa16d4d4c2b48fa633e62ba00c5a265 Mon Sep 17 00:00:00 2001 From: PhilPan Date: Fri, 22 Sep 2023 16:36:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=97=B6=EF=BC=8C=E9=92=BB=E5=8F=96=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E5=B1=9E=E6=80=A7=E7=9A=84=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppService/VmodelAppService.cs | 19 +++++++++++++------ visualdev/Tnb.Vengine/AppService/VmodelDto.cs | 5 ++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs b/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs index 9b55a234..77be98da 100644 --- a/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs +++ b/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs @@ -4,6 +4,8 @@ ///////////////////////////////////////////////////////////////////////////////// using JNPF; +using JNPF.Common.Extension; +using JNPF.Common.Security; using JNPF.ViewEngine; using Mapster; using Microsoft.AspNetCore.Mvc; @@ -35,17 +37,22 @@ public class VmodelAppService : VengineAppService, IVmodelAppService /// public override async Task GetAsync(VmGetInput input) { + VmodelGetInput para = new VmodelGetInput(); + if (!string.IsNullOrEmpty(input.q)) + { + para = input.q.ToObject(); + } var query = _db.Queryable().Where(a => a.deleted == 0); - Vmodel vm; - if (long.TryParse(input.id, out long id)) + Vmodel? vm = null; + if (!string.IsNullOrEmpty(input.id)) { - query.Where(a => a.id == input.id); - vm = await query.FirstAsync(); + vm = await _dataAccess.GetVmodelAsync(input.id, para.drill); } - else + else if(!string.IsNullOrEmpty(para.areaCode) && !string.IsNullOrEmpty(para.vmCode)) { - vm = await query.FirstAsync(a => a.vmCode == input.id); + vm = await _dataAccess.GetVmodelAsync(para.areaCode, para.vmCode, para.drill); } + ThrowIf.IsNull(vm, "输入参数有误, id 和 areaCode,vmCode 不可同时为空"); return vm; } diff --git a/visualdev/Tnb.Vengine/AppService/VmodelDto.cs b/visualdev/Tnb.Vengine/AppService/VmodelDto.cs index ab280788..9c69cd3a 100644 --- a/visualdev/Tnb.Vengine/AppService/VmodelDto.cs +++ b/visualdev/Tnb.Vengine/AppService/VmodelDto.cs @@ -23,10 +23,9 @@ public class CreatePageFromVmodelInput public class VmodelGetInput { - public long? id { get; set; } - public string? moduleCode { get; set; } + public string? areaCode { get; set; } public string? vmCode { get; set; } public string? dbCode { get; set; } public string? tableName { get; set; } - public bool drill { get; set; } + public bool drill { get; set; } = false; } \ No newline at end of file From 712501c0e8ffdb3dc943cec1175ca442ac208e30 Mon Sep 17 00:00:00 2001 From: PhilPan Date: Fri, 22 Sep 2023 16:53:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=8E=B7=E5=8F=96vmodel=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=97=B6=E9=92=BB=E5=8F=96=E5=AF=BC=E8=88=AA=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- visualdev/Tnb.Vengine/AppService/VmodelAppService.cs | 1 + visualdev/Tnb.Vengine/Domain/VmNavProp.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs b/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs index 77be98da..2ecf9373 100644 --- a/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs +++ b/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs @@ -100,6 +100,7 @@ public class VmodelAppService : VengineAppService, IVmodelAppService Vmodel vm = input.data.Adapt(); vm.areaCode = vm.areaCode.ToKebab(); vm.vmCode = vm.vmCode.ToKebab(); + vm.navProps.ForEach(a => a.naviModel = null); await _db.Updateable(vm).WhereColumns(a => a.id).ExecuteCommandAsync(); return input; } diff --git a/visualdev/Tnb.Vengine/Domain/VmNavProp.cs b/visualdev/Tnb.Vengine/Domain/VmNavProp.cs index 203f251b..ae6d0957 100644 --- a/visualdev/Tnb.Vengine/Domain/VmNavProp.cs +++ b/visualdev/Tnb.Vengine/Domain/VmNavProp.cs @@ -51,7 +51,7 @@ public class VmNavProp : VmBaseProp //[JsonIgnore] //public string? midTable { get; set; } - [JsonIgnore] + [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public Vmodel? naviModel { get; set; } #endregion Properties