完成 轨迹推送配置详情 接口

This commit is contained in:
柳文翔 2024-03-01 10:12:14 +08:00
parent 95d91559e8
commit adc30d39c7
4 changed files with 131 additions and 0 deletions

View File

@ -46,4 +46,15 @@ public class TrackPushService : ApplicationService, ITransientDependency
{
return await _trackPushConfigRepository.GetContentPageAsync(input);
}
/// <summary>
/// 轨迹推送配置详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("GetDetail")]
public async Task<GetTrackPushConfigDetailOutputVO> GetDetailAsync(int id)
{
return await _trackPushConfigRepository.GetDetailAsync(id);
}
}

View File

@ -8,4 +8,6 @@ public interface ITrackPushConfigRepository : IBasicRepository<TrackPushConfigEn
Task<UnifyPageResultDto<GetTrackPushConfigPageOutputVO>> GetPageAsync(KeywordsInputVO input);
Task<UnifyPageResultDto<GetTrackPushContentPageOutputVO>> GetContentPageAsync(GetTrackPushContentPageInputVO input);
Task<GetTrackPushConfigDetailOutputVO> GetDetailAsync(int id);
}

View File

@ -0,0 +1,98 @@
using SJZY.Expand.ABP.Core.PublicMethords;
namespace SJZY.Track.Domain.Dtos.TrackPush;
public class GetTrackPushConfigDetailOutputVO
{
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 客户
/// </summary>
public string CustomName { get; set; }
/// <summary>
/// 推送扩展字段
/// </summary>
public string ExpandFieldsName { get; set; }
public int Id { get; set; }
/// <summary>
/// 是否自动推送
/// </summary>
public bool IsAutoPush { get; set; }
/// <summary>
/// 推送轨迹订单号
/// </summary>
public string OrderNoName { get; set; }
/// <summary>
/// 服务商
/// </summary>
public string ServiceProvider { get; set; }
/// <summary>
/// 服务商id
/// </summary>
public int ServiceProviderId { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 推送轨迹时区
/// </summary>
public string TackTimeZoneName { get; set; }
/// <summary>
/// 推送轨迹内容代码
/// </summary>
public string TrackContentCodeName { get; set; }
/// <summary>
/// 推送轨迹内容
/// </summary>
public string TrackContentName { get; set; }
/// <summary>
/// 推送轨迹内容英文
/// </summary>
public string TrackEnContentName { get; set; }
/// <summary>
/// 推送轨迹发生地
/// </summary>
public string TrackPlaceName { get; set; }
/// <summary>
/// 推送轨迹状态
/// </summary>
public string TrackStatusName { get; set; }
/// <summary>
/// 轨迹模板
/// </summary>
public List<DropdownListDataDto> TrackTemplate { get; set; }
/// <summary>
/// 轨迹模板id
/// </summary>
public int TrackTemplateId { get; set; }
/// <summary>
/// 推送轨迹发生时间
/// </summary>
public string TrackTimeName { get; set; }
}

View File

@ -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<TrackPushConfigEntity>,
}, true)
.ToPagedListAsync(input.PageIndex, input.PageSize);
}
public async Task<GetTrackPushConfigDetailOutputVO> GetDetailAsync(int id)
{
return await AsQueryable()
.LeftJoin<VSystemEntity>((trackPush, system) => trackPush.SubSystemId == system.Id && !system.IsDeleted)
.LeftJoin<VExternalSubjectEntity>((trackPush, system, externalSubject) => trackPush.CustomId == externalSubject.Id && !externalSubject.IsDeleted)
.LeftJoin<VServiceProviderEntity>((trackPush, system, externalSubject, service) => trackPush.ServiceProviderId == service.Id && !service.IsDeleted)
.InnerJoin<TrackPushPullParamsConfigEntity>((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();
}
}