TaskSystem/app/job/TaskInformationJob.php

36 lines
1.1 KiB
PHP
Raw Normal View History

2023-08-09 14:43:30 +08:00
<?php
namespace app\job;
2023-08-10 17:10:12 +08:00
use app\common\logic\finance\ShareProfit;
use app\common\model\task\Task;
2023-08-09 14:43:30 +08:00
use think\queue\Job;
2023-08-10 17:10:12 +08:00
/**
* 任务结算执行的具体逻辑
*/
2023-08-09 14:43:30 +08:00
class TaskInformationJob
{
public function fire(Job $job, $data)
{
if ($job->attempts() > 3) {
//通过这个方法可以检查这个任务已经重试了几次了
}
2023-08-10 17:10:12 +08:00
$task_id=explode(',',$data['task_id']);
$task_count=Task::where('id','in',$task_id)->field('nikename')->select();
if(count($task_count)==count($task_id)){
$name=implode(',',$task_count);
$arr['money']=$data['template_info']['money'];
$arr['company_id']=$data['scheduling']['company_id'];
$arr['msg']='来自任务【'.$data['template_info']['title'].'】,执行人:'.$name.',的任务结算';
$arr['sn']=$data['sn'];
$arr['user_id']=$data['user_id'];
(new ShareProfit())->first($arr);
}
2023-08-09 14:43:30 +08:00
//如果任务执行成功后 记得删除任务不然这个任务会重复执行直到达到最大重试次数后失败后执行failed方法
$job->delete();
}
}