diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/SortTrackPushContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/SortTrackPushContentInput.cs index 9d68df98..ed095f3e 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/SortTrackPushContentInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/SortTrackPushContentInput.cs @@ -1,9 +1,11 @@ -namespace SJZY.Track.Application.Contract.Dtos.TrackPush; +using SJZY.Expand.ABP.Core.PublicMethords; + +namespace SJZY.Track.Application.Contract.Dtos.TrackPush; public class SortTrackPushContentInput { /// /// 排序信息 /// - public List> SortInfo { get; set; } + public List SortInfo { get; set; } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs index cbb9a835..85ef0633 100644 --- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs +++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs @@ -4,7 +4,6 @@ using SJZY.Expand.ABP.Core.Localization; using SJZY.Expand.ABP.Core.PublicMethords; using SJZY.Track.Application.Contract.Dtos.TrackPush; using SJZY.Track.Application.Localization; -using SJZY.Track.Domain.Aggregates.DemoAggregate; using SJZY.Track.Domain.Aggregates.TrackPullAggregate; using SJZY.Track.Domain.Aggregates.TrackPushAggregate; using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate; @@ -246,6 +245,17 @@ public class TrackPushService : ApplicationService, ITransientDependency [HttpPost("SortContent")] public async Task SortContentAsync([FromBody] SortTrackPushContentInput input) { + List ids = input.SortInfo.Select(x => int.Parse(x.Key)).ToList(); + + var trackPushContentEntities = await _trackPushConfigRepository.GetContentListAsync(x => ids.Contains(x.Id)); + + trackPushContentEntities.ForEach(item => + { + item.Sort = input.SortInfo.Single(x => x.Key == item.Id.ToString()).Value; + }); + + await _trackPushConfigRepository.UpdateContentRangeAsync(trackPushContentEntities); + return true; } } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs index 808cc3ac..3d33a4ee 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs @@ -22,4 +22,8 @@ public interface ITrackPushConfigRepository : IBasicRepository GetContentByIdAsync(int id); Task UpdateContentAsync(TrackPushContentConfigEntity updateObj); + + Task> GetContentListAsync(Expression> whereExpression); + + Task UpdateContentRangeAsync(List updateObjs); } \ No newline at end of file diff --git a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs index 472a8908..29300b59 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs @@ -114,4 +114,14 @@ public class TrackPushConfigRepository : BasicRepository, { return await Context.Updateable(updateObj).ExecuteCommandHasChangeAsync(); } + + public async Task> GetContentListAsync(Expression> whereExpression) + { + return await Context.Queryable().Where(whereExpression).ToListAsync(); + } + + public async Task UpdateContentRangeAsync(List updateObjs) + { + return await Context.Updateable(updateObjs).ExecuteCommandHasChangeAsync(); + } } \ No newline at end of file