Beispiel #1
0
 /**
  * Run the Update
  *
  * @return mixed|void
  */
 public function call()
 {
     $pheal = $this->setScope('corp')->setCorporationID()->getPheal();
     $result = $pheal->MemberTracking(['extended' => 1]);
     foreach ($result->members as $member) {
         $member_info = MemberTrackingModel::firstOrNew(['corporationID' => $this->corporationID, 'characterID' => $member->characterID]);
         $member_info->fill(['name' => $member->name, 'startDateTime' => $member->startDateTime, 'baseID' => $member->baseID, 'base' => $member->base, 'title' => $member->title, 'logonDateTime' => $member->logonDateTime, 'logoffDateTime' => $member->logoffDateTime, 'locationID' => $member->locationID, 'location' => $member->location, 'shipTypeID' => $member->shipTypeID, 'shipType' => $member->shipType, 'roles' => $member->roles, 'grantableRoles' => $member->grantableRoles]);
         $member_info->save();
     }
     // Cleanup members no longer in this corporation
     MemberTrackingModel::where('corporationID', $this->corporationID)->whereNotIn('characterID', array_map(function ($member) {
         return $member->characterID;
     }, (array) $result->members))->delete();
     return;
 }
 /**
  * The required method to handle the Alert.
  *
  * @return mixed
  */
 protected function getData() : Collection
 {
     return MemberTracking::where('logoffDateTime', '<', DB::raw('date_sub(NOW(), INTERVAL 3 MONTH)'))->get();
 }