| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- namespace app\common\repositories\shared;
- use app\common\dao\shared\SharedProsperityUserDao;
- use app\common\repositories\BaseRepository;
- use app\entity\data\shared\SharedProsperityUserEntity;
- use think\db\exception\DbException;
- class SharedProsperityUserRepository extends BaseRepository
- {
- protected $dao;
- /**
- * SharedProsperityUserRepository constructor.
- * @param SharedProsperityUserDao $dao
- */
- public function __construct(SharedProsperityUserDao $dao)
- {
- $this->dao = $dao;
- }
- /**
- * @param int $userId
- * @return SharedProsperityUserEntity
- */
- public function getSharedProsperityUserEntityByUserId(int $userId): SharedProsperityUserEntity
- {
- $entityList = $this->getSharedProsperityUserEntityListByUserIdList([$userId]);
- $entity = array_shift($entityList);
- if ($entity instanceof SharedProsperityUserEntity) {
- return $entity;
- } else {
- /** @var SharedProsperityUserEntity */
- return SharedProsperityUserEntity::newInstance();
- }
- }
- /**
- * @param array $userIdList
- * @return SharedProsperityUserEntity[]
- */
- public function getSharedProsperityUserEntityListByUserIdList(array $userIdList): array
- {
- return $this->dao->getSharedProsperityUserEntityListByUserIdList($userIdList);
- }
- public function create($data)
- {
- return $this->dao->create($data);
- }
- /**
- * @param SharedProsperityUserEntity $sharedProsperityUserEntity
- * @return SharedProsperityUserEntity
- */
- public function createByEntity(SharedProsperityUserEntity $sharedProsperityUserEntity): SharedProsperityUserEntity
- {
- $result = $this->create($sharedProsperityUserEntity->toUnderlineArray())->toArray();
- /** @var SharedProsperityUserEntity $entity */
- $entity = SharedProsperityUserEntity::newInstance($result);
- return $entity;
- }
- /**
- * @param $id
- * @param $data
- * @return int
- */
- public function update($id, $data): int
- {
- try {
- return $this->dao->update($id, $data);
- } catch (DbException $e) {
- return 0;
- }
- }
- /**
- * @param SharedProsperityUserEntity $sharedProsperityUserEntity
- * @return SharedProsperityUserEntity
- */
- public function updateByEntity(SharedProsperityUserEntity $sharedProsperityUserEntity): SharedProsperityUserEntity
- {
- if (empty($sharedProsperityUserEntity->getId())) {
- return SharedProsperityUserEntity::newInstance();
- }
- $result = $this->update($sharedProsperityUserEntity->getId(), $sharedProsperityUserEntity->toUnderlineArray());
- if ($result > 0) {
- return $this->getSharedProsperityUserEntityByUserId($sharedProsperityUserEntity->getUserId());
- }
- return SharedProsperityUserEntity::newInstance();
- }
- /**
- * 绑定 上级
- * @param int $userId
- * @param int $parentId
- * @return bool
- */
- public function bindParentId(int $userId, int $parentId): bool
- {
- $sharedProsperityUserEntity = $this->getSharedProsperityUserEntityByUserId($userId);
- if (empty($sharedProsperityUserEntity->getUserId())) {
- return false;
- }
- $sharedProsperityUserEntityByParentId = $this->getSharedProsperityUserEntityByUserId($parentId);
- if (empty($sharedProsperityUserEntityByParentId->getUserId())) {
- return false;
- }
- $sharedProsperityUserEntity = $this->updateByEntity($sharedProsperityUserEntity->setParentId($sharedProsperityUserEntityByParentId->getUserId()));
- if (empty($sharedProsperityUserEntity->getId())) {
- return false;
- }
- return true;
- }
- }
|