/** * Get member by birth according score rule trigger time * @param string $triggerTime * @return member list */ private function getMembers($accountId, $triggerTime, $memberId = null) { $timeCondition = $this->getTimeCondition($triggerTime); $memberIds = []; if (!empty($timeCondition['timeFrom']) && !empty($timeCondition['timeTo'])) { if (empty($memberId)) { $members = Member::searchByBirth($timeCondition['timeFrom'], $timeCondition['timeTo'], $accountId); $memberIds = Member::getIdList($members); } else { $condition = ['birth' => ['$gte' => $timeCondition['timeFrom'], '$lte' => $timeCondition['timeTo']]]; $member = Member::findByPk($memberId, $condition); if (!empty($member)) { $memberIds = [$member->_id]; } } } return $memberIds; }