入参校验
This commit is contained in:
parent
046999c208
commit
904b44e262
@ -7,17 +7,17 @@ public class EditTrackContentMapInput
|
||||
/// <summary>
|
||||
/// 映射子系统id
|
||||
/// </summary>
|
||||
public int MapSubSystemId { get; set; }
|
||||
public int? MapSubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 映射轨迹内容代码
|
||||
/// </summary>
|
||||
public string MapTrackContentCode { get; set; }
|
||||
public string? MapTrackContentCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 映射轨迹内容id
|
||||
/// </summary>
|
||||
public int MapTrackContentId { get; set; }
|
||||
public int? MapTrackContentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作类型
|
||||
@ -27,15 +27,15 @@ public class EditTrackContentMapInput
|
||||
/// <summary>
|
||||
/// 源子系统id
|
||||
/// </summary>
|
||||
public int SubSystemId { get; set; }
|
||||
public int? SubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 源轨迹内容代码
|
||||
/// </summary>
|
||||
public string TrackContentCode { get; set; }
|
||||
public string? TrackContentCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 源轨迹内容id
|
||||
/// </summary>
|
||||
public int TrackContentId { get; set; }
|
||||
public int? TrackContentId { get; set; }
|
||||
}
|
||||
@ -17,22 +17,22 @@ public class EditTrackPullConfigInput
|
||||
/// <summary>
|
||||
/// 返参解析对象
|
||||
/// </summary>
|
||||
public int ParseMethod { get; set; }
|
||||
public int? ParseMethod { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 定时任务(分钟)
|
||||
/// </summary>
|
||||
public int PullInterval { get; set; }
|
||||
public int? PullInterval { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务商id
|
||||
/// </summary>
|
||||
public int ServiceProviderId { get; set; }
|
||||
public int? ServiceProviderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子系统id
|
||||
/// </summary>
|
||||
public int SubSystemId { get; set; }
|
||||
public int? SubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拉取轨迹时区
|
||||
@ -62,7 +62,7 @@ public class EditTrackPullConfigInput
|
||||
/// <summary>
|
||||
/// 轨迹模板id
|
||||
/// </summary>
|
||||
public int TrackTemplateId { get; set; }
|
||||
public int? TrackTemplateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拉取轨迹发生时间
|
||||
|
||||
@ -14,25 +14,20 @@ public class EditTrackTemplateContentInput
|
||||
/// <summary>
|
||||
/// 是否可删
|
||||
/// </summary>
|
||||
public bool IsCanDelete { get; set; }
|
||||
public bool? IsCanDelete { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否对外
|
||||
/// </summary>
|
||||
public bool IsExternal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
public int Sort { get; set; }
|
||||
public bool? IsExternal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹内容id
|
||||
/// </summary>
|
||||
public int TrackContentId { get; set; }
|
||||
public int? TrackContentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹模板id
|
||||
/// </summary>
|
||||
public int TrackTemplateId { get; set; }
|
||||
public int? TrackTemplateId { get; set; }
|
||||
}
|
||||
@ -120,6 +120,7 @@ namespace SJZY.Track.Application.Services.TrackContents
|
||||
//throw new BusinessException(message: _stringLocalizer["TrackContentExist"]);
|
||||
throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在");
|
||||
}
|
||||
|
||||
#endregion 业务逻辑校验
|
||||
|
||||
//更新的时候需要覆盖内容映射轨迹代码
|
||||
@ -158,6 +159,7 @@ namespace SJZY.Track.Application.Services.TrackContents
|
||||
private async Task<UnifyResultDto> DeleteAsync(EditTrackContentInput input)
|
||||
{
|
||||
#region 业务校验
|
||||
|
||||
//需要加个判断,存在内容映射,则出提示
|
||||
|
||||
#endregion 业务校验
|
||||
@ -201,12 +203,14 @@ namespace SJZY.Track.Application.Services.TrackContents
|
||||
{
|
||||
if (input.Options != OptionTypeNoNull.删除)
|
||||
{
|
||||
if (input.TrackContentId == input.MapTrackContentId) throw new BusinessException(message: _stringLocalizer["IsTrackContentMapAny"]);
|
||||
|
||||
Expression<Func<TrackContentMapEntity, bool>> isMapAnyExp = x =>
|
||||
x.TrackContentId == input.TrackContentId && x.MapTrackContentId == input.MapTrackContentId;
|
||||
if (input.Options == OptionTypeNoNull.修改) isMapAnyExp.And(x => x.Id != input.Id);
|
||||
|
||||
if (await _trackContentRepository.IsMapAnyAsync(isMapAnyExp))
|
||||
throw new BusinessException(message: _stringLocalizer["IsTrackContentMapAny"]);
|
||||
throw new BusinessException(message: _stringLocalizer["NotAllowedToMapOneself"]);
|
||||
}
|
||||
|
||||
switch (input.Options)
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
using FluentValidation;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using SJZY.Expand.ABP.Core.Localization;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackContents;
|
||||
using SJZY.Track.Application.Localization;
|
||||
|
||||
namespace SJZY.Track.Application.Validations.TrackContents;
|
||||
|
||||
public class EditTrackContentMapInputValidation : AbstractValidator<EditTrackContentMapInput>, IValidationEnabled
|
||||
{
|
||||
public EditTrackContentMapInputValidation(IStringLocalizer<TrackLocalizationResource> stringLocalizer)
|
||||
{
|
||||
RuleFor(x => 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.MapSubSystemId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.MapSubSystemId), 0]);
|
||||
|
||||
RuleFor(x => x.MapTrackContentId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.MapTrackContentId), 0]);
|
||||
|
||||
RuleFor(x => x.SubSystemId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackContentMapInput.SubSystemId), 0]);
|
||||
|
||||
RuleFor(x => 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.MapSubSystemId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackContentMapInput.MapSubSystemId)]);
|
||||
|
||||
RuleFor(x => x.MapTrackContentCode).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackContentMapInput.MapTrackContentCode)]);
|
||||
|
||||
RuleFor(x => x.MapTrackContentId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackContentMapInput.MapTrackContentId)]);
|
||||
|
||||
RuleFor(x => x.SubSystemId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackContentMapInput.SubSystemId)]);
|
||||
|
||||
RuleFor(x => x.TrackContentCode).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackContentMapInput.TrackContentCode)]);
|
||||
|
||||
RuleFor(x => x.TrackContentId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackContentMapInput.TrackContentId)]);
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
using FluentValidation;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using SJZY.Expand.ABP.Core.Localization;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||
using SJZY.Track.Application.Localization;
|
||||
|
||||
namespace SJZY.Track.Application.Validations.TrackPull;
|
||||
|
||||
public class EditTrackPullConfigInputValidation : AbstractValidator<EditTrackPullConfigInput>, IValidationEnabled
|
||||
{
|
||||
public EditTrackPullConfigInputValidation(IStringLocalizer<TrackLocalizationResource> stringLocalizer)
|
||||
{
|
||||
RuleFor(x => x.Options).IsInEnum().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, nameof(EditTrackPullConfigInput.Options)]);
|
||||
|
||||
RuleFor(x => x.Id).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.Id), 0]);
|
||||
|
||||
RuleFor(x => 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.SubSystemId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.SubSystemId), 0]);
|
||||
|
||||
RuleFor(x => x.ServiceProviderId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.ServiceProviderId), 0]);
|
||||
|
||||
RuleFor(x => x.SubSystemId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.SubSystemId), 0]);
|
||||
|
||||
RuleFor(x => x.TrackTemplateId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullConfigInput.TrackTemplateId), 0]);
|
||||
|
||||
When(x => x.Options != OptionTypeNoNull.新增, () =>
|
||||
{
|
||||
RuleFor(x => x.Id).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullConfigInput.Id)]);
|
||||
});
|
||||
|
||||
When(x => x.Options != OptionTypeNoNull.删除, () =>
|
||||
{
|
||||
RuleFor(x => x.SubSystemId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullConfigInput.SubSystemId)]);
|
||||
|
||||
RuleFor(x => x.ServiceProviderId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullConfigInput.ServiceProviderId)]);
|
||||
|
||||
RuleFor(x => x.TrackTemplateId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullConfigInput.TrackTemplateId)]);
|
||||
|
||||
RuleFor(x => x.PullInterval).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullConfigInput.PullInterval)]);
|
||||
|
||||
RuleFor(x => x.ParseMethod).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullConfigInput.ParseMethod)]);
|
||||
|
||||
RuleFor(x => x.OrderNoName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.OrderNoName)]);
|
||||
|
||||
When(x => x.ParseMethod == 1, () =>
|
||||
{
|
||||
RuleFor(x => x.TackTimeZoneName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.TackTimeZoneName)]);
|
||||
|
||||
RuleFor(x => x.TrackContentCodeName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.TrackContentCodeName)]);
|
||||
|
||||
RuleFor(x => x.TrackContentName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.TrackContentName)]);
|
||||
|
||||
RuleFor(x => x.TrackPlaceName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.TrackPlaceName)]);
|
||||
|
||||
RuleFor(x => x.TrackStatusName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.TrackStatusName)]);
|
||||
|
||||
RuleFor(x => x.TrackTimeName).NotEmpty().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotEmpty, nameof(EditTrackPullConfigInput.TrackTimeName)]);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
using FluentValidation;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using SJZY.Expand.ABP.Core.Localization;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackTemplates;
|
||||
using SJZY.Track.Application.Localization;
|
||||
|
||||
namespace SJZY.Track.Application.Validations.TrackTemplates;
|
||||
|
||||
public class EditTrackTemplateContentInputValidation : AbstractValidator<EditTrackTemplateContentInput>, IValidationEnabled
|
||||
{
|
||||
public EditTrackTemplateContentInputValidation(IStringLocalizer<TrackLocalizationResource> stringLocalizer)
|
||||
{
|
||||
RuleFor(x => x.Options).IsInEnum().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, nameof(EditTrackTemplateContentInput.Options)]);
|
||||
|
||||
RuleFor(x => x.Id).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackTemplateContentInput.Id), 0]);
|
||||
|
||||
RuleFor(x => x.TrackContentId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackTemplateContentInput.TrackContentId), 0]);
|
||||
|
||||
RuleFor(x => x.TrackTemplateId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackTemplateContentInput.TrackTemplateId), 0]);
|
||||
|
||||
When(x => x.Options != OptionTypeNoNull.新增, () =>
|
||||
{
|
||||
RuleFor(x => x.Id).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackTemplateContentInput.Id)]);
|
||||
});
|
||||
|
||||
When(x => x.Options != OptionTypeNoNull.删除, () =>
|
||||
{
|
||||
RuleFor(x => x.IsCanDelete).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackTemplateContentInput.IsCanDelete)]);
|
||||
|
||||
RuleFor(x => x.IsExternal).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackTemplateContentInput.IsExternal)]);
|
||||
|
||||
RuleFor(x => x.TrackContentId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackTemplateContentInput.TrackContentId)]);
|
||||
|
||||
RuleFor(x => x.TrackTemplateId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackTemplateContentInput.TrackTemplateId)]);
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user