This commit is contained in:
Your Name
2026-09-07 10:07:47 +08:00
parent cf3fbdc5ef
commit d5164b7369
388 changed files with 19863 additions and 18720 deletions
+24 -8
View File
@@ -33,17 +33,32 @@ conversionFanRuleExpect(
'会话存档同意是独立能力,不能再次成为加粉统计的硬性条件'
);
conversionFanRuleExpect(
str_contains($methodSource, "'del_external_contact'")
&& str_contains($methodSource, 'surviving_del.event_time >= surviving_e.event_time'),
'加粉统计必须继续识别区间内已删除客户'
str_contains($methodSource, 'surviving_del.change_type = ?')
&& str_contains($methodSource, 'surviving_del.id > surviving_e.id'),
'加粉统计必须继续识别员工+客户组合的期末删除状态'
);
conversionFanRuleExpect(
str_contains($methodSource, 'e.id AS add_event_id')
&& str_contains($methodSource, 'e.event_time AS add_time'),
'加粉统计必须保留组合最早新增事件用于渠道和时间归属'
);
conversionFanRuleExpect(
str_contains($methodSource, 'prev_e.user_id = e.user_id')
&& str_contains($methodSource, 'prev_e.external_userid = e.external_userid')
&& str_contains($methodSource, 'earlier_e.user_id = e.user_id')
&& str_contains($methodSource, 'earlier_e.external_userid = e.external_userid'),
'加粉统计必须以员工+客户为组合键,不能只按客户跨员工去重'
);
conversionFanRuleExpect(
str_contains($methodSource, "['add_external_contact', \$startTimestamp]"),
'加粉统计必须继续排除区间开始前已添加的重加客户'
'同一员工+客户在区间开始前已经存在时不能再次算新增组合'
);
conversionFanRuleExpect(
str_contains($methodSource, "->group('e.user_id, e.external_userid')"),
'加粉统计必须继续按员工和客户去重'
substr_count($methodSource, 'MediaChannelService::applyExternalUserEventChannelFilter(') === 2
&& str_contains($methodSource, "'e.id'")
&& str_contains($methodSource, "'e.external_userid'")
&& str_contains($methodSource, "'e.user_id'"),
'有效与已删加粉都必须按事件ID及同一员工读取渠道快照'
);
$excludeMethod = new ReflectionMethod(ConversionLogic::class, 'excludeUncountedFanPairs');
@@ -75,8 +90,9 @@ $pageSource = file_get_contents(
conversionFanRuleExpect(
is_string($pageSource)
&& !str_contains($pageSource, '须会话同意')
&& str_contains($pageSource, '区间新增加粉(含已删除)'),
'页面口径须说明加粉包含已删除客户,且不能继续宣称依赖会话存档同意'
&& str_contains($pageSource, '同一员工的同一客户只计一次')
&& str_contains($pageSource, '同一客户进入不同员工分别计数'),
'页面口径须说明按员工+客户去重且不同员工分别计数'
);
echo "Conversion fan event rule: OK\n";