change struct

This commit is contained in:
cano
2024-03-25 06:29:56 +08:00
parent 489090382f
commit 6ce37d789f
11 changed files with 128 additions and 81 deletions

View File

@ -2,12 +2,12 @@
namespace App\Models\Api\Customer;
use App\Bean\Queue\Api\QueueUserActiveStatusBean;
use App\Exceptions\ModelException;
use App\Jobs\Api\UserActiveStatusQueue;
use App\Models\Api\Base\ApiBaseModel;
use App\Models\Api\Post\PostPushBoxModel;
use App\Models\Api\WebSocket\CustomerWsHistoryModel;
use App\Structs\QueueUserActiveStatusStruct;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
@ -114,7 +114,11 @@ class CustomerUserExtendModel extends ApiBaseModel
if ($res) {
//记录日志
$oCustomerChangeInfoLogModel->addUserActiveStatusLog($oUserExtend->uid, $oUserExtend->is_active, self::IS_ACTIVE_YES, CustomerChangeInfoLogModel::REMARK_DAILY_CHECK_USER_ACTIVE_STATUS_YES);
$this->activeUserStatusToQueueProducer($oUserExtend->uid); //投递到消息队列
//投递到消息队列
$oQueueUserActiveStatusBean = new QueueUserActiveStatusBean();
$oQueueUserActiveStatusBean->setUid($oUserExtend->uid);
$oQueueUserActiveStatusBean->setQueueCreatedAt(date('Y-m-d H:i:s'));
UserActiveStatusQueue::putToQueue($oQueueUserActiveStatusBean);
}
} else { //三日内不活跃
if ($oUserExtend->is_active == self::IS_ACTIVE_NO) continue; //已经是不活跃用户
@ -150,7 +154,11 @@ class CustomerUserExtendModel extends ApiBaseModel
if ($res) {
//记录日志
$oCustomerChangeInfoLogModel->addUserActiveStatusLog($uid, $oCustomerUserExtendModel->is_active, self::IS_ACTIVE_YES, CustomerChangeInfoLogModel::REMARK_DAILY_CHECK_USER_ACTIVE_STATUS_YES);
$this->activeUserStatusToQueueProducer($uid); //投递到消息队列
//投递到消息队列
$oQueueUserActiveStatusBean = new QueueUserActiveStatusBean();
$oQueueUserActiveStatusBean->setUid($uid);
$oQueueUserActiveStatusBean->setQueueCreatedAt(date('Y-m-d H:i:s'));
UserActiveStatusQueue::putToQueue($oQueueUserActiveStatusBean);
}
Db::commit();
}catch (\Exception $e){
@ -160,18 +168,10 @@ class CustomerUserExtendModel extends ApiBaseModel
}
//投递到消息队列,处理活跃推送信箱更新问题
function activeUserStatusToQueueProducer($uid): void
{
$params = QueueUserActiveStatusStruct::PARAMS;
$params['uid'] = $uid;
$params['queueCreatedAt'] = date('Y-m-d H:i:s');
UserActiveStatusQueue::dispatch($params)->onQueue(QueueUserActiveStatusStruct::QUEUE_NAME);
}
function activeUserStatusQueueConsumer($params): void
function activeUserStatusQueueConsumer(QueueUserActiveStatusBean $bean): void
{
$uid = $params['uid'];
$uid = $bean->getUid();
$oPostPushBoxModel = new PostPushBoxModel();
$oPostPushBoxModel->pullBigFanMasterPostConsumer($uid);
}

View File

@ -2,7 +2,9 @@
namespace App\Models\Api\Post;
use App\Bean\Queue\Api\QueueAddPostBean;
use App\Exceptions\ModelException;
use App\Jobs\Api\AddPostQueue;
use App\Models\Api\Base\ApiBaseModel;
use App\Models\Api\Post\Structs\PostParamsStruct;
use App\Tools\Tools;
@ -82,7 +84,11 @@ class PostModel extends ApiBaseModel
$aItem['created_at'] = $sDateTime;
$res = $this->addItem($aItem);
if ($res) {
$this->pushToQueue(self::TYPE_POST, $res->id);
//发送到消息队列处理新增post
$oQueueAddPostBean = new QueueAddPostBean();
$oQueueAddPostBean->setId($res->id);
$oQueueAddPostBean->setType(self::TYPE_POST);
AddPostQueue::putToQueue(new QueueAddPostBean(['id' => $res->id, 'type' => $type]));
}
return $res;
}
@ -99,12 +105,6 @@ class PostModel extends ApiBaseModel
}
}
//发送到消息队列处理新增post
function pushToQueue($type, $id): void
{
PostPushBoxModel::addPostQueueProducer(['type' => $type, 'id' => $id]);
}
/**
* @throws ModelException
*/

View File

@ -2,6 +2,7 @@
namespace App\Models\Api\Post;
use App\Bean\Queue\Api\QueueAddPostBean;
use App\Exceptions\ModelException;
use App\Jobs\Api\AddPostQueue;
use App\Models\Api\Base\ApiBaseModel;
@ -9,7 +10,6 @@ use App\Models\Api\Comment\PostCommentModel;
use App\Models\Api\Customer\CustomerUserExtendModel;
use App\Models\Api\Follow\FollowModel;
use App\Models\Api\Post\Structs\PostParamsStruct;
use App\Structs\QueueAddPostStruct;
use App\Tools\CollectOffsetLimit;
use App\Tools\Tools;
use Illuminate\Database\Eloquent\Casts\Attribute;
@ -82,22 +82,16 @@ class PostPushBoxModel extends ApiBaseModel
);
}
public static function addPostQueueProducer(array $params): void
{
AddPostQueue::dispatch($params)->onQueue(QueueAddPostStruct::QUEUE_NAME);
}
/**
* 提交后调用事件,在消费队列跑推送
* @throws ModelException
*/
function addPostQueueConsumer(array $params)
function addPostQueueConsumer(QueueAddPostBean $bean)
{
if (empty($params)) return false;
if (isset($params['id'])) return false;
if (isset($params['type'])) return false;
$id = $params['id'];
$type = $params['type'];
$id = $bean->getId();
$type = $bean->getType();
if (empty($id)) return false;
if (empty($type)) return false;
if (!in_array($type, [self::TYPE_POST, self::TYPE_REPOST, self::TYPE_COMMENT])) return false;
if (empty($id)) return false;