Merge branch 'S06' into test
This commit is contained in:
commit
26c8672c6f
@ -17,11 +17,6 @@ public class GetTrackInput : OrderNosInfo
|
|||||||
/// 排序方式,默认按轨迹发生时间降序
|
/// 排序方式,默认按轨迹发生时间降序
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public SortMethod? SortMethod { get; set; }
|
public SortMethod? SortMethod { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 轨迹模板代码
|
|
||||||
/// </summary>
|
|
||||||
public string? TrackTemplateCode { get; set; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -185,14 +185,15 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
new Track2InterfaceRelaySubSystemContext(@event.SubSystemCode)))
|
new Track2InterfaceRelaySubSystemContext(@event.SubSystemCode)))
|
||||||
{
|
{
|
||||||
var asciiString = Base64Helper.SerializeObject(OptionType.新增.ToString());
|
var asciiString = Base64Helper.SerializeObject(OptionType.新增.ToString());
|
||||||
|
var serviceProviderCode = _pushConfigs.First().ServiceProviderCode;
|
||||||
var r = await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
var r = await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
||||||
_options.CurrentValue.PushTrackInterfaceCode,
|
_options.CurrentValue.PushTrackInterfaceCode,
|
||||||
_pushConfigs.First().ServiceProviderCode, items.Cast<object>().ToList(), GlobalConst.TrackPushCompletedSubscribe,
|
serviceProviderCode, items.Cast<object>().ToList(), GlobalConst.TrackPushCompletedSubscribe,
|
||||||
attach: asciiString);
|
attach: asciiString);
|
||||||
|
|
||||||
if (r.Code != GlobalConst.SuccessCode)
|
if (r.Code != GlobalConst.SuccessCode)
|
||||||
{
|
{
|
||||||
throw new BusinessException(message: $"requestId: {r.RequestId}; {r.Msg}");
|
throw new BusinessException(message: $"requestId: {r.RequestId}; serviceProviderCode:{serviceProviderCode} Msg: {r.Msg}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -235,14 +236,15 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
new Track2InterfaceRelaySubSystemContext(@event.SubSystemCode)))
|
new Track2InterfaceRelaySubSystemContext(@event.SubSystemCode)))
|
||||||
{
|
{
|
||||||
var asciiString = Base64Helper.SerializeObject(OptionType.修改.ToString());
|
var asciiString = Base64Helper.SerializeObject(OptionType.修改.ToString());
|
||||||
|
var serviceProviderCode = _pushConfigs.First().ServiceProviderCode;
|
||||||
var r = await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
var r = await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
||||||
_options.CurrentValue.TrackUpdateInterfaceCode,
|
_options.CurrentValue.TrackUpdateInterfaceCode,
|
||||||
_pushConfigs.First().ServiceProviderCode, items.Cast<object>().ToList(), GlobalConst.TrackPushCompletedSubscribe,
|
serviceProviderCode, items.Cast<object>().ToList(), GlobalConst.TrackPushCompletedSubscribe,
|
||||||
attach: asciiString);
|
attach: asciiString);
|
||||||
|
|
||||||
if (r.Code != GlobalConst.SuccessCode)
|
if (r.Code != GlobalConst.SuccessCode)
|
||||||
{
|
{
|
||||||
throw new BusinessException(message: $"requestId: {r.RequestId}; {r.Msg}");
|
throw new BusinessException(message: $"requestId: {r.RequestId}; serviceProviderCode:{serviceProviderCode} Msg: {r.Msg}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
using SJZY.Track.Domain.Dtos.TrackTemplate;
|
using SJZY.Track.Domain.Dtos.TrackTemplate;
|
||||||
|
using SJZY.Track.Domain.Queries;
|
||||||
|
|
||||||
namespace SJZY.Track.Application.Services.ProvideServices;
|
namespace SJZY.Track.Application.Services.ProvideServices;
|
||||||
|
|
||||||
@ -12,6 +14,8 @@ public partial class TrackService
|
|||||||
{
|
{
|
||||||
private readonly ITrackDetailsEsRepository _trackDetailsEsRepository;
|
private readonly ITrackDetailsEsRepository _trackDetailsEsRepository;
|
||||||
private readonly ITrackTemplateRepository _trackTemplateRepository;
|
private readonly ITrackTemplateRepository _trackTemplateRepository;
|
||||||
|
private readonly IHttpContextAccessor _contextAccessor;
|
||||||
|
private readonly IVSystemQueries _vSystemQueries;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询轨迹(时区补正)
|
/// 查询轨迹(时区补正)
|
||||||
@ -27,9 +31,12 @@ public partial class TrackService
|
|||||||
|
|
||||||
var details = await _trackDetailsEsRepository.GetListAsync(input.SubSystemId, input.OrderType, input.OrderNos);
|
var details = await _trackDetailsEsRepository.GetListAsync(input.SubSystemId, input.OrderType, input.OrderNos);
|
||||||
|
|
||||||
|
//内部子系统不过滤外部轨迹
|
||||||
|
var isFilterExternal = await HasFilterExternalTrack();
|
||||||
|
|
||||||
// 是否对外
|
// 是否对外
|
||||||
var trackCodes = details.Select(x => x.TrackCode)
|
var trackCodes = details.Select(x => x.TrackCode)
|
||||||
.Where(x => x != GlobalConst.EmptyString)
|
.WhereIf(isFilterExternal, x => x != GlobalConst.EmptyString)
|
||||||
.Distinct()
|
.Distinct()
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -90,7 +97,7 @@ public partial class TrackService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 排序
|
// 排序
|
||||||
var sortedList = await TracksOrdered(res, input, input.SortMethod, input.TrackTemplateCode);
|
var sortedList = await TracksOrdered(res, input, input.SortMethod);
|
||||||
|
|
||||||
return new UnifyResultDto<List<GetTrackOutput>>(true, sortedList, "操作成功");
|
return new UnifyResultDto<List<GetTrackOutput>>(true, sortedList, "操作成功");
|
||||||
}
|
}
|
||||||
@ -109,9 +116,12 @@ public partial class TrackService
|
|||||||
|
|
||||||
var details = await _trackDetailsEsRepository.GetListAsync(input.SubSystemId, input.OrderType, input.OrderNos);
|
var details = await _trackDetailsEsRepository.GetListAsync(input.SubSystemId, input.OrderType, input.OrderNos);
|
||||||
|
|
||||||
|
//内部子系统不过滤外部轨迹
|
||||||
|
var isFilterExternal = await HasFilterExternalTrack();
|
||||||
|
|
||||||
// 是否对外
|
// 是否对外
|
||||||
var trackCodes = details.Select(x => x.TrackCode)
|
var trackCodes = details.Select(x => x.TrackCode)
|
||||||
.Where(x => x != GlobalConst.EmptyString)
|
.WhereIf(isFilterExternal, x => x != GlobalConst.EmptyString)
|
||||||
.Distinct()
|
.Distinct()
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -173,8 +183,24 @@ public partial class TrackService
|
|||||||
return new UnifyResultDto<List<GetTrackOutput>>(true, sortedList, "操作成功");
|
return new UnifyResultDto<List<GetTrackOutput>>(true, sortedList, "操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//内部系统展示所有轨迹,外部系统则要求过滤外部轨迹
|
||||||
|
private async Task<bool> HasFilterExternalTrack()
|
||||||
|
{
|
||||||
|
var isFilter = true;
|
||||||
|
if (_contextAccessor.HttpContext!.Request.Headers.TryGetValue(GlobalConst.HTTP_HEADER_SUBSYSTEMID, out var subsystemIdStr))
|
||||||
|
{
|
||||||
|
if (int.TryParse(subsystemIdStr, out var subsystemId))
|
||||||
|
{
|
||||||
|
var systemEntity = await _vSystemQueries.GetFirstAsync(x => x.Id == subsystemId);
|
||||||
|
isFilter = systemEntity?.SystemProperty != 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async Task<List<GetTrackOutput>> TracksOrdered(List<GetTrackOutput> list, OrderNosInfo orderNosInfo, SortMethod? sortMethod, string? trackTemplateCode = null)
|
return isFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private async Task<List<GetTrackOutput>> TracksOrdered(List<GetTrackOutput> list, OrderNosInfo orderNosInfo, SortMethod? sortMethod)
|
||||||
{
|
{
|
||||||
switch (sortMethod)
|
switch (sortMethod)
|
||||||
{
|
{
|
||||||
@ -201,8 +227,7 @@ public partial class TrackService
|
|||||||
//查出订单模板
|
//查出订单模板
|
||||||
var templates = await _trackTemplateRepository.GetTrackTemplateListAsync(new GetTrackTemplateListInputVo
|
var templates = await _trackTemplateRepository.GetTrackTemplateListAsync(new GetTrackTemplateListInputVo
|
||||||
{
|
{
|
||||||
SubSystemId = orderNosInfo.SubSystemId,
|
SubSystemId = orderNosInfo.SubSystemId
|
||||||
TemplateCode = trackTemplateCode
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (templates.Count == 0)
|
if (templates.Count == 0)
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using DotNetCore.CAP;
|
using DotNetCore.CAP;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Application.Contract.Events;
|
using SJZY.Track.Application.Contract.Events;
|
||||||
using SJZY.Track.Application.Contract.Services.ProvideServices;
|
using SJZY.Track.Application.Contract.Services.ProvideServices;
|
||||||
@ -7,6 +8,7 @@ using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
|||||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
using SJZY.Track.Domain.Enums;
|
using SJZY.Track.Domain.Enums;
|
||||||
|
using SJZY.Track.Domain.Queries;
|
||||||
using SJZY.UserCenter.HttpApi.Services;
|
using SJZY.UserCenter.HttpApi.Services;
|
||||||
using SJZY.UserCenter.HttpApi.Services.User;
|
using SJZY.UserCenter.HttpApi.Services.User;
|
||||||
using Volo.Abp.Http.Client.DynamicProxying;
|
using Volo.Abp.Http.Client.DynamicProxying;
|
||||||
@ -27,13 +29,15 @@ public partial class TrackService : ApplicationService, ITrackService
|
|||||||
|
|
||||||
public TrackService(IOrderRepository orderRepository, ICapPublisher capPublisher,
|
public TrackService(IOrderRepository orderRepository, ICapPublisher capPublisher,
|
||||||
ITrackDetailsEsRepository trackDetailsEsRepository, ITrackContentRepository trackContentRepository,
|
ITrackDetailsEsRepository trackDetailsEsRepository, ITrackContentRepository trackContentRepository,
|
||||||
IHttpClientProxy<IUserBaseInfoService> requestCurrentUserService, ITrackTemplateRepository trackTemplateRepository)
|
IHttpClientProxy<IUserBaseInfoService> requestCurrentUserService, ITrackTemplateRepository trackTemplateRepository, IHttpContextAccessor contextAccessor, IVSystemQueries vSystemQueries)
|
||||||
{
|
{
|
||||||
_orderRepository = orderRepository;
|
_orderRepository = orderRepository;
|
||||||
this._orderRepository = orderRepository;
|
this._orderRepository = orderRepository;
|
||||||
_capPublisher = capPublisher;
|
_capPublisher = capPublisher;
|
||||||
_trackContentRepository = trackContentRepository;
|
_trackContentRepository = trackContentRepository;
|
||||||
_requestCurrentUserService = requestCurrentUserService;
|
_requestCurrentUserService = requestCurrentUserService;
|
||||||
|
_vSystemQueries = vSystemQueries;
|
||||||
|
_contextAccessor = contextAccessor;
|
||||||
_trackTemplateRepository = trackTemplateRepository;
|
_trackTemplateRepository = trackTemplateRepository;
|
||||||
_trackDetailsEsRepository = trackDetailsEsRepository;
|
_trackDetailsEsRepository = trackDetailsEsRepository;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ public partial class GlobalConst
|
|||||||
{
|
{
|
||||||
public const string MainDataKey_OrderType = "TrackOrderType";
|
public const string MainDataKey_OrderType = "TrackOrderType";
|
||||||
public const string MainDataKey_TrackQuestionType = "TrackQuestionType";
|
public const string MainDataKey_TrackQuestionType = "TrackQuestionType";
|
||||||
|
public const string HTTP_HEADER_SUBSYSTEMID = "Subsystemid";
|
||||||
public const string SystemUser = "系统";
|
public const string SystemUser = "系统";
|
||||||
public const string EmptyString = "--";
|
public const string EmptyString = "--";
|
||||||
public const int ChunkSize = 100;
|
public const int ChunkSize = 100;
|
||||||
|
|||||||
7
src/SJZY.Track.Domain/Queries/IVSystemQueries.cs
Normal file
7
src/SJZY.Track.Domain/Queries/IVSystemQueries.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
using SJZY.Track.Domain.VEntities;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Domain.Queries;
|
||||||
|
|
||||||
|
public interface IVSystemQueries : IBasicQuery<VSystemEntity>
|
||||||
|
{
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@ namespace SJZY.Track.Domain.VEntities;
|
|||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarTable("v_system")]
|
[SugarTable("v_system")]
|
||||||
public class VSystemEntity : IFullAuditedBasicEntitys
|
public class VSystemEntity : IFullAuditedBasicEntitys, IEntity
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 子系统id
|
/// 子系统id
|
||||||
|
|||||||
8
src/SJZY.Track.Repository/Queries/VSystemQueries.cs
Normal file
8
src/SJZY.Track.Repository/Queries/VSystemQueries.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
using SJZY.Track.Domain.Queries;
|
||||||
|
using SJZY.Track.Domain.VEntities;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Repository.Queries;
|
||||||
|
|
||||||
|
public class VSystemQueries : BasicQuery<VSystemEntity>, IVSystemQueries, ITransientDependency
|
||||||
|
{
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user