diff --git a/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj b/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj index 68b939c0..f13ee0b2 100644 --- a/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj +++ b/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj @@ -6,6 +6,7 @@ net7.0 True 1.0.0 + True diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs index 0367196b..168dae3a 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs @@ -34,7 +34,9 @@ public class TrackPullCacheService : ApplicationService, ITrackPullCacheService, { var data = new TrackPullConfigDto(); - Expression> exp = x => id.HasValue ? x.Id == id : x.SubSystemId == subSystemId && x.ServiceProviderId == serviceProviderId; + Expression> exp = x => + (!id.HasValue || x.Id == id) && (id.HasValue || (x.SubSystemId == subSystemId && x.ServiceProviderId == serviceProviderId)); + var trackPullConfigEntity = await _trackPullConfigRepository.GetFirstAsync(exp); if (trackPullConfigEntity == null) return data; diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs index 90f6bbcb..61f2cb2d 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs @@ -167,7 +167,7 @@ public class TrackPullService : ApplicationService, ITransientDependency /// /// [HttpPost("EditContent")] - public async Task UpdateContentAsync([FromBody] EditTrackPullContentInput input) + public async Task EditContentAsync([FromBody] EditTrackPullContentInput input) { if (input.Options != OptionTypeNoNull.删除) { diff --git a/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullContentInputValidation.cs b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullContentInputValidation.cs new file mode 100644 index 00000000..dcf6ff1c --- /dev/null +++ b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullContentInputValidation.cs @@ -0,0 +1,33 @@ +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 EditTrackPullContentInputValidation : AbstractValidator, IValidationEnabled +{ + public EditTrackPullContentInputValidation(IStringLocalizer stringLocalizer) + { + RuleFor(x => x.Options).IsInEnum().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, nameof(EditTrackPullContentInput.Options)]); + + RuleFor(x => x.Id).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullContentInput.Id), 0]); + + RuleFor(x => x.TrackContentId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullContentInput.TrackContentId), 0]); + + RuleFor(x => x.TrackPullConfigId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullContentInput.TrackPullConfigId), 0]); + + When(x => x.Options != OptionTypeNoNull.新增, () => + { + RuleFor(x => x.Id).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullContentInput.Id)]); + }); + + When(x => x.Options != OptionTypeNoNull.删除, () => + { + RuleFor(x => x.TrackContentId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullContentInput.TrackContentId)]); + + RuleFor(x => x.TrackPullConfigId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullContentInput.TrackPullConfigId)]); + }); + } +} \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs index 4fd13bbd..bd73f920 100644 --- a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs +++ b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs @@ -18,4 +18,9 @@ public class GetTrackPullConfigPageOutputVO /// 子系统名称 /// public string SubSystem { get; set; } + + /// + /// 子系统id + /// + public int SubSystemId { get; set; } } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs index ba01bf5e..01550b7f 100644 --- a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs +++ b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs @@ -18,4 +18,9 @@ public class GetTrackPushConfigPageOutputVO /// 子系统名称 /// public string SubSystem { get; set; } + + /// + /// 子系统id + /// + public int SubSystemId { get; set; } } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj b/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj index b1f4dc63..cb0a715f 100644 --- a/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj +++ b/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj @@ -4,6 +4,7 @@ net7.0 + True diff --git a/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs index 5f71c4c2..b3267e8a 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs @@ -25,6 +25,7 @@ public class TrackPullConfigRepository : BasicRepository, .Select((trackPull, system, service) => new GetTrackPullConfigPageOutputVO { Id = trackPull.Id, + SubSystemId = system.Id, SubSystem = system.CnName, ServiceProvider = service.Name, CreateTime = trackPull.CreateTime diff --git a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs index a04a0ac2..e58b1020 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs @@ -28,6 +28,7 @@ public class TrackPushConfigRepository : BasicRepository, .Select((trackPush, system, externalSubject) => new GetTrackPushConfigPageOutputVO { Id = trackPush.Id, + SubSystemId = system.Id, SubSystem = system.CnName, CustomName = externalSubject.Abbreviation, CreateTime = trackPush.CreateTime