Merge branch 'S06' into test

This commit is contained in:
hardstylewyl 2024-12-17 17:27:00 +08:00
commit a95cd73a5b
24 changed files with 276 additions and 32 deletions

View File

@ -119,4 +119,9 @@ public class BatchUpsertTrackInput : OrderNosInfo
/// </summary> /// </summary>
[Range(-12, 12)] [Range(-12, 12)]
public float? DestinationTimeZone { get; set; } public float? DestinationTimeZone { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string,object>? Extra { get; set; }
} }

View File

@ -91,7 +91,6 @@ public class TrackDetail
/// </summary> /// </summary>
public string? TrackPlacePostcode { get; set; } public string? TrackPlacePostcode { get; set; }
/// <summary> /// <summary>
/// 预计到达时间 /// 预计到达时间
/// </summary> /// </summary>
@ -101,4 +100,9 @@ public class TrackDetail
/// 目的地时区 /// 目的地时区
/// </summary> /// </summary>
public float? DestinationTimeZone { get; set; } public float? DestinationTimeZone { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
} }

View File

@ -123,4 +123,9 @@ public class UpsertTrackInput : OrderNoInfo
/// 当前操作人 /// 当前操作人
/// </summary> /// </summary>
public int OptionUserId { get; set; } public int OptionUserId { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
} }

View File

@ -4,7 +4,8 @@ public class TrackPushInput
{ {
public string OrderNo { get; set; } = null!; public string OrderNo { get; set; } = null!;
public List<TrackItem> Data { get; set; } = new(); //原TrackItem,为了扩展字段入参变更为字典
public List<Dictionary<string,object>> Data { get; set; } = new();
public string Log { get; set; } public string Log { get; set; }
} }
@ -13,7 +14,8 @@ public class TrackUpdateInput
{ {
public string OrderNo { get; set; } = null!; public string OrderNo { get; set; } = null!;
public List<TrackItem> Data { get; set; } = new(); //原TrackItem,为了扩展字段入参变更为字典
public List<Dictionary<string,object>> Data { get; set; } = new();
public string Log { get; set; } public string Log { get; set; }
} }

View File

@ -128,4 +128,9 @@ public class TrackChangeEto
/// 预计到达时间 /// 预计到达时间
/// </summary> /// </summary>
public DateTime? EstimatedDeliveryDate { get; set; } public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
} }

View File

@ -0,0 +1,159 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Events;
/// <summary>
/// 轨迹推送广播模型
/// </summary>
public class TrackPushEto
{
/// <summary>
/// 是否新增
/// </summary>
public OptionType Option { get; set; }
/// <summary>
/// 是否为手动推送
/// </summary>
public bool IsManualPush { get; set; }
/// <summary>
/// 推送是否失败
/// </summary>
public bool IsFailure { get; set; }
/// <summary>
/// 失败原因
/// </summary>
public string? FailureReason { get; set; }
/// <summary>
/// 推送时间
/// </summary>
public DateTime PushTime { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string? OperationMan { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public OrderIdentifier[] OrderIdentifiers { get; set; } = null!;
/// <summary>
/// 轨迹内容代码
/// </summary>
public string TrackCode { get; set; } = null!;
/// <summary>
/// 轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string? EnStatus { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string TrackStatusCode { get; set; }
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 轨迹发生地时区
/// </summary>
public float TrackTimeZone { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
public bool IsVisibility { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
public int Source { get; set; }
/// <summary>
/// 轨迹备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
///轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
}

View File

@ -69,4 +69,9 @@ public struct SystemPushStruct
/// 轨迹发生时区 /// 轨迹发生时区
/// </summary> /// </summary>
public float TrackTimeZone { get; set; } public float TrackTimeZone { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
} }

View File

@ -141,6 +141,11 @@ public class TrackUpsertEvent
/// </summary> /// </summary>
public float? DestinationTimeZone { get; set; } public float? DestinationTimeZone { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
public override string ToString() public override string ToString()
{ {
return return

View File

@ -5,7 +5,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
<GenerateDocumentationFile>True</GenerateDocumentationFile> <GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>7.0.3</Version> <Version>7.0.5</Version>
<GenerateDocumentationFile>True</GenerateDocumentationFile> <GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -12,6 +12,13 @@ public interface ITrackService : IRemoteService
/// <returns></returns> /// <returns></returns>
Task<UnifyResultDto> UpsertTrackAsync(UpsertTrackInput input); Task<UnifyResultDto> UpsertTrackAsync(UpsertTrackInput input);
/// <summary>
/// 批量新增/更新订单轨迹接口
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<UnifyResultDto> BatchUpsertTrackAsync(BatchUpsertTrackInput input);
/// <summary> /// <summary>
/// 删除轨迹 /// 删除轨迹
/// </summary> /// </summary>

View File

@ -225,7 +225,8 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
} }
//排除掉已经删除的轨迹 //排除掉已经删除的轨迹
tracks = tracks.Except(deleteTracks).ToList(); var deleteTrackIds = deleteTracks.Select(m => m.Id).ToList();
tracks = tracks.Where(x => !deleteTrackIds.Contains(x.Id)).ToList();
var orders = await _orderRepository.GetListAsync(x => orderIds.Contains(x.Id), var orders = await _orderRepository.GetListAsync(x => orderIds.Contains(x.Id),
x => new OrderEntity x => new OrderEntity

View File

@ -6,7 +6,6 @@ using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Track.Application.Contract.Events; using SJZY.Track.Application.Contract.Events;
using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
using SJZY.Track.Domain.Dtos.TrackContents; using SJZY.Track.Domain.Dtos.TrackContents;
using SJZY.Track.Domain.Enums; using SJZY.Track.Domain.Enums;
using SJZY.Track.Domain.Queries; using SJZY.Track.Domain.Queries;
@ -93,7 +92,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
OperationMan = eto.OperationMan, OperationMan = eto.OperationMan,
OrderIdentifiers = eto.OrderIdentifiers, OrderIdentifiers = eto.OrderIdentifiers,
CustomId = eto.CustomId, CustomId = eto.CustomId,
SubSystemId = eto.SubSystemId SubSystemId = eto.SubSystemId,
Extra = eto.Extra
}; };
if (eto.IsAdd) if (eto.IsAdd)
@ -199,7 +199,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
return default; return default;
} }
//#7001:未来潜在需求,当轨迹内容匹配预设,记录一个标记,保证下刷过程都是使用预设内衣 //#7001:未来潜在需求,当轨迹内容匹配预设,记录一个标记,保证下刷过程都是使用预设内容
//虽然在引发事件之前做了判断,引发之后并不一定立即处理,在此过程中轨迹内容仍然可能被修改,所以要二次进行判断。 //虽然在引发事件之前做了判断,引发之后并不一定立即处理,在此过程中轨迹内容仍然可能被修改,所以要二次进行判断。
//通过来源指示是否为手动操作 //通过来源指示是否为手动操作
var manualOperation = @event.Source == (int) TrackSourceEnum.Artificial; var manualOperation = @event.Source == (int) TrackSourceEnum.Artificial;
@ -262,7 +262,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackContent = trackContent.TrackContent, TrackContent = trackContent.TrackContent,
TrackPlace = @event.TrackPlace, TrackPlace = @event.TrackPlace,
TrackTime = @event.NewTrackTime ?? @event.TrackTime, TrackTime = @event.NewTrackTime ?? @event.TrackTime,
TrackTimeZone = @event.TrackTimeZone TrackTimeZone = @event.TrackTimeZone,
Extra = @event.Extra
} }
}; };
await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent); await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent);
@ -353,9 +354,11 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
CreateUser = @event.OperationMan ?? GlobalConst.SystemUser, CreateUser = @event.OperationMan ?? GlobalConst.SystemUser,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
//来源轨迹内容,第一次新增的时候使用轨迹内容表提供的 //来源轨迹内容,第一次新增的时候使用轨迹内容表提供的
TrackStatusId = trackContent.TrackStatusId,
TrackStatus = trackContent.TrackStatus, TrackStatus = trackContent.TrackStatus,
TrackStatusCode = trackContent.TrackStatusCode, TrackStatusCode = trackContent.TrackStatusCode,
//跨子系统? //跨子系统?
TrackContentId = trackContent.TrackContentId,
TrackContent = @event.Content ?? trackContent.TrackContent, TrackContent = @event.Content ?? trackContent.TrackContent,
TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent, TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent,
//S06新增轨迹明细字段 //S06新增轨迹明细字段
@ -376,6 +379,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackPlacePostcode = @event.TrackPlacePostcode ?? GlobalConst.EmptyString, TrackPlacePostcode = @event.TrackPlacePostcode ?? GlobalConst.EmptyString,
DestinationTimeZone = @event.DestinationTimeZone, DestinationTimeZone = @event.DestinationTimeZone,
EstimatedDeliveryDate = @event.EstimatedDeliveryDate, EstimatedDeliveryDate = @event.EstimatedDeliveryDate,
Extra = @event.Extra
}; };
track.ZeroTrackTime = Math.Abs(track.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1 track.ZeroTrackTime = Math.Abs(track.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1
@ -432,6 +436,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
track.TrackPlacePostcode = @event.TrackPlacePostcode ?? GlobalConst.EmptyString; track.TrackPlacePostcode = @event.TrackPlacePostcode ?? GlobalConst.EmptyString;
track.DestinationTimeZone = @event.DestinationTimeZone; track.DestinationTimeZone = @event.DestinationTimeZone;
track.EstimatedDeliveryDate = @event.EstimatedDeliveryDate; track.EstimatedDeliveryDate = @event.EstimatedDeliveryDate;
track.Extra = @event.Extra;
updateTracks.Add(track); updateTracks.Add(track);

View File

@ -57,6 +57,16 @@ public class InterfaceRelayParamsConfigOptions
/// </summary> /// </summary>
public string PushTrackInterfaceCode { get; set; } public string PushTrackInterfaceCode { get; set; }
/// <summary>
/// 推送轨迹接口Id
/// </summary>
public int PushTrackInterfaceId { get; set; }
/// <summary>
/// 推送轨迹接口 内容项 参数别名前缀
/// </summary>
public string PushTrackItemParamAliasPrefix { get; set; }
/// <summary> /// <summary>
/// 更新轨迹接口代码 /// 更新轨迹接口代码
/// </summary> /// </summary>

View File

@ -300,8 +300,10 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
CreateUser = GlobalConst.SystemUser, CreateUser = GlobalConst.SystemUser,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
//来源轨迹内容,第一次新增的时候使用轨迹内容表提供的 //来源轨迹内容,第一次新增的时候使用轨迹内容表提供的
TrackStatusId = GlobalConst.NotExistId,
TrackStatus = GlobalConst.EmptyString, TrackStatus = GlobalConst.EmptyString,
TrackStatusCode = GlobalConst.EmptyString, TrackStatusCode = GlobalConst.EmptyString,
TrackContentId = GlobalConst.NotExistId,
TrackContent = GlobalConst.EmptyString, TrackContent = GlobalConst.EmptyString,
TrackEnContent = GlobalConst.EmptyString, TrackEnContent = GlobalConst.EmptyString,
//S06新增轨迹明细字段 //S06新增轨迹明细字段
@ -318,6 +320,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
TrackPlacePostcode = null, TrackPlacePostcode = null,
DestinationTimeZone = null, DestinationTimeZone = null,
EstimatedDeliveryDate = null, EstimatedDeliveryDate = null,
Extra = null
}; };
track.ZeroTrackTime = Math.Abs(track.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1 track.ZeroTrackTime = Math.Abs(track.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1

View File

@ -11,10 +11,10 @@
<PackageReference Include="BSI.Stack.Rabbit" Version="2.1.3" /> <PackageReference Include="BSI.Stack.Rabbit" Version="2.1.3" />
<PackageReference Include="Savorboard.CAP.InMemoryMessageQueue" Version="8.2.1"/> <PackageReference Include="Savorboard.CAP.InMemoryMessageQueue" Version="8.2.1"/>
<PackageReference Include="SJZY.Expand.AliyunOSS" Version="7.0.17" /> <PackageReference Include="SJZY.Expand.AliyunOSS" Version="7.0.17" />
<PackageReference Include="SJZY.InterfaceRelay.Application.Contracts" Version="7.2.3"/> <PackageReference Include="SJZY.InterfaceRelay.Application.Contracts" Version="7.2.5-alpha" />
<PackageReference Include="Volo.Abp.Http.Client" Version="7.0.2" /> <PackageReference Include="Volo.Abp.Http.Client" Version="7.0.2" />
<PackageReference Include="Volo.Abp.FluentValidation" Version="7.0.2" /> <PackageReference Include="Volo.Abp.FluentValidation" Version="7.0.2" />
<PackageReference Include="SJZY.UserCenter.HttpApi" Version="3.0.9-alpha9"/> <PackageReference Include="SJZY.UserCenter.HttpApi" Version="3.1.8.17-alpha" />
<PackageReference Include="SJZY.Expand.CAP" Version="7.8.0" /> <PackageReference Include="SJZY.Expand.CAP" Version="7.8.0" />
<PackageReference Include="DotNetCore.CAP" Version="8.2.0"/> <PackageReference Include="DotNetCore.CAP" Version="8.2.0"/>
<PackageReference Include="DotNetCore.CAP.Dashboard" Version="8.2.0"/> <PackageReference Include="DotNetCore.CAP.Dashboard" Version="8.2.0"/>

View File

@ -8,7 +8,7 @@ using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Aggregates.TrackPushAggregate; using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
using SJZY.Track.Domain.Dtos.TrackPush; using SJZY.Track.Domain.Dtos.TrackPush;
using SJZY.Track.Domain.Queries; using SJZY.Track.Domain.Queries;
using SJZY.UserCenter.HttpApi.Services; using SJZY.UserCenter.HttpApi.Services.User;
using Volo.Abp.Http.Client.DynamicProxying; using Volo.Abp.Http.Client.DynamicProxying;
namespace SJZY.Track.Application.Services.ProvideServices; namespace SJZY.Track.Application.Services.ProvideServices;
@ -23,14 +23,14 @@ public class TrackPushService : ApplicationService, ITrackPushService
private readonly ICapPublisher _capPublisher; private readonly ICapPublisher _capPublisher;
private readonly IOrderRepository _orderRepository; private readonly IOrderRepository _orderRepository;
private readonly IProvideQueries _provideQueries; private readonly IProvideQueries _provideQueries;
private readonly IHttpClientProxy<IRequestCurrentUserService> _requestCurrentUserService; private readonly IHttpClientProxy<IUserBaseInfoService> _requestCurrentUserService;
private readonly ITrackPushConfigRepository _trackPushConfigRepository; private readonly ITrackPushConfigRepository _trackPushConfigRepository;
private readonly ITrackPushRecordEsRepository _trackPushRecordEsRepository; private readonly ITrackPushRecordEsRepository _trackPushRecordEsRepository;
public TrackPushService(IOrderRepository orderRepository public TrackPushService(IOrderRepository orderRepository
, ICapPublisher capPublisher , ICapPublisher capPublisher
, ITrackPushRecordEsRepository trackPushRecordEsRepository , ITrackPushRecordEsRepository trackPushRecordEsRepository
, IHttpClientProxy<IRequestCurrentUserService> requestCurrentUserService , IHttpClientProxy<IUserBaseInfoService> requestCurrentUserService
, ITrackPushConfigRepository trackPushConfigRepository, IProvideQueries provideQueries) , ITrackPushConfigRepository trackPushConfigRepository, IProvideQueries provideQueries)
{ {
_orderRepository = orderRepository; _orderRepository = orderRepository;

View File

@ -79,7 +79,8 @@ public partial class TrackService
TrackPlaceNationId = x.TrackPlaceNationId, TrackPlaceNationId = x.TrackPlaceNationId,
TrackPlacePostcode = x.TrackPlacePostcode, TrackPlacePostcode = x.TrackPlacePostcode,
DestinationTimeZone = x.DestinationTimeZone, DestinationTimeZone = x.DestinationTimeZone,
EstimatedDeliveryDate = x.EstimatedDeliveryDate EstimatedDeliveryDate = x.EstimatedDeliveryDate,
Extra = x.Extra
}).ToList(); }).ToList();
res.Add(item); res.Add(item);

View File

@ -7,6 +7,7 @@ using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Enums; using SJZY.Track.Domain.Enums;
using SJZY.UserCenter.HttpApi.Services; using SJZY.UserCenter.HttpApi.Services;
using SJZY.UserCenter.HttpApi.Services.User;
using Volo.Abp.Http.Client.DynamicProxying; using Volo.Abp.Http.Client.DynamicProxying;
namespace SJZY.Track.Application.Services.ProvideServices; namespace SJZY.Track.Application.Services.ProvideServices;
@ -20,12 +21,12 @@ public partial class TrackService : ApplicationService, ITrackService
{ {
private readonly ICapPublisher _capPublisher; private readonly ICapPublisher _capPublisher;
private readonly IOrderRepository _orderRepository; private readonly IOrderRepository _orderRepository;
private readonly IHttpClientProxy<IRequestCurrentUserService> _requestCurrentUserService; private readonly IHttpClientProxy<IUserBaseInfoService> _requestCurrentUserService;
private readonly ITrackContentRepository _trackContentRepository; private readonly ITrackContentRepository _trackContentRepository;
public TrackService(IOrderRepository orderRepository, ICapPublisher capPublisher, public TrackService(IOrderRepository orderRepository, ICapPublisher capPublisher,
ITrackDetailsEsRepository trackDetailsEsRepository, ITrackContentRepository trackContentRepository, ITrackDetailsEsRepository trackDetailsEsRepository, ITrackContentRepository trackContentRepository,
IHttpClientProxy<IRequestCurrentUserService> requestCurrentUserService) IHttpClientProxy<IUserBaseInfoService> requestCurrentUserService)
{ {
_orderRepository = orderRepository; _orderRepository = orderRepository;
_capPublisher = capPublisher; _capPublisher = capPublisher;
@ -443,10 +444,10 @@ public partial class TrackService : ApplicationService, ITrackService
{ {
SubSystemId = input.SubSystemId, SubSystemId = input.SubSystemId,
CustomId = group.Key, CustomId = group.Key,
OrderIdentifiers = group.Select(order => new OrderIdentifier OrderIdentifiers = group.Select(o => new OrderIdentifier
{ {
OrderId = order.Id, OrderId = o.Id,
OrderNo = order.OrderNo, OrderNo = o.OrderNo,
OrderType = input.OrderType, OrderType = input.OrderType,
}).ToArray(), }).ToArray(),
IsAdd = input.IsAdd, IsAdd = input.IsAdd,
@ -472,6 +473,7 @@ public partial class TrackService : ApplicationService, ITrackService
TrackPlacePostcode = input.TrackPlacePostcode, TrackPlacePostcode = input.TrackPlacePostcode,
EstimatedDeliveryDate = input.EstimatedDeliveryDate, EstimatedDeliveryDate = input.EstimatedDeliveryDate,
DestinationTimeZone = input.DestinationTimeZone, DestinationTimeZone = input.DestinationTimeZone,
Extra = input.Extra
}; };
await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event); await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event);
} }

View File

@ -32,6 +32,11 @@ public class TrackDetailsIndex : IdBaseIndex
/// </summary> /// </summary>
public int OrderType { get; set; } public int OrderType { get; set; }
/// <summary>
/// 轨迹状态Id
/// </summary>
public int TrackStatusId { get; set; } = GlobalConst.NotExistId;
/// <summary> /// <summary>
/// 轨迹状态 /// 轨迹状态
/// </summary> /// </summary>
@ -42,6 +47,11 @@ public class TrackDetailsIndex : IdBaseIndex
/// </summary> /// </summary>
public string TrackStatusCode { get; set; } = GlobalConst.EmptyString; public string TrackStatusCode { get; set; } = GlobalConst.EmptyString;
/// <summary>
/// 轨迹内容Id
/// </summary>
public int TrackContentId { get; set; } = GlobalConst.NotExistId;
/// <summary> /// <summary>
/// 轨迹内容代码 /// 轨迹内容代码
/// </summary> /// </summary>
@ -176,4 +186,9 @@ public class TrackDetailsIndex : IdBaseIndex
/// 签收地时区 /// 签收地时区
/// </summary> /// </summary>
public float? DestinationTimeZone { get; set; } public float? DestinationTimeZone { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public Dictionary<string, object>? Extra { get; set; }
} }

View File

@ -17,6 +17,11 @@ public class TrackContentVO
/// </summary> /// </summary>
public string TrackStatus { get; set; } = null!; public string TrackStatus { get; set; } = null!;
/// <summary>
/// 轨迹内容Id
/// </summary>
public int TrackContentId { get; set; }
/// <summary> /// <summary>
/// 轨迹内容 /// 轨迹内容
/// </summary> /// </summary>

View File

@ -8,17 +8,17 @@ namespace SJZY.Track.Domain.Enums;
public enum TrackSourceEnum public enum TrackSourceEnum
{ {
/// <summary> /// <summary>
/// 外部服务商创建 /// 外部服务商
/// </summary> /// </summary>
[Description("外部服务商创建")] ExternalServiceProvide = 1, [Description("外部服务商")] ExternalServiceProvide = 1,
/// <summary> /// <summary>
/// 内部系统创建 /// 内部系统
/// </summary> /// </summary>
[Description("内部系统创建")] InternalService = 2, [Description("内部系统")] InternalService = 2,
/// <summary> /// <summary>
/// 人工创建 /// 人工
/// </summary> /// </summary>
[Description("人工创建")] Artificial = 3, [Description("人工")] Artificial = 3,
} }

View File

@ -261,6 +261,7 @@ public class TrackContentRepository : BasicRepository<TrackContentEntity>, ITrac
TrackStatusId = x.TrackStatusId, TrackStatusId = x.TrackStatusId,
TrackStatus = y.Status, TrackStatus = y.Status,
TrackStatusCode = y.Code, TrackStatusCode = y.Code,
TrackContentId = x.Id,
TrackContent = x.Content, TrackContent = x.Content,
TrackContentCode = x.Code, TrackContentCode = x.Code,
TrackEnContent = x.EnContent, TrackEnContent = x.EnContent,

View File

@ -173,7 +173,8 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
track.TrackPlaceNationId, track.TrackPlaceNationId,
track.TrackPlacePostcode, track.TrackPlacePostcode,
track.DestinationTimeZone, track.DestinationTimeZone,
track.EstimatedDeliveryDate track.EstimatedDeliveryDate,
track.Extra
}) })
); );
@ -218,7 +219,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
ctx._source.trackPlacePostcode = params.trackPlacePostcode; ctx._source.trackPlacePostcode = params.trackPlacePostcode;
ctx._source.destinationTimeZone = params.destinationTimeZone; ctx._source.destinationTimeZone = params.destinationTimeZone;
ctx._source.estimatedDeliveryDate = params.estimatedDeliveryDate; ctx._source.estimatedDeliveryDate = params.estimatedDeliveryDate;
ctx._source.extra = params.extra;
") ")
.Params(p => p .Params(p => p
.Add("trackPlace", track.TrackPlace) .Add("trackPlace", track.TrackPlace)
@ -241,6 +242,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
.Add("trackPlacePostcode", track.TrackPlacePostcode) .Add("trackPlacePostcode", track.TrackPlacePostcode)
.Add("destinationTimeZone", track.DestinationTimeZone) .Add("destinationTimeZone", track.DestinationTimeZone)
.Add("estimatedDeliveryDate", track.EstimatedDeliveryDate) .Add("estimatedDeliveryDate", track.EstimatedDeliveryDate)
.Add("extra", track.Extra)
) )
) )
); );
@ -294,6 +296,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
ctx._source.trackPlacePostcode = params.trackPlacePostcode; ctx._source.trackPlacePostcode = params.trackPlacePostcode;
ctx._source.destinationTimeZone = params.destinationTimeZone; ctx._source.destinationTimeZone = params.destinationTimeZone;
ctx._source.estimatedDeliveryDate = params.estimatedDeliveryDate; ctx._source.estimatedDeliveryDate = params.estimatedDeliveryDate;
ctx._source.extra = params.extra;
").Params(p => p ").Params(p => p
.Add("trackPlace", track.TrackPlace) .Add("trackPlace", track.TrackPlace)
.Add("trackTime", track.TrackTime) .Add("trackTime", track.TrackTime)
@ -314,8 +317,9 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
.Add("trackPlaceNationId", track.TrackPlaceNationId) .Add("trackPlaceNationId", track.TrackPlaceNationId)
.Add("trackPlacePostcode", track.TrackPlacePostcode) .Add("trackPlacePostcode", track.TrackPlacePostcode)
.Add("destinationTimeZone", track.DestinationTimeZone) .Add("destinationTimeZone", track.DestinationTimeZone)
.Add("estimatedDeliveryDate", track.EstimatedDeliveryDate)) .Add("estimatedDeliveryDate", track.EstimatedDeliveryDate)
)); .Add("extra", track.Extra)
)));
var retryCount = 0; var retryCount = 0;
var updateSuccessful = false; var updateSuccessful = false;

View File

@ -8,9 +8,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="SJZY.LoggerCenter.HttpApi" Version="7.0.5" /> <PackageReference Include="SJZY.LoggerCenter.HttpApi" Version="7.0.5" />
<PackageReference Include="SJZY.OTel.Extension" Version="1.0.6"/> <PackageReference Include="SJZY.OTel.Extension" Version="1.1.3" />
<PackageReference Include="Volo.Abp.Autofac" Version="7.0.2" /> <PackageReference Include="Volo.Abp.Autofac" Version="7.0.2" />
<PackageReference Include="SJZY.UserCenter.HttpApi" Version="3.0.9-alpha9"/> <PackageReference Include="SJZY.UserCenter.HttpApi" Version="3.1.8.17-alpha" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>