diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
index 4acda516..f303cc4c 100644
--- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
@@ -46,4 +46,15 @@ public class TrackPushService : ApplicationService, ITransientDependency
{
return await _trackPushConfigRepository.GetContentPageAsync(input);
}
+
+ ///
+ /// 轨迹推送配置详情
+ ///
+ ///
+ ///
+ [HttpGet("GetDetail")]
+ public async Task GetDetailAsync(int id)
+ {
+ return await _trackPushConfigRepository.GetDetailAsync(id);
+ }
}
\ 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 ce41da3b..9050f090 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
@@ -8,4 +8,6 @@ public interface ITrackPushConfigRepository : IBasicRepository> GetPageAsync(KeywordsInputVO input);
Task> GetContentPageAsync(GetTrackPushContentPageInputVO input);
+
+ Task GetDetailAsync(int id);
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs
new file mode 100644
index 00000000..6e9cd961
--- /dev/null
+++ b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs
@@ -0,0 +1,98 @@
+using SJZY.Expand.ABP.Core.PublicMethords;
+
+namespace SJZY.Track.Domain.Dtos.TrackPush;
+
+public class GetTrackPushConfigDetailOutputVO
+{
+ ///
+ /// 客户id
+ ///
+ public int CustomId { get; set; }
+
+ ///
+ /// 客户
+ ///
+ public string CustomName { get; set; }
+
+ ///
+ /// 推送扩展字段
+ ///
+ public string ExpandFieldsName { get; set; }
+
+ public int Id { get; set; }
+
+ ///
+ /// 是否自动推送
+ ///
+ public bool IsAutoPush { get; set; }
+
+ ///
+ /// 推送轨迹订单号
+ ///
+ public string OrderNoName { get; set; }
+
+ ///
+ /// 服务商
+ ///
+ public string ServiceProvider { get; set; }
+
+ ///
+ /// 服务商id
+ ///
+ public int ServiceProviderId { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 推送轨迹时区
+ ///
+ public string TackTimeZoneName { get; set; }
+
+ ///
+ /// 推送轨迹内容代码
+ ///
+ public string TrackContentCodeName { get; set; }
+
+ ///
+ /// 推送轨迹内容
+ ///
+ public string TrackContentName { get; set; }
+
+ ///
+ /// 推送轨迹内容英文
+ ///
+ public string TrackEnContentName { get; set; }
+
+ ///
+ /// 推送轨迹发生地
+ ///
+ public string TrackPlaceName { get; set; }
+
+ ///
+ /// 推送轨迹状态
+ ///
+ public string TrackStatusName { get; set; }
+
+ ///
+ /// 轨迹模板
+ ///
+ public List TrackTemplate { get; set; }
+
+ ///
+ /// 轨迹模板id
+ ///
+ public int TrackTemplateId { get; set; }
+
+ ///
+ /// 推送轨迹发生时间
+ ///
+ public string TrackTimeName { get; set; }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Infrastructure/Repositories/TrackPushConfigRepository.cs b/src/SJZY.Track.Infrastructure/Repositories/TrackPushConfigRepository.cs
index 788741ca..d5180da1 100644
--- a/src/SJZY.Track.Infrastructure/Repositories/TrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Infrastructure/Repositories/TrackPushConfigRepository.cs
@@ -1,4 +1,5 @@
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
+using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
using SJZY.Track.Domain.Dtos.Common;
@@ -49,4 +50,23 @@ public class TrackPushConfigRepository : BasicRepository,
}, true)
.ToPagedListAsync(input.PageIndex, input.PageSize);
}
+
+ public async Task GetDetailAsync(int id)
+ {
+ return await AsQueryable()
+ .LeftJoin((trackPush, system) => trackPush.SubSystemId == system.Id && !system.IsDeleted)
+ .LeftJoin((trackPush, system, externalSubject) => trackPush.CustomId == externalSubject.Id && !externalSubject.IsDeleted)
+ .LeftJoin((trackPush, system, externalSubject, service) => trackPush.ServiceProviderId == service.Id && !service.IsDeleted)
+ .InnerJoin((trackPush, system, externalSubject, service, paramsConfig) => trackPush.Id == paramsConfig.PullOrPushConfigId && paramsConfig.IsPush && !paramsConfig.IsDeleted)
+ .Filter(null, true)
+ .Where(trackPush => trackPush.Id == id && !trackPush.IsDeleted)
+ .Select((trackPush, system, externalSubject, service, paramsConfig) => new GetTrackPushConfigDetailOutputVO
+ {
+ Id = trackPush.Id,
+ SubSystem = system.CnName,
+ CustomName = externalSubject.Abbreviation,
+ ServiceProvider = service.Name,
+ }, true)
+ .SingleAsync();
+ }
}
\ No newline at end of file