【优化订单的完结判断逻辑】
https://www.tapd.cn/60863849/prong/stories/view/1160863849001026850
This commit is contained in:
parent
bbc9b3c754
commit
0b65128051
@ -7,11 +7,6 @@ public class TrackPullContentConfigDto
|
||||
/// </summary>
|
||||
public string TrackContentCode { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 是否完结
|
||||
/// </summary>
|
||||
public bool IsCompleted { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务商轨迹状态参数值
|
||||
/// </summary>
|
||||
|
||||
@ -18,7 +18,7 @@ public class TrackChangeAfterUpdateOrderEvent
|
||||
public int[] OrderIds { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 这条轨迹是否意味着完成(只有刷新会设为true)
|
||||
/// 这条轨迹是否意味着订单已完成
|
||||
/// </summary>
|
||||
public bool IsCompleted { get; set; }
|
||||
|
||||
|
||||
@ -16,10 +16,4 @@ public struct TrackRefreshStruct
|
||||
/// 原轨迹报文hash(刷新轨迹重复性校验使用)
|
||||
/// </summary>
|
||||
public string? OriginTrackDataHash { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表示订单是否完成(只由轨迹刷新配置决定)
|
||||
/// todo:能够使得IsCompleted为true的点,全局只有一个:轨迹刷新??
|
||||
/// </summary>
|
||||
public bool IsCompleted { get; set; }
|
||||
}
|
||||
|
||||
@ -64,8 +64,6 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
ServiceProviderName = @event.TrackRefreshData.ServiceProviderName,
|
||||
OriginTrackContent = @event.TrackRefreshData.OriginTrackContent,
|
||||
OriginTrackDataHash = @event.TrackRefreshData.OriginTrackDataHash,
|
||||
// tips:一定要重置为false,父级订单的完成不会使得关联订单完成,关联单也必须由刷新来完成或手动设置完成!!
|
||||
IsCompleted = false
|
||||
};
|
||||
|
||||
// 不同子系统需要做内容映射
|
||||
@ -187,7 +185,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
SubSystemId = @event.SubSystemId,
|
||||
CustomId = @event.CustomId,
|
||||
OrderIds = canNextOrderIds.ToArray(),
|
||||
IsCompleted = @event.TrackRefreshData.IsCompleted,
|
||||
IsCompleted = trackContent.IsCompleted,
|
||||
TrackContent = trackContent.TrackContent,
|
||||
TrackEnContent = trackContent.TrackEnContent,
|
||||
TrackStatusId = trackContent.TrackStatusId,
|
||||
|
||||
@ -252,7 +252,6 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
|
||||
{
|
||||
ServiceProviderName = context.ServiceProviderName,
|
||||
OriginTrackDataHash = originTrackDataHash,
|
||||
IsCompleted = matchedContentConfig.IsCompleted,
|
||||
OriginTrackContent = paramConfig.TrackContentName != null
|
||||
? trackToken[paramConfig.TrackContentName]?.Value<string>()
|
||||
: GlobalConst.EmptyString
|
||||
|
||||
@ -21,4 +21,9 @@ public class TrackContentVO
|
||||
/// 轨迹内容英文
|
||||
/// </summary>
|
||||
public string TrackEnContent { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 是否完成态
|
||||
/// </summary>
|
||||
public bool IsCompleted { get; set; }
|
||||
}
|
||||
|
||||
@ -83,7 +83,8 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
|
||||
TrackStatusId = x.TrackStatusId,
|
||||
TrackStatus = y.Status,
|
||||
TrackContent = x.Content,
|
||||
TrackEnContent = x.EnContent
|
||||
TrackEnContent = x.EnContent,
|
||||
IsCompleted = y.IsCompleted
|
||||
})
|
||||
.FirstAsync();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user