Initial commit: queue workspace

Made-with: Cursor
This commit is contained in:
apple
2026-03-21 02:55:24 +08:00
commit 78de918c37
12388 changed files with 1840126 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\jobs\agent;
use app\services\agent\AgentLevelServices;
use app\services\user\UserServices;
use crmeb\basic\BaseJobs;
use crmeb\traits\QueueTrait;
/**
* 检测分销员等级升级
* Class AgentJob
* @package app\jobs
*/
class AgentJob extends BaseJobs
{
use QueueTrait;
/**
* 执行分销检测升级
* @param $order
* @return bool
*/
public function doJob(int $uid)
{
//检测分销员等级升级
try {
//商城分销是否开启
if (!sys_config('brokerage_func_status')) {
return true;
}
/** @var UserServices $userServices */
$userServices = app()->make(UserServices::class);
$userInfo = $userServices->getUserInfo($uid);
if (!$userInfo) {
return true;
}
//检测自己是否是分销员
// $userServices->checkIsAgent($uid);
///获取上级uid 开启自购返回自己uid
$spread_uid = $userServices->getSpreadUid($uid, $userInfo);
$two_spread_uid = 0;
if ($spread_uid > 0 && $one_user_info = $userServices->getUserInfo($spread_uid)) {
$two_spread_uid = $userServices->getSpreadUid($spread_uid, $one_user_info, false);
}
$uids = array_unique([$uid, $spread_uid, $two_spread_uid]);
/** @var AgentLevelServices $agentLevelServices */
$agentLevelServices = app()->make(AgentLevelServices::class);
//检测升级
$agentLevelServices->checkUserLevelFinish($uid, $uids);
} catch (\Throwable $e) {
response_log_write([
'message' => '检测分销等级升级失败,失败原因:' . $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine()
]);
}
return true;
}
}

View File

@@ -0,0 +1,57 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\jobs\agent;
use crmeb\basic\BaseJobs;
use app\services\agent\AgentManageServices;
use crmeb\traits\QueueTrait;
/**
* 自动解除上下级
* Class AutoAgentJob
* @package app\jobs\user
*/
class AutoAgentJob extends BaseJobs
{
use QueueTrait;
/**
* @return string
*/
protected static function queueName()
{
return 'CRMEB_PRO_TASK';
}
/**
* @param $page
* @param $limit
* @param $where
*/
public function doJob($page, $limit, $where)
{
//自动解绑上级绑定
try {
/** @var AgentManageServices $agentManage */
$agentManage = app()->make(AgentManageServices::class);
$agentManage->startRemoveSpread($page, $limit, $where);
} catch (\Throwable $e) {
response_log_write([
'message' => '自动解除上级绑定失败,失败原因:[' . class_basename($this) . ']' . $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine()
]);
}
return true;
}
}

View File

@@ -0,0 +1,41 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\jobs\agent;
use app\services\agent\AgentManageServices;
use crmeb\basic\BaseJobs;
use crmeb\traits\QueueTrait;
/**
* 重置分销有效期
* Class SystemJob
* @package app\jobs
*/
class SystemJob extends BaseJobs
{
use QueueTrait;
/**
* 重置绑定时间
* @return bool
*/
public function resetSpreadTime()
{
/** @var AgentManageServices $agentManage */
$agentManage = app()->make(AgentManageServices::class);
$agentManage->resetSpreadTime();
return true;
}
}