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.Contract/Dtos/TrackTemplates/SortTrackTemplateContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/SortTrackTemplateContentInput.cs
new file mode 100644
index 00000000..0dbd5155
--- /dev/null
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/SortTrackTemplateContentInput.cs
@@ -0,0 +1,11 @@
+using SJZY.Expand.ABP.Core.PublicMethords;
+
+namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
+
+public class SortTrackTemplateContentInput
+{
+ ///
+ /// 排序信息
+ ///
+ 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.Application/Services/TrackTemplates/TrackTemplateService.cs b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs
index f084dc2c..a250f22b 100644
--- a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs
+++ b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs
@@ -1,6 +1,7 @@
using System.Linq.Expressions;
using Microsoft.Extensions.Localization;
using SJZY.Expand.ABP.Core.Localization;
+using SJZY.Track.Application.Contract.Dtos.TrackPush;
using SJZY.Track.Application.Contract.Dtos.TrackTemplates;
using SJZY.Track.Application.Localization;
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
@@ -34,7 +35,7 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
_stringLocalizer = stringLocalizer;
_trackTemplateRepository = trackTemplateRepository;
_trackPullConfigRepository = trackPullConfigRepository;
- _trackPushConfigRepository=trackPushConfigRepository;
+ _trackPushConfigRepository = trackPushConfigRepository;
}
///
@@ -119,7 +120,7 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
var isExist = await _trackTemplateRepository.GetFirstAsync(a =>
a.Id != input.Id && a.SubSystemId == input.SubSystemId && a.Code == input.Code);
if (isExist != null)
- {
+ {
throw new BusinessException(message: "模板代码已存在于当前选择的子系统下");
}
@@ -140,7 +141,7 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
var isExisistTrackPullConfigs = await _trackPullConfigRepository.GetListAsync(a => a.TrackTemplateId == input.Id);
if (isExisistTrackPullConfigs.Any())
{
- //throw new BusinessException(message: _stringLocalizer["IsExistTrackPullConfig"]);
+ //throw new BusinessException(message: _stringLocalizer["IsExistTrackPullConfig"]);
throw new BusinessException(message: "轨迹拉取配置里已经绑定模版,请检查");
}
//轨迹推送里看看是否被占用
@@ -234,4 +235,26 @@ public class TrackTemplateService : ApplicationService, ITransientDependency
return true;
}
+
+ ///
+ /// 轨迹模板内容排序
+ ///
+ ///
+ ///
+ [HttpPost("SortContent")]
+ public async Task SortContentAsync([FromBody] SortTrackTemplateContentInput input)
+ {
+ List ids = input.SortInfo.Select(x => int.Parse(x.Key)).ToList();
+
+ var trackTemplateContentEntities = await _trackTemplateRepository.GetContentListAsync(x => ids.Contains(x.Id));
+
+ trackTemplateContentEntities.ForEach(item =>
+ {
+ item.Sort = input.SortInfo.Single(x => x.Key == item.Id.ToString()).Value;
+ });
+
+ await _trackTemplateRepository.UpdateContentRangeAsync(trackTemplateContentEntities);
+
+ 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.Domain/Aggregates/TrackTemplateAggregate/ITrackTemplateRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/ITrackTemplateRepository.cs
index 13d2ff0a..3654043b 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/ITrackTemplateRepository.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/ITrackTemplateRepository.cs
@@ -35,4 +35,6 @@ public interface ITrackTemplateRepository : IBasicRepository> 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
diff --git a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs
index af67ce40..21eef31e 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs
@@ -158,4 +158,9 @@ public class TrackTemplateRepository : BasicRepository, ITr
{
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