From 8e5ffc06521a3a98dfb28cf9377c6eb14bb3f146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=96=87=E7=BF=94?= <878130837@qq.com> Date: Mon, 4 Mar 2024 14:51:22 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EditTrackContentMapInputValidation.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/SJZY.Track.Application/Validations/TrackContents/EditTrackContentMapInputValidation.cs b/src/SJZY.Track.Application/Validations/TrackContents/EditTrackContentMapInputValidation.cs index 90a334a9..b4cf3ed8 100644 --- a/src/SJZY.Track.Application/Validations/TrackContents/EditTrackContentMapInputValidation.cs +++ b/src/SJZY.Track.Application/Validations/TrackContents/EditTrackContentMapInputValidation.cs @@ -12,7 +12,7 @@ public class EditTrackContentMapInputValidation : AbstractValidator x.Options).IsInEnum().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, nameof(EditTrackContentMapInput.Options)]); - //RuleFor(x => x.Id).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.Id), 0]); + RuleFor(x => x.Id).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.Id), 0]); RuleFor(x => x.MapSubSystemId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.MapSubSystemId), 0]); @@ -22,10 +22,10 @@ public class EditTrackContentMapInputValidation : AbstractValidator x.TrackContentId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.TrackContentId), 0]); - //When(x => x.Options != OptionTypeNoNull.新增, () => - //{ - // RuleFor(x => x.Id).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackContentMapInput.Id)]); - //}); + When(x => x.Options != OptionTypeNoNull.新增, () => + { + RuleFor(x => x.Id).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackContentMapInput.Id)]); + }); When(x => x.Options != OptionTypeNoNull.删除, () => { From 5d5c7843b7c87ef1ab40e5d54aedfe2732f351fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=96=87=E7=BF=94?= <878130837@qq.com> Date: Mon, 4 Mar 2024 15:05:03 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackPull/TrackPullService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs index f1bc092a..47baadb0 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs @@ -169,7 +169,7 @@ public class TrackPullService : ApplicationService, ITransientDependency await _trackPullConfigRepository.UpdateAsync(oldTrackPullEntity); await _trackPullConfigRepository.UpdateParamsAsync(oldTrackPullParamsEntity); - if (oldTrackPullEntity.TrackTemplateId != input.TrackTemplateId) + if (trackPullContentEntities.Count > 0) { await _trackPullConfigRepository.SoftDeleteContentAsync(x => x.TrackPullConfigId == input.Id); await _trackPullConfigRepository.InsertContentRangeAsync(trackPullContentEntities); From d3dea7dd9e3a0fa7a6d00f8c811c4614cd616adb Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Mon, 4 Mar 2024 15:09:53 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=AD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrackContents/TrackContentService.cs | 34 +++++++++++++++- .../Services/TrackFlags/TrackFlagService.cs | 32 ++++++++++++--- .../TrackStatus/TrackStatusService.cs | 34 +++++++++++++++- .../TrackTemplates/TrackTemplateService.cs | 39 ++++++++++++++----- 4 files changed, 120 insertions(+), 19 deletions(-) diff --git a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs index cac9a7a6..6e8d42e7 100644 --- a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs +++ b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs @@ -101,7 +101,22 @@ namespace SJZY.Track.Application.Services.TrackContents if (trackContentEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TrackContentExist"]); - throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在"); + var codes = trackContentEntitys.FirstOrDefault(a => a.Code==input.Code); + if (codes!=null) + { + throw new BusinessException(message: "该子系统下轨迹代码已存在"); + } + var contents = trackContentEntitys.FirstOrDefault(a => a.Content==input.Content); + if (contents!=null) + { + throw new BusinessException(message: "该子系统下轨迹内容已存在"); + } + var contentEns = trackContentEntitys.FirstOrDefault(a => a.EnContent==input.EnContent); + if (contentEns!=null) + { + throw new BusinessException(message: "该子系统下轨迹内容英文已存在"); + } + //throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在"); } #endregion 业务逻辑校验 @@ -122,7 +137,22 @@ namespace SJZY.Track.Application.Services.TrackContents if (trackContentEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TrackContentExist"]); - throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在"); + //throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在"); + var codes = trackContentEntitys.FirstOrDefault(a => a.Code==input.Code); + if (codes!=null) + { + throw new BusinessException(message: "该子系统下轨迹代码已存在"); + } + var contents = trackContentEntitys.FirstOrDefault(a => a.Content==input.Content); + if (contents!=null) + { + throw new BusinessException(message: "该子系统下轨迹内容已存在"); + } + var contentEns = trackContentEntitys.FirstOrDefault(a => a.EnContent==input.EnContent); + if (contentEns!=null) + { + throw new BusinessException(message: "该子系统下轨迹内容英文已存在"); + } } #endregion 业务逻辑校验 diff --git a/src/SJZY.Track.Application/Services/TrackFlags/TrackFlagService.cs b/src/SJZY.Track.Application/Services/TrackFlags/TrackFlagService.cs index bc3f68ad..9e7d4056 100644 --- a/src/SJZY.Track.Application/Services/TrackFlags/TrackFlagService.cs +++ b/src/SJZY.Track.Application/Services/TrackFlags/TrackFlagService.cs @@ -86,12 +86,22 @@ namespace SJZY.Track.Application.Services.TrackFlags private async Task AddAsync(EditTrackFlagInput input) { #region 业务校验 - var trackStatusEntitys = await _trackFlagRepository.GetListAsync(a => + var trackFlagsEntitys = await _trackFlagRepository.GetListAsync(a => a.SubSystemId == input.SubSystemId && (a.Code == input.Code || a.Name == input.Flag)); - if (trackStatusEntitys.Any()) + if (trackFlagsEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TrackFlagExist"]); - throw new BusinessException(message: "当前子系统下已存在轨迹标记代码"); + //throw new BusinessException(message: "当前子系统下已存在轨迹标记代码"); + var trackFlagCode = trackFlagsEntitys.FirstOrDefault(a => a.Code==input.Code); + if (trackFlagCode!=null) + { + throw new BusinessException(message: "该子系统下代码已存在"); + } + var trackFlagName = trackFlagsEntitys.FirstOrDefault(a => a.Name==input.Flag); + if (trackFlagName!=null) + { + throw new BusinessException(message: "该子系统下标记已存在"); + } } #endregion @@ -105,13 +115,23 @@ namespace SJZY.Track.Application.Services.TrackFlags { #region 业务校验 - var trackStatusEntitys = await _trackFlagRepository.GetListAsync(a => a.Id != input.Id && + var trackFlagsEntitys = await _trackFlagRepository.GetListAsync(a => a.Id != input.Id && a.SubSystemId == input.SubSystemId && (a.Code == input.Code || a.Name == input.Flag)); - if (trackStatusEntitys.Any()) + if (trackFlagsEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TrackFlagExist"]); - throw new BusinessException(message: "当前子系统下已存在轨迹标记代码"); + //throw new BusinessException(message: "当前子系统下已存在轨迹标记代码"); + var trackFlagCode = trackFlagsEntitys.FirstOrDefault(a => a.Code==input.Code); + if (trackFlagCode!=null) + { + throw new BusinessException(message: "该子系统下代码已存在"); + } + var trackFlagName = trackFlagsEntitys.FirstOrDefault(a => a.Name==input.Flag); + if (trackFlagName!=null) + { + throw new BusinessException(message: "该子系统下标记已存在"); + } } #endregion diff --git a/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs b/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs index 5dad92e8..c1f22afb 100644 --- a/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs +++ b/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs @@ -93,7 +93,22 @@ public class TrackStatusService : ApplicationService, ITransientDependency if (trackStatusEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TrackStatusExist"]); - throw new BusinessException(message: "当前子系统下,轨迹状态代码或轨迹状态或轨迹状态英文存在"); + //throw new BusinessException(message: "当前子系统下,轨迹状态代码或轨迹状态或轨迹状态英文存在"); + var trackStatusCode = trackStatusEntitys.FirstOrDefault(t => t.Code==input.Code); + if (trackStatusCode!=null) + { + throw new BusinessException(message: "该子系统下轨迹状态代码已存在"); + } + var trackStatusName = trackStatusEntitys.FirstOrDefault(t => t.Status==input.TrackStatus); + if (trackStatusName!=null) + { + throw new BusinessException(message: "该子系统下轨迹状态已存在"); + } + var trackStatusEnName = trackStatusEntitys.FirstOrDefault(t => t.EnStatus==input.EntrackStatus); + if (trackStatusEnName!=null) + { + throw new BusinessException(message: "该子系统下轨迹状态英文已存在"); + } } #endregion @@ -114,7 +129,22 @@ public class TrackStatusService : ApplicationService, ITransientDependency if (trackStatusEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TrackStatusExist"]); - throw new BusinessException(message: "当前子系统下,轨迹状态代码或轨迹状态或轨迹状态英文存在"); + //throw new BusinessException(message: "当前子系统下,轨迹状态代码或轨迹状态或轨迹状态英文存在"); + var trackStatusCode = trackStatusEntitys.FirstOrDefault(t => t.Code==input.Code); + if (trackStatusCode!=null) + { + throw new BusinessException(message: "该子系统下轨迹状态代码已存在"); + } + var trackStatusName = trackStatusEntitys.FirstOrDefault(t => t.Status==input.TrackStatus); + if (trackStatusName!=null) + { + throw new BusinessException(message: "该子系统下轨迹状态已存在"); + } + var trackStatusEnName = trackStatusEntitys.FirstOrDefault(t => t.EnStatus==input.EntrackStatus); + if (trackStatusEnName!=null) + { + throw new BusinessException(message: "该子系统下轨迹状态英文已存在"); + } } #endregion diff --git a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs index 831a17e0..6981c6ed 100644 --- a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs +++ b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs @@ -96,13 +96,24 @@ public class TrackTemplateService : ApplicationService, ITransientDependency #region 业务校验 //校验模版代码唯一性 - var templateEntity = - await _trackTemplateRepository.GetFirstAsync( - a => a.SubSystemId == input.SubSystemId && a.Code == input.Code); - if (templateEntity != null) + //var templateEntity = + // await _trackTemplateRepository.GetFirstAsync( + // a => a.SubSystemId == input.SubSystemId && a.Code == input.Code); + var templateEntitys = await _trackTemplateRepository.GetListAsync(a => a.SubSystemId == input.SubSystemId && (a.Code == input.Code|| a.Name==input.Name)); + if (templateEntitys.Any()) { //throw new BusinessException(message: _stringLocalizer["TemplateExist"]); - throw new BusinessException(message: "模板代码已存在于当前选择的子系统下"); + //throw new BusinessException(message: "模板代码已存在于当前选择的子系统下"); + var trackTemplateCode = templateEntitys.FirstOrDefault(t => t.Code==input.Code); + if (trackTemplateCode!=null) + { + throw new BusinessException(message: "该子系统下模板代码已存在"); + } + var trackTemplateName = templateEntitys.FirstOrDefault(t => t.Name==input.Name); + if (trackTemplateName!=null) + { + throw new BusinessException(message: "该子系统下模板名称已存在"); + } } #endregion 业务校验 @@ -117,11 +128,21 @@ public class TrackTemplateService : ApplicationService, ITransientDependency { #region 业务校验 - var isExist = await _trackTemplateRepository.GetFirstAsync(a => - a.Id != input.Id && a.SubSystemId == input.SubSystemId && a.Code == input.Code); - if (isExist != null) + var templateEntitys = await _trackTemplateRepository.GetListAsync(a => + a.Id != input.Id && a.SubSystemId == input.SubSystemId && (a.Code == input.Code || a.Name==input.Name)); + if (templateEntitys.Any()) { - throw new BusinessException(message: "模板代码已存在于当前选择的子系统下"); + //throw new BusinessException(message: "模板代码已存在于当前选择的子系统下"); + var trackTemplateCode = templateEntitys.FirstOrDefault(t => t.Code==input.Code); + if (trackTemplateCode!=null) + { + throw new BusinessException(message: "该子系统下模板代码已存在"); + } + var trackTemplateName = templateEntitys.FirstOrDefault(t => t.Name==input.Name); + if (trackTemplateName!=null) + { + throw new BusinessException(message: "该子系统下模板名称已存在"); + } } #endregion 业务校验 From c9772299a513a04fdd0574f9a4b0f2608042955a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=96=87=E7=BF=94?= <878130837@qq.com> Date: Mon, 4 Mar 2024 15:25:20 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrackPull/EditTrackPullConfigInputValidation.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs index fc540b38..9b0a4503 100644 --- a/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs +++ b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs @@ -16,7 +16,8 @@ public class EditTrackPullConfigInputValidation : AbstractValidator x.ParseMethod).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.ParseMethod), 0]); - RuleFor(x => x.PullInterval).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.PullInterval), 0]); + RuleFor(x => x.PullInterval) + .GreaterThanOrEqualTo(30).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThanOrEqualTo, nameof(EditTrackPullConfigInput.PullInterval), 30]); RuleFor(x => x.SubSystemId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.SubSystemId), 0]);