/** * 加入到任务 * @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(); }