/** * 移动联系人到回收站 * @param int $user_id 用户ID * @param array $ids 联系人ID * @return array 结果数组 */ public function move_contact_to_recycle($user_id, $ids) { $list = $this->get($user_id); $contact_ids = array_keys($list); $deleted_ids = $statuses = array(); $now = api::get_now_time(); foreach ($ids as $id) { if (in_array($id, $contact_ids)) { $deleted_ids[] = (int) $id; $statuses[$id] = array('status' => 200, 'id' => (int) $id, 'modified_at' => $now); } else { $statuses[$id] = array('status' => 404, 'id' => (int) $id, 'modified_at' => 0); } } if (!empty($deleted_ids)) { //修改前保存快照 if ($this->save_snapshot($user_id)) { $result = $this->contact_mapper->move_contact_to_recycle($user_id, $deleted_ids, $this->get_source_name()); if ($result) { $this->prepare_task($user_id, array(), array(), $deleted_ids); } else { foreach ($deleted_ids as $id) { $statuses[$id]['status'] = 500; } } } else { foreach ($deleted_ids as $id) { $statuses[$id]['status'] = 500; } } } return array_values($statuses); }