Как удалить контакты без заказов Есть решение

Закрыл регистрацию и решил почистить контакты.

Хочется удалить контакты без заказов. Может есть скрипт готовый у кого?

Спасибо

1 ответ

  • 1
    Евгений 3 сентября 2017 07:01 # Решение

    Написал небольшой CLI скрипт. Вопрос решен.

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 3 сентября 2017 19:24 #

      Обычно на форумах рассказывают о найденных решениях. Они могут быть полезны другим. Или объясняют, почему считают невозможным для себя сделать это.

      • +1
        Евгений Евгений 4 сентября 2017 03:56 #

        Вопрос решил. Рассказал. :)

        Сейчас хотел тему удалить но не смог. Ссылка удалить просто не работает.

        Скрипт приводить не стал т.к. не совсем шарю в получении списка прав. Написал коряво. Для меня работает прекрасно. У других может снести больше чем нужно.

        Что то типа такого:

        class shopCheckCustomersCli extends waCliController
        {
            public function execute()
            {
                $admins = 0;
                $counter = 0;
                $deleted = 0;
        
                $wc = new waContactModel();
                $scm = new shopCustomerModel();
                $customers = $wc->getAll();
                foreach($customers as $customer){
                    $contact = new waContact($customer['id']);
                    $rights = $contact->getRights('shop');
                    if (count($rights)){
                        $admins++;
                    }else{
                        $data = $scm->getByField('contact_id', $customer['id']);
                        if (isset($data['number_of_orders'])){
                            $counter++;
                        }else{
                            $contact->delete();
                            $deleted++;
                        }
                    }
                }
                echo "\nAdmins: " . $admins . " users\n";
                echo "With orders: " . $counter . " users\n";
                echo "Deleted: " . $deleted . " users\n";
            }
        }

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите