Esempio n. 1
0
 /**
  * 加入到任务
  * @param int $user_id      用户ID
  * @param array $added_ids    添加的联系人ID
  * @param array $updated_ids  更新的联系人ID
  * @param array $deleted_ids  删除的联系人ID
  * @param array $recycled_ids 放入回收站的联系人ID
  * @return void
  */
 public function prepare_task($user_id, $added_ids = array(), $updated_ids = array(), $deleted_ids = array(), $recycled_ids = array())
 {
     $ids = array_merge($added_ids, $updated_ids, $deleted_ids);
     //防止批量操作写过快,读取不到上次的历史记录
     if (!empty($ids) or $this->is_history) {
         $this->contact_mapper->add_history($user_id, $this->appid, $this->source, $this->device_id, $this->phone_model, $this->operation, $this->history, $this->is_history, $added_ids, $updated_ids, $deleted_ids, $this->count, $this->category_count);
         $this->update_cache($user_id, 'history_list_update');
     }
     $this->task_data = array('user_id' => $user_id, 'added_ids' => (array) $added_ids, 'updated_ids' => array_diff((array) $updated_ids, $added_ids), 'deleted_ids' => (array) $deleted_ids, 'recycled_ids' => (array) $recycled_ids);
     $this->do_task();
 }