diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
index b04e1194..4acda516 100644
--- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
@@ -35,4 +35,15 @@ public class TrackPushService : ApplicationService, ITransientDependency
{
return await _trackPushConfigRepository.GetPageAsync(input);
}
+
+ ///
+ /// 轨迹推送配置内容列表
+ ///
+ ///
+ ///
+ [HttpPost("GetContentPage")]
+ public async Task> GetContentPageAsync([FromBody] GetTrackPushContentPageInputVO input)
+ {
+ return await _trackPushConfigRepository.GetContentPageAsync(input);
+ }
}
\ 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 82866c1f..ce41da3b 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
@@ -6,4 +6,6 @@ namespace SJZY.Track.Domain.Aggregates.TrackPushAggregate;
public interface ITrackPushConfigRepository : IBasicRepository
{
Task> GetPageAsync(KeywordsInputVO input);
+
+ Task> GetContentPageAsync(GetTrackPushContentPageInputVO input);
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs
new file mode 100644
index 00000000..f0558e95
--- /dev/null
+++ b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushContentPageInputVO.cs
@@ -0,0 +1,9 @@
+namespace SJZY.Track.Domain.Dtos.TrackPush;
+
+public class GetTrackPushContentPageInputVO : PageInfoInput
+{
+ ///
+ /// 轨迹推送配置id
+ ///
+ public int TrackPushConfigId { get; set; }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs
new file mode 100644
index 00000000..b3ae2d3f
--- /dev/null
+++ b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushContentPageOutputVO.cs
@@ -0,0 +1,56 @@
+namespace SJZY.Track.Domain.Dtos.TrackPush;
+
+public class GetTrackPushContentPageOutputVO
+{
+ ///
+ /// 轨迹内容代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容
+ ///
+ public string Content { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EnContent { get; set; }
+
+ ///
+ /// 推送扩展字段
+ ///
+ public string ExpandFieldsValue { get; set; }
+
+ public int Id { get; set; }
+
+ ///
+ /// 推送单号类型
+ ///
+ public string OrderNoType { get; set; }
+
+ ///
+ /// 推送排序
+ ///
+ public int Sort { get; set; }
+
+ ///
+ /// 推送轨迹内容代码
+ ///
+ public string TrackContentCodeValue { get; set; }
+
+ ///
+ /// 推送轨迹内容
+ ///
+ public string TrackContentValue { get; set; }
+
+ ///
+ /// 推送轨迹内容英文
+ ///
+ public string TrackEnContentValue { get; set; }
+
+ ///
+ /// 推送轨迹状态
+ ///
+ public string TrackStatusValue { get; set; }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/TrackPushConfigRepository.cs b/src/SJZY.Track.Repository/TrackPushConfigRepository.cs
index a69f2406..5d15dab1 100644
--- a/src/SJZY.Track.Repository/TrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Repository/TrackPushConfigRepository.cs
@@ -1,4 +1,5 @@
-using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
+using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
+using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
using SJZY.Track.Domain.Dtos.Common;
using SJZY.Track.Domain.Dtos.TrackPush;
@@ -19,7 +20,7 @@ public class TrackPushConfigRepository : BasicRepository,
.Filter(null, true)
.Where(trackPush => !trackPush.IsDeleted)
.WhereIF(input.SubSystemId.HasValue, trackPush => trackPush.SubSystemId == input.SubSystemId)
- .WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (trackPush, system, externalSubject, template) => externalSubject.Name.Contains(input.Keywords) || template.Name.Contains(input.Keywords))
+ .WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (trackPush, system, externalSubject, template) => externalSubject.Abbreviation.Contains(input.Keywords) || externalSubject.Name.Contains(input.Keywords) || template.Name.Contains(input.Keywords))
.OrderByDescending(trackPush => trackPush.CreateTime)
.Select((trackPush, system, externalSubject, template) => new GetTrackPushConfigPageOutputVO
{
@@ -34,4 +35,18 @@ public class TrackPushConfigRepository : BasicRepository,
.Distinct()
.ToPagedListAsync(input.PageIndex, input.PageSize);
}
+
+ public async Task> GetContentPageAsync(GetTrackPushContentPageInputVO input)
+ {
+ return await Context.Queryable()
+ .InnerJoin((pushContent, trackContent) => pushContent.TrackContentId == trackContent.Id)
+ .Where(pushContent => pushContent.TrackPushConfigId == input.TrackPushConfigId)
+ .OrderBy((pushContent, trackContent) => pushContent.Sort)
+ .Select((pushContent, trackContent) => new GetTrackPushContentPageOutputVO
+ {
+ Id = pushContent.Id,
+ Sort = pushContent.Sort
+ }, true)
+ .ToPagedListAsync(input.PageIndex, input.PageSize);
+ }
}
\ No newline at end of file