jh-admin/app/job/RelationshipChainChangesJob...

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)');
}
}