3declare(strict_types=1);
5namespace Bitrix\Socialnetwork\Collab\Onboarding\Internals\Repository;
7use Bitrix\Main\ArgumentException;
8use Bitrix\Main\ObjectPropertyException;
9use Bitrix\Main\SystemException;
10use Bitrix\Main\Type\DateTime;
11use Bitrix\Socialnetwork\Collab\Onboarding\Entity\JobCollection;
12use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Model\QueueTable;
13use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type;
14use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Repository\Orm\Mapper\JobCollectionMapper;
26 ->setSelect([
'ID',
'COLLAB_ID',
'USER_ID',
'TYPE',
'NEXT_EXECUTION',
'CREATED_DATE'])
27 ->where(
'IS_PROCESSED',
false)
28 ->where(
'NEXT_EXECUTION',
'<=', $from)
34 if ($jobCollectionModel ===
null)
39 return JobCollectionMapper::convertFromOrm($jobCollectionModel);
50 ->setSelect([
'ID',
'COLLAB_ID',
'USER_ID',
'TYPE',
'NEXT_EXECUTION',
'CREATED_DATE'])
51 ->where(
'COLLAB_ID', $collabId)
52 ->where(
'IS_PROCESSED',
false)
53 ->where(
'NEXT_EXECUTION',
'<=', $from)
58 if ($jobCollectionModel ===
null)
63 return JobCollectionMapper::convertFromOrm($jobCollectionModel);
74 ->setSelect([
'ID',
'COLLAB_ID',
'USER_ID',
'TYPE',
'NEXT_EXECUTION',
'CREATED_DATE'])
76 ->where(
'IS_PROCESSED',
false)
77 ->where(
'NEXT_EXECUTION',
'<=', $from)
82 if ($jobCollectionModel ===
null)
87 return JobCollectionMapper::convertFromOrm($jobCollectionModel);
103 'IS_PROCESSED' =>
false,
104 '<=NEXT_EXECUTION' => $from,
108 ->setSelect([
'ID',
'COLLAB_ID',
'USER_ID',
'TYPE',
'NEXT_EXECUTION',
'CREATED_DATE'])
114 if ($jobCollectionModel ===
null)
119 return JobCollectionMapper::convertFromOrm($jobCollectionModel);
124 $jobCollectionModel = JobCollectionMapper::convertToOrm($jobCollection);
125 $jobCollectionModel->save(
true);
133 QueueTable::deleteByFilter(
$filter);
142 QueueTable::updateMulti($commandIds, [
'IS_PROCESSED' =>
true,
'PROCESSED_DATE' =>
new DateTime()]);
151 QueueTable::updateMulti($commandIds, [
'IS_PROCESSED' =>
false]);
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
unmarkAsProcessing(int ... $commandIds)
getByCollabId(int $collabId, DateTime $from=new DateTime())
getAll(DateTime $from=new DateTime(), int $limit=500)
getByUserId(int $userId, DateTime $from=new DateTime())
getByFilter(array $filter, DateTime $from=new DateTime())
add(JobCollection $jobCollection)
deleteByFilter(array $filter)
markAsProcessing(int ... $commandIds)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)