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; } }