예제 #1
0
 /**
  * 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;
 }