Rev 6849 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Command;use Symfony\Component\Console\Command\Command;use Symfony\Component\Console\Input\InputInterface;use Symfony\Component\Console\Output\OutputInterface;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Log\LoggerInterface;use LeadersLinked\Mapper\UserMapper;use LeadersLinked\Mapper\CompanyMapper;use LeadersLinked\Mapper\CompanyUserMapper;use LeadersLinked\Model\User;use LeadersLinked\Model\UserType;use LeadersLinked\Model\CompanyUser;use Laminas\Mvc\I18n\Translator;use LeadersLinked\Cache\CacheInterface;class CheckOwnerUserForCompanyCommand extends Command{/**** @var \Laminas\Db\Adapter\AdapterInterface*/private $adapter;/**** @var \LeadersLinked\Cache\CacheInterface*/private $cache;/**** @var \Laminas\Log\LoggerInterface*/private $logger;/**** @var array*/private $config;/**** @var \Laminas\Mvc\I18n\Translator*/private $translator;/**** @param \Laminas\Db\Adapter\AdapterInterface $adapter* @param \LeadersLinked\Cache\CacheInterface $cache* @param \Laminas\Log\LoggerInterface* @param array $config* @param \Laminas\Mvc\I18n\Translator $translator*/public function __construct($adapter, $cache, $logger, $config, $translator){$this->adapter = $adapter;$this->cache = $cache;$this->logger = $logger;$this->config = $config;$this->translator = $translator;parent::__construct();}protected function execute(InputInterface $input, OutputInterface $output) : int{$output->writeln('Cargando las empresas');$companyMapper = CompanyMapper::getInstance($this->adapter);$companyUserMapper = CompanyUserMapper::getInstance($this->adapter);$companies = $companyMapper->fetchAll();foreach($companies as $company){$user = $companyUserMapper->fetchOwnerByCompanyId($company->id);if(!$user) {$output->writeln('Agregando el propietario de la empresa : ' . $company->name);/** Creación del fake user propietario de la empresa */$user = new User();$user->email = 'fake-email'.$company->id;$user->first_name = substr($company->name, 0, 64);$user->last_name = substr($company->name, 64);$user->status = User::STATUS_INACTIVE;$user->blocked = User::BLOCKED_YES;$user->login_attempt = 0;$user->email_verified = User::EMAIL_VERIFIED_YES;$user->show_in_search = User::SHOW_IN_SEARCH_NO;$user->password = 'NO-PASSWORD';$user->usertype_id = UserType::COMPANY;$userMapper = UserMapper::getInstance($this->adapter);if($userMapper->insert($user)) {$companyUser = new CompanyUser();$companyUser->backend = CompanyUser::BACKEND_NO;$companyUser->company_id = $company->id;$companyUser->creator = CompanyUser::CREATOR_NO;$companyUser->owner = CompanyUser::OWNER_YES;$companyUser->status = CompanyUser::STATUS_ACCEPTED;$companyUser->user_id = $user->id;$companyUserMapper->insert($companyUser);}}}$output->writeln('Fin del proceso');return 0;}}