更新
This commit is contained in:
@@ -261,8 +261,13 @@ class QywxPromotionMemberSchedulerService
|
||||
return ['pool_id' => $poolId, 'next_member_id' => 0, 'queued' => false, 'blocked' => true];
|
||||
}
|
||||
$appliedUserIds = self::linkRangeUserIds($linkId);
|
||||
$changed = !QywxPromotionMemberRange::same($range['userids'], $appliedUserIds);
|
||||
$alreadyPending = in_array((int) ($sync['status'] ?? 0), [1, 3], true);
|
||||
$departmentJson = (string) (Db::name('qywx_promotion_link')->where('id', $linkId)->value('range_department_json') ?? '[]');
|
||||
$departmentIds = json_decode($departmentJson, true);
|
||||
$changed = !QywxPromotionMemberRange::same($range['userids'], $appliedUserIds)
|
||||
|| !empty($departmentIds);
|
||||
// 活跃或超时的租约、尚未应用的版本都不能仅凭旧快照被重算成“已同步”。
|
||||
$alreadyPending = in_array((int) ($sync['status'] ?? 0), [1, 2, 3], true)
|
||||
|| (int) ($sync['desired_version'] ?? 0) > (int) ($sync['applied_version'] ?? 0);
|
||||
$needsSync = $changed || $alreadyPending;
|
||||
self::upsertSync($poolId, $linkId, $needsSync, $sync, $now);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user