文件
xionggeshop/addons/shopro/job/CommissionJob.php

41 行
1.4 KiB
PHP

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<?php
namespace addons\shopro\job;
use think\queue\Job;
use think\Db;
/**
* 处理分销任务
*/
class CommissionJob extends BaseJob
{
/**
* 分销商升级
*
* @param Job $job 当前的任务对象
* @param int $userId 升级用户ID
*/
public function agentUpgradeJob(Job $job, $data)
{
// 1.统计用户表、分销商表信息 使用library的Agent类去更新
// 2.检查是否能成为分销商 如果刚好能成为分销商,走新增分销商流程 走library的成为分销商条件
// 3.检查是否能往上升级 走AgentLevel方法 按照权重排序倒序检查
// 4.递归往上继续走
try{
Db::transaction(function () use ($job, $data) {
$userId = is_array($data) ? ($data['userId'] ?? 0) : 0;
$agent = new \addons\shopro\library\commission\Agent($userId);
if(!$agent->user) {
\think\Log::error('queue-' . get_class() . ':分销商ID' . $userId . '不存在');
}else {
$agent->runUpgradeAgentPlan();
}
$job->delete();
});
}catch(\Exception $e) {
\think\Log::error('queue-' . get_class() . ':分销商升级执行失败,错误信息:' . $e->getMessage() . '|' . $e->getLine());
$job->delete();
}
}
}