SharedProsperityGroupUserRepository.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. namespace app\common\repositories\shared;
  3. use app\common\dao\shared\SharedProsperityGroupUserDao;
  4. use app\common\repositories\BaseRepository;
  5. use app\entity\data\shared\SharedProsperityGroupUserEntity;
  6. use think\db\exception\DbException;
  7. class SharedProsperityGroupUserRepository extends BaseRepository
  8. {
  9. protected $dao;
  10. /**
  11. * SharedProsperityGroupUserRepository constructor.
  12. * @param SharedProsperityGroupUserDao $dao
  13. */
  14. public function __construct(SharedProsperityGroupUserDao $dao)
  15. {
  16. $this->dao = $dao;
  17. }
  18. /**
  19. * @param int $id
  20. * @return SharedProsperityGroupUserEntity
  21. */
  22. public function getSharedProsperityGroupUserEntityById(int $id): SharedProsperityGroupUserEntity
  23. {
  24. $entityList = $this->getSharedProsperityGroupUserEntityListByIdList([$id]);
  25. $entity = array_shift($entityList);
  26. if ($entity instanceof SharedProsperityGroupUserEntity) {
  27. return $entity;
  28. } else {
  29. /** @var SharedProsperityGroupUserEntity */
  30. return SharedProsperityGroupUserEntity::newInstance();
  31. }
  32. }
  33. /**
  34. * @param array $idList
  35. * @return SharedProsperityGroupUserEntity[]
  36. */
  37. public function getSharedProsperityGroupUserEntityListByIdList(array $idList): array
  38. {
  39. return $this->dao->getSharedProsperityGroupUserEntityListByIdList($idList);
  40. }
  41. /**
  42. * @param int $userId
  43. * @return SharedProsperityGroupUserEntity
  44. */
  45. public function getSharedProsperityGroupUserEntityByUserId(int $userId): SharedProsperityGroupUserEntity
  46. {
  47. $entityList = $this->getSharedProsperityGroupUserEntityListByIdList([$userId]);
  48. $entity = array_shift($entityList);
  49. if ($entity instanceof SharedProsperityGroupUserEntity) {
  50. return $entity;
  51. } else {
  52. /** @var SharedProsperityGroupUserEntity */
  53. return SharedProsperityGroupUserEntity::newInstance();
  54. }
  55. }
  56. /**
  57. * @param array $userIdList
  58. * @return SharedProsperityGroupUserEntity[]
  59. */
  60. public function getSharedProsperityGroupUserEntityListByUserIdList(array $userIdList): array
  61. {
  62. return $this->dao->getSharedProsperityGroupUserEntityListByUserIdList($userIdList);
  63. }
  64. public function create($data)
  65. {
  66. return $this->dao->create($data);
  67. }
  68. /**
  69. * @param SharedProsperityGroupUserEntity $SharedProsperityGroupUserEntity
  70. * @return SharedProsperityGroupUserEntity
  71. */
  72. public function createByEntity(SharedProsperityGroupUserEntity $SharedProsperityGroupUserEntity): SharedProsperityGroupUserEntity
  73. {
  74. $result = $this->create($SharedProsperityGroupUserEntity->toUnderlineArray())->toArray();
  75. /** @var SharedProsperityGroupUserEntity $entity */
  76. $entity = SharedProsperityGroupUserEntity::newInstance($result);
  77. return $entity;
  78. }
  79. /**
  80. * @param $id
  81. * @param $data
  82. * @return int
  83. */
  84. public function update($id, $data): int
  85. {
  86. try {
  87. return $this->dao->update($id, $data);
  88. } catch (DbException $e) {
  89. return 0;
  90. }
  91. }
  92. /**
  93. * @param SharedProsperityGroupUserEntity $SharedProsperityGroupUserEntity
  94. * @return SharedProsperityGroupUserEntity
  95. */
  96. public function updateByEntity(SharedProsperityGroupUserEntity $SharedProsperityGroupUserEntity): SharedProsperityGroupUserEntity
  97. {
  98. if (empty($SharedProsperityGroupUserEntity->getId())) {
  99. return SharedProsperityGroupUserEntity::newInstance();
  100. }
  101. $result = $this->update($SharedProsperityGroupUserEntity->getId(), $SharedProsperityGroupUserEntity->toUnderlineArray());
  102. if ($result > 0) {
  103. return $this->getSharedProsperityGroupUserEntityById($SharedProsperityGroupUserEntity->getId());
  104. }
  105. return SharedProsperityGroupUserEntity::newInstance();
  106. }
  107. }