/** * 批量分组 * @param int $user_id 用户ID * @param int $id 分组ID * @param array $ids 联系人ID * @param string $type 分组方式 * @return array */ public function move_contact_category($user_id, $id, $ids, $type) { if ($id) { $old_ids = $this->contact_mapper->get_category_contact($user_id, $id); if ($type == 'add') { $update_ids = array_unique(array_diff($ids, $old_ids)); if ($update_ids and $this->contact_model->save_snapshot($user_id) and $this->contact_mapper->add_contact_category($user_id, $id, $update_ids) and $this->contact_model->update_contact_modified($user_id, $update_ids)) { return $update_ids; } } else { $update_ids = array_unique(array_intersect($ids, $old_ids)); if ($update_ids and $this->contact_model->save_snapshot($user_id) and $this->contact_mapper->delete_contact_category($user_id, $update_ids, $id) and $this->contact_model->update_contact_modified($user_id, $update_ids)) { return $update_ids; } } } else { $update_ids = array_unique($this->contact_mapper->get_valid_category_contact_ids($user_id, $ids)); if ($update_ids and $this->contact_model->save_snapshot($user_id) and $this->contact_mapper->delete_contact_category($user_id, $update_ids) and $this->contact_model->update_contact_modified($user_id, $update_ids)) { return $update_ids; } } return array(); }