1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
JobCacheProxy.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Collab\Onboarding\Internals\Repository\Cache;
6
7use Bitrix\Main\ArgumentException;
8use Bitrix\Main\DI\ServiceLocator;
9use Bitrix\Main\ObjectPropertyException;
10use Bitrix\Main\SystemException;
11use Bitrix\Socialnetwork\Collab\Onboarding\Entity\JobCollection;
12use Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\PromotionService;
13use Bitrix\Socialnetwork\Helper\InstanceTrait;
14
16{
17 use InstanceTrait;
18
19 private JobCacheInterface $cache;
20 private PromotionService $promoService;
21
22 private function __construct()
23 {
24 $this->cache = ServiceLocator::getInstance()->get('socialnetwork.onboarding.job.cache');
25 $this->promoService = ServiceLocator::getInstance()->get('socialnetwork.onboarding.promotion.service');
26 }
27
28 public function getByUserId(int $userId): ?JobCollection
29 {
30 return $this->cache->getByUserId($userId);
31 }
32
37 public function save(array $sortedByUserJobs): void
38 {
39 $this->cache->save($sortedByUserJobs);
40 $this->promoService->onPromotionUpdate($sortedByUserJobs);
41 }
42
47 public function cleanByJobCollection(array $sortedByUserJobs): void
48 {
49 $this->cache->cleanByJobCollection($sortedByUserJobs);
50
51 $cachedByUserJobs = [];
52 foreach (array_keys($sortedByUserJobs) as $userId)
53 {
54 $cachedByUserJobs[$userId] = $this->getByUserId($userId);
55 }
56
57 $this->promoService->onPromotionUpdate($cachedByUserJobs);
58 }
59
60 public function cleanByUserIds(int ...$userIds): void
61 {
62 $this->cache->cleanByUserIds(...$userIds);
63
64 $cachedByUserJobs = [];
65 foreach ($userIds as $userId)
66 {
67 $cachedByUserJobs[$userId] = new JobCollection();
68 }
69
70 $this->promoService->onPromotionUpdate($cachedByUserJobs);
71 }
72
78 public function cleanByCollabIds(int ...$collabIds): void
79 {
80 $this->cache->cleanByCollabIds(...$collabIds);
81 }
82}
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения check_mail.php:18
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804