SharedProsperityUserRepository.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\common\repositories\shared;
  3. use app\common\dao\shared\SharedProsperityUserDao;
  4. use app\common\repositories\BaseRepository;
  5. use app\entity\data\shared\SharedProsperityUserEntity;
  6. class SharedProsperityUserRepository extends BaseRepository
  7. {
  8. protected $dao;
  9. /**
  10. * SharedProsperityUserRepository constructor.
  11. * @param SharedProsperityUserDao $dao
  12. */
  13. public function __construct(SharedProsperityUserDao $dao)
  14. {
  15. $this->dao = $dao;
  16. }
  17. /**
  18. * @param int $userId
  19. * @return SharedProsperityUserEntity
  20. */
  21. public function getSharedProsperityUserEntityByUserId(int $userId): SharedProsperityUserEntity
  22. {
  23. $entityList = $this->getSharedProsperityUserEntityListByUserIdList([$userId]);
  24. $entity = array_shift($entityList);
  25. if ($entity instanceof SharedProsperityUserEntity) {
  26. return $entity;
  27. } else {
  28. /** @var SharedProsperityUserEntity */
  29. return SharedProsperityUserEntity::newInstance();
  30. }
  31. }
  32. /**
  33. * @param array $userIdList
  34. * @return SharedProsperityUserEntity[]
  35. */
  36. public function getSharedProsperityUserEntityListByUserIdList(array $userIdList): array
  37. {
  38. return $this->dao->getSharedProsperityUserEntityListByUserIdList($userIdList);
  39. }
  40. public function create($data)
  41. {
  42. return $this->dao->create($data);
  43. }
  44. /**
  45. * @param SharedProsperityUserEntity $sharedProsperityUserEntity
  46. * @return SharedProsperityUserEntity
  47. */
  48. public function createByEntity(SharedProsperityUserEntity $sharedProsperityUserEntity): SharedProsperityUserEntity
  49. {
  50. $result = $this->create($sharedProsperityUserEntity->toUnderlineArray())->toArray();
  51. /** @var SharedProsperityUserEntity $entity */
  52. $entity = SharedProsperityUserEntity::newInstance($result);
  53. return $entity;
  54. }
  55. }