73 lines
2.5 KiB
PHP
73 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.gobuysaas.com
|
|
* =========================================================
|
|
*/
|
|
namespace app\job;
|
|
|
|
|
|
use addon\team\job\TeamUpgradationJob;
|
|
use addon\team\model\Member;
|
|
use think\facade\Db;
|
|
use think\facade\Queue;
|
|
use think\queue\Job;
|
|
|
|
class RelationshipChainChangesJob{
|
|
|
|
public function fire(Job $job,$data){
|
|
Db::startTrans();
|
|
try{
|
|
// trace($data, '关系链改变 - 开始处理');
|
|
$memberId = $data['member_id'] ?? 0;
|
|
// 判断:是否存在上级
|
|
$allParent = (new Member())->getAllParent($memberId);
|
|
if(count($allParent) > 0){
|
|
// 是否已经存在关系链信息
|
|
$isHas = (int)model('member_relationship')->getValue([
|
|
['member_id', '=', $memberId]
|
|
], 'id');
|
|
if($isHas > 0) {
|
|
model('member_relationship')->update([
|
|
'relationship_chain' => implode(',',$allParent)
|
|
],[
|
|
['member_id','=',$memberId]
|
|
]);
|
|
}else{
|
|
$siteId = model('member')->getValue([
|
|
['member_id', '=', $memberId]
|
|
],'site_id');
|
|
model('member_relationship')->add([
|
|
'site_id' => $siteId,
|
|
'member_id' => $memberId,
|
|
'relationship_chain' => implode(',',$allParent)
|
|
]);
|
|
}
|
|
// // 增加下级 触发团队升级
|
|
// foreach($allParent as $parentMemberId){
|
|
// Queue::push(TeamUpgradationJob::class,[
|
|
// 'member_id' => $parentMemberId
|
|
// ]);
|
|
// }
|
|
// 触发关系链改变
|
|
(new Member())->RelationshipChainChangesInit($memberId);
|
|
}
|
|
Db::commit();
|
|
}
|
|
catch(\Exception $e){
|
|
$data['error_msg'] = $e->getMessage();
|
|
trace($data, '关系链改变 - 失败');
|
|
Db::rollback();
|
|
}
|
|
$job->delete();
|
|
}
|
|
|
|
|
|
public function failed($data){
|
|
trace($data, '关系链改变 - 失败(failed)');
|
|
}
|
|
}
|