cdiacon
2/20/2017 - 4:33 PM

create-Customers-Subscribed dummy for Magento2

create-Customers-Subscribed dummy for Magento2

<?php

require_once '../vendor/fzaninotto/faker/src/autoload.php';
use \Magento\Framework\App\Bootstrap;
include('../app/bootstrap.php');

$NUMBER_TO_GENERATE = 10000;
$html_bootstrap = Bootstrap::create(BP, $_SERVER);
$set_objectManager = $html_bootstrap->getObjectManager();


$faker = Faker\Factory::create();

$obj_url = \Magento\Framework\App\ObjectManager::getInstance();
$set_storeManager = $obj_url->get('\Magento\Store\Model\StoreManagerInterface');
$get_mediaurl =  $set_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
$get_state = $set_objectManager->get('\Magento\Framework\App\State');
$get_state->setAreaCode('frontend');

// Customer Factory to Create Customer
$get_customerFactory = $set_objectManager->get('\Magento\Customer\Model\CustomerFactory');
$subscriberFactory = $set_objectManager->get('\Magento\Newsletter\Model\SubscriberFactory');
$websiteId = $set_storeManager->getWebsite()->getWebsiteId();

/// Get Store ID
$store = $set_storeManager->getStore();
$storeId = $store->getStoreId();

$subscriber = $subscriberFactory->create();

for($i = 0; $i < $NUMBER_TO_GENERATE ; $i++) {

    // Instantiate object (this is the most important part)
    $customer = $get_customerFactory->create();
    $customer->setWebsiteId($websiteId);

    // set user details
    $setFirstname = $faker->name; // add  First name
    $setLastname = $faker->lastName; // add Last name
    $setEmail = $faker->safeEmail; // add  Email id
    $setPassword = $faker->password; // add  password

    // Preparing data for new customer
    $customer->setEmail($setEmail);
    $customer->setFirstname($setFirstname);
    $customer->setLastname($setLastname);
    $customer->setPassword($setPassword);

    // set user location details
    $setPostcode = $faker->postcode; // add  Post code
    $setCity = $faker->city; // add  city of user
    $setRegion = "New South Wales";
    $setTelephone = $faker->phoneNumber;
    $setFax = $faker->phoneNumber;
    $setCompany = $faker->company;
    $setStreet = $faker->streetName;


    try{
        // Save data
        $customer->save();
        // Add Address For created customer
        $object_addres = $set_objectManager->get('\Magento\Customer\Model\AddressFactory');
        $set_address = $object_addres->create();
        $set_address->setCustomerId($customer->getId())
            ->setFirstname($setFirstname)
            ->setLastname($setLastname)
            ->setCountryId('AT')
            // if  country is USA theen need add state/province
            //->setRegionId('1')
            ->setPostcode($setPostcode)
            ->setCity($setCity)
            ->setTelephone($setTelephone)
            ->setFax($setFax)
            ->setCompany('GMI')
            ->setStreet($setStreet)
            ->setIsDefaultBilling('1')
            ->setIsDefaultShipping('1')
            ->setSaveInAddressBook('1');

        /** @var \Magento\Newsletter\Model\Subscriber $subscriber */
        $subscriber = $subscriberFactory->create();
        $subscriber->setStoreId($storeId)
            ->setCustomerId($customer->getId())
            ->setSubscriberEmail($setEmail)
            ->setSubscriberStatus(\Magento\Newsletter\Model\Subscriber::STATUS_SUBSCRIBED)
            ->save();
    } catch(Exception $exception)
    {
        // error message
        print_r($exception->getMessage());
    }

    echo 'Succesfully Saved, customer : ' . $customer->getEmail()  . PHP_EOL;

}