在账簿覆盖错误中标明差异字段且保留完整校验
This commit is contained in:
@@ -174,12 +174,16 @@ impl ManualCorporateReplay {
|
||||
let expected = current.financial_replay_identity();
|
||||
let reference_identity = reference.financial_replay_identity();
|
||||
if reference_identity != expected {
|
||||
let differing = expected.as_object().into_iter().flat_map(|value| value.keys())
|
||||
.chain(reference_identity.as_object().into_iter().flat_map(|value| value.keys()))
|
||||
.collect::<BTreeSet<_>>().into_iter().filter(|key| expected.get(*key)!=reference_identity.get(*key))
|
||||
.cloned().collect::<Vec<_>>().join(",");
|
||||
return Err(format!(
|
||||
"manual corporate ledger coverage mismatch: symbol={} observed_at={} expected={} replayed={}",
|
||||
"manual corporate ledger coverage mismatch: symbol={} observed_at={} expected={} replayed={} differing_fields={}",
|
||||
observation.order.symbol,
|
||||
observation.fill.observed_at,
|
||||
digest(&expected)?,
|
||||
digest(&reference_identity)?
|
||||
digest(&reference_identity)?, differing
|
||||
));
|
||||
}
|
||||
let replayed = self.replay(
|
||||
|
||||
Reference in New Issue
Block a user