<?php
namespace App\Entity;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
use Symfony\Component\Security\Core\User\UserInterface;
use Doctrine\ORM\Mapping as ORM;
use App\Util\SecurityUtil;
use App\Entity\Traits\UserPropertyTrait;
use App\Entity\Traits\ReviewBatchMethodTrait;
use App\Entity\Traits\NameTrait;
/**
*
* @ORM\Entity(repositoryClass="App\Repository\ReviewerRepository")
* @UniqueEntity("username")
*/
class Reviewer implements UserInterface, PasswordAuthenticatedUserInterface
{
use UserPropertyTrait, ReviewBatchMethodTrait;
const NAME = '评审专家';
/**
*
* @ORM\ManyToOne(targetEntity="ReviewBatch")
*/
protected $reviewBatch;
/**
*
* @ORM\Column
*/
protected $password;
/**
*
* @see UserInterface
*/
public function getRoles(): array
{
return [
SecurityUtil::ROLE_REVIEWER
];
}
public function getPassword(): ?string
{
return $this->password;
}
public function setPassword(string $password)
{
$this->password = $password;
}
}