【优化订单的完结判断逻辑】

https://www.tapd.cn/60863849/prong/stories/view/1160863849001026850
This commit is contained in:
xiaolipro 2024-09-06 15:28:08 +08:00
parent bbc9b3c754
commit 0b65128051
7 changed files with 9 additions and 17 deletions

View File

@ -7,11 +7,6 @@ public class TrackPullContentConfigDto
/// </summary> /// </summary>
public string TrackContentCode { get; set; } = null!; public string TrackContentCode { get; set; } = null!;
/// <summary>
/// 是否完结
/// </summary>
public bool IsCompleted { get; set; }
/// <summary> /// <summary>
/// 服务商轨迹状态参数值 /// 服务商轨迹状态参数值
/// </summary> /// </summary>

View File

@ -18,7 +18,7 @@ public class TrackChangeAfterUpdateOrderEvent
public int[] OrderIds { get; set; } = null!; public int[] OrderIds { get; set; } = null!;
/// <summary> /// <summary>
/// 这条轨迹是否意味着完成(只有刷新会设为true) /// 这条轨迹是否意味着订单已完成
/// </summary> /// </summary>
public bool IsCompleted { get; set; } public bool IsCompleted { get; set; }

View File

@ -16,10 +16,4 @@ public struct TrackRefreshStruct
/// 原轨迹报文hash(刷新轨迹重复性校验使用) /// 原轨迹报文hash(刷新轨迹重复性校验使用)
/// </summary> /// </summary>
public string? OriginTrackDataHash { get; set; } public string? OriginTrackDataHash { get; set; }
/// <summary>
/// 表示订单是否完成(只由轨迹刷新配置决定)
/// todo:能够使得IsCompleted为true的点,全局只有一个:轨迹刷新??
/// </summary>
public bool IsCompleted { get; set; }
} }

View File

@ -64,8 +64,6 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
ServiceProviderName = @event.TrackRefreshData.ServiceProviderName, ServiceProviderName = @event.TrackRefreshData.ServiceProviderName,
OriginTrackContent = @event.TrackRefreshData.OriginTrackContent, OriginTrackContent = @event.TrackRefreshData.OriginTrackContent,
OriginTrackDataHash = @event.TrackRefreshData.OriginTrackDataHash, OriginTrackDataHash = @event.TrackRefreshData.OriginTrackDataHash,
// tips:一定要重置为false,父级订单的完成不会使得关联订单完成,关联单也必须由刷新来完成或手动设置完成!!
IsCompleted = false
}; };
// 不同子系统需要做内容映射 // 不同子系统需要做内容映射
@ -187,7 +185,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
SubSystemId = @event.SubSystemId, SubSystemId = @event.SubSystemId,
CustomId = @event.CustomId, CustomId = @event.CustomId,
OrderIds = canNextOrderIds.ToArray(), OrderIds = canNextOrderIds.ToArray(),
IsCompleted = @event.TrackRefreshData.IsCompleted, IsCompleted = trackContent.IsCompleted,
TrackContent = trackContent.TrackContent, TrackContent = trackContent.TrackContent,
TrackEnContent = trackContent.TrackEnContent, TrackEnContent = trackContent.TrackEnContent,
TrackStatusId = trackContent.TrackStatusId, TrackStatusId = trackContent.TrackStatusId,

View File

@ -252,7 +252,6 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
{ {
ServiceProviderName = context.ServiceProviderName, ServiceProviderName = context.ServiceProviderName,
OriginTrackDataHash = originTrackDataHash, OriginTrackDataHash = originTrackDataHash,
IsCompleted = matchedContentConfig.IsCompleted,
OriginTrackContent = paramConfig.TrackContentName != null OriginTrackContent = paramConfig.TrackContentName != null
? trackToken[paramConfig.TrackContentName]?.Value<string>() ? trackToken[paramConfig.TrackContentName]?.Value<string>()
: GlobalConst.EmptyString : GlobalConst.EmptyString

View File

@ -21,4 +21,9 @@ public class TrackContentVO
/// 轨迹内容英文 /// 轨迹内容英文
/// </summary> /// </summary>
public string TrackEnContent { get; set; } = null!; public string TrackEnContent { get; set; } = null!;
/// <summary>
/// 是否完成态
/// </summary>
public bool IsCompleted { get; set; }
} }

View File

@ -83,7 +83,8 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
TrackStatusId = x.TrackStatusId, TrackStatusId = x.TrackStatusId,
TrackStatus = y.Status, TrackStatus = y.Status,
TrackContent = x.Content, TrackContent = x.Content,
TrackEnContent = x.EnContent TrackEnContent = x.EnContent,
IsCompleted = y.IsCompleted
}) })
.FirstAsync(); .FirstAsync();
} }